qemu-e2k/hw/misc
Niek Linnenbank 34d8df2a1d hw/misc/allwinner-h3-dramc: enforce 64-bit multiply when calculating row mirror address
The allwinner_h3_dramc_map_rows function simulates row addressing behavior
when bootloader software attempts to detect the amount of available SDRAM.

Currently the line that calculates the 64-bit address of the mirrored row
uses a signed 32-bit multiply operation that in theory could result in the
upper 32-bit be all 1s. This commit ensures that the row mirror address
is calculated using only 64-bit operations.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
Message-id: 20200323192944.5967-1-nieklinnenbank@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-03-30 13:18:58 +01:00
..
macio qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
Kconfig hw/misc: Add the STM32F4xx EXTI device 2020-01-17 14:09:29 +00:00
Makefile.objs hw/arm/allwinner-h3: add SDRAM controller device 2020-03-12 16:27:33 +00:00
a9scu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
allwinner-cpucfg.c hw/arm/allwinner: add CPU Configuration module 2020-03-12 16:27:33 +00:00
allwinner-h3-ccu.c hw/arm/allwinner-h3: add Clock Control Unit 2020-03-12 16:27:33 +00:00
allwinner-h3-dramc.c hw/misc/allwinner-h3-dramc: enforce 64-bit multiply when calculating row mirror address 2020-03-30 13:18:58 +01:00
allwinner-h3-sysctrl.c hw/arm/allwinner-h3: add System Control module 2020-03-12 16:27:33 +00:00
allwinner-sid.c hw/arm/allwinner: add Security Identifier device 2020-03-12 16:27:33 +00:00
applesmc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
arm11scu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
arm_integrator_debug.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
arm_l2x0.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
arm_sysctl.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
armsse-cpuid.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
armsse-mhu.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
aspeed_scu.c aspeed/scu: Implement chip ID register 2020-02-21 16:06:59 +00:00
aspeed_sdmc.c arm/aspeed: actually check RAM size 2020-02-19 16:49:54 +00:00
aspeed_xdma.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
auxbus.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
bcm2835_mbox.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_property.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_rng.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
bcm2835_thermal.c hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor 2019-10-25 13:09:27 +01:00
cbus.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
debugexit.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
eccmemctl.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
edu.c qom/object: Use common get/set uint helpers 2020-03-16 23:02:24 +01:00
exynos4210_clk.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
exynos4210_pmu.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
exynos4210_rng.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
grlib_ahb_apb_pnp.c hw/misc/grlib_ahb_apb_pnp: Fix 8-bit accesses 2019-11-05 15:02:33 +01:00
imx2_wdt.c i.MX: Fix inverted register bits in wdt code. 2020-02-13 14:14:52 +00:00
imx6_ccm.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx6_src.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
imx6ul_ccm.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx7_ccm.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx7_gpr.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
imx7_snvs.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
imx25_ccm.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx31_ccm.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx_ccm.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
imx_rngc.c i.MX: add an emulation for RNGC 2020-01-17 14:27:16 +00:00
iotkit-secctl.c hw/misc/iotkit-secctl: Fix writing to 'PPC Interrupt Clear' register 2020-02-21 16:07:00 +00:00
iotkit-sysctl.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
iotkit-sysinfo.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
ivshmem.c hw/misc/ivshmem: Use one Error * variable instead of two 2020-03-17 16:05:49 +01:00
mac_via.c q800: fix coverity warning CID 1412799 2020-03-12 16:05:48 +01:00
max111x.c migration: Define VMSTATE_INSTANCE_ID_ANY 2020-01-20 09:10:23 +01:00
milkymist-hpdmc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
milkymist-pfpu.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
mips_cmgcr.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mips_cpc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mips_itu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mos6522.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mps2-fpgaio.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mps2-scc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
msf2-sysreg.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mst_fpga.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
nrf51_rng.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
omap_clk.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
omap_gpmc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
omap_l4.c misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
omap_sdrc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
omap_tap.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
pc-testdev.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
pca9552.c misc/pca9552: Add qom set and get 2020-01-30 16:02:02 +00:00
pci-testdev.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
puv3_pm.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
pvpanic.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
sga.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
slavio_misc.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
stm32f2xx_syscfg.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
stm32f4xx_exti.c hw/misc: Add the STM32F4xx EXTI device 2020-01-17 14:09:29 +00:00
stm32f4xx_syscfg.c hw/misc/stm32f4xx_syscfg: Fix copy/paste error 2020-01-23 15:34:04 +00:00
tmp105.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
tmp105.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
tmp421.c Do not use %m in common code to print error messages 2019-10-22 09:38:42 +02:00
trace-events hw/arm/allwinner-h3: add SDRAM controller device 2020-03-12 16:27:33 +00:00
tz-mpc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
tz-msc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
tz-ppc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
unimp.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
vmcoreinfo.c hw/misc/vmcoreinfo: Add comment about reset handler 2019-10-15 18:18:08 -03:00
zynq-xadc.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
zynq_slcr.c target-arm queue: 2019-08-16 17:21:40 +01:00