qemu/hw/arm
Simon Veith 41678c33aa hw/arm/smmuv3: Align stream table base address to table size
Per the specification, and as observed in hardware, the SMMUv3 aligns
the SMMU_STRTAB_BASE address to the size of the table by masking out the
respective least significant bits in the ADDR field.

Apply this masking logic to our smmu_find_ste() lookup function per the
specification.

ref. ARM IHI 0070C, section 6.3.23.

Signed-off-by: Simon Veith <sveith@amazon.de>
Acked-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Message-id: 1576509312-13083-5-git-send-email-sveith@amazon.de
Cc: Eric Auger <eric.auger@redhat.com>
Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-20 14:03:00 +00:00
..
allwinner-a10.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
armsse.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
armv7m.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
aspeed.c aspeed: Add support for the tacoma-bmc board 2019-12-16 10:46:34 +00:00
aspeed_ast2600.c ast2600: Configure CNTFRQ at 1125MHz 2019-12-20 14:03:00 +00:00
aspeed_soc.c aspeed: Change the "scu" property definition 2019-12-16 10:46:34 +00:00
bcm2835_peripherals.c hw/arm/bcm2835_peripherals: Use the SYS_timer 2019-10-25 13:09:27 +01:00
bcm2836.c hw/arm/bcm2836: Rename cpus[] as cpu[].core 2019-10-25 13:09:27 +01:00
boot.c hw/arm/boot: Set NSACR.{CP11, CP10} in dummy SMC setup routine 2019-11-11 13:44:16 +00:00
collie.c hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
cubieboard.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
digic.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
digic_boards.c hw/arm/digic4: Inline digic4_board_setup_ram() function 2019-10-22 17:44:01 +01:00
exynos4_boards.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
exynos4210.c hw/arm/exynos4210: Use the Samsung s3c SDHCI controller 2019-10-22 17:44:00 +01:00
fsl-imx6.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
fsl-imx6ul.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
fsl-imx7.c hw/arm: Replace global smp variables with machine smp properties 2019-07-05 17:08:03 -03:00
fsl-imx25.c hw/arm/fsl-imx: Add the cpu as child of the SoC object 2019-09-03 16:20:34 +01:00
fsl-imx31.c hw/arm/fsl-imx: Add the cpu as child of the SoC object 2019-09-03 16:20:34 +01:00
gumstix.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
highbank.c hw/arm/highbank: Use AddressSpace when using write_secondary_boot() 2019-10-25 13:09:27 +01:00
imx25_pdk.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
integratorcp.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
Kconfig hw/arm/virt: Enable device memory cold/hot plug with ACPI boot 2019-10-05 17:12:08 -04:00
kzm.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
mainstone.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
Makefile.objs aspeed/soc: Add AST2600 support 2019-10-15 18:09:05 +01:00
mcimx6ul-evk.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
mcimx7d-sabre.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
microbit.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
mps2-tz.c hw/arm/mps2: Use the IEC binary prefix definitions 2019-10-22 17:44:00 +01:00
mps2.c hw/arm/mps2: Use the IEC binary prefix definitions 2019-10-22 17:44:00 +01:00
msf2-soc.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
msf2-som.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
musca.c hw: Move PL031 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:10:27 +02:00
musicpal.c hw/arm/musicpal.c: Switch to transaction-based ptimer API 2019-10-15 18:09:02 +01:00
netduino2.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
nrf51_soc.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
nseries.c hw/arm/nseries: Replace the bluetooth chardev with a "null" chardev 2019-12-16 17:24:07 +01:00
omap1.c hw/arm/omap1: Create the RAM in the board 2019-10-22 17:44:01 +01:00
omap2.c hw/arm/omap2: Create the RAM in the board 2019-10-22 17:44:01 +01:00
omap_sx1.c hw/arm/omap1: Create the RAM in the board 2019-10-22 17:44:01 +01:00
palm.c hw/arm/omap1: Create the RAM in the board 2019-10-22 17:44:01 +01:00
pxa2xx.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pxa2xx_gpio.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pxa2xx_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
raspi.c hw/arm/raspi: Use AddressSpace when using arm_boot::write_secondary_boot 2019-10-25 13:09:27 +01:00
realview.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
sabrelite.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
sbsa-ref.c hw/arm/sbsa-ref: Simplify by moving the gic in the machine state 2019-12-16 10:46:35 +00:00
smmu-common.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
smmu-internal.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3-internal.h hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value 2019-12-20 14:03:00 +00:00
smmuv3.c hw/arm/smmuv3: Align stream table base address to table size 2019-12-20 14:03:00 +00:00
spitz.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
stellaris.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
stm32f205_soc.c Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
strongarm.c hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tosa.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
vexpress.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
virt-acpi-build.c hw/arm/acpi: enable SHPC native hot plug 2019-12-16 10:46:35 +00:00
virt.c target-arm queue: 2019-12-16 13:04:34 +00:00
xilinx_zynq.c hw/arm/xilinx_zynq: Use the IEC binary prefix definitions 2019-10-22 17:44:00 +01:00
xlnx-versal-virt.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
xlnx-versal.c hw/arm: versal: Add the CRP as unimplemented 2019-11-26 13:55:36 +00:00
xlnx-zcu102.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
xlnx-zynqmp.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
z2.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00