qemu-e2k/hw/arm
Zenghui Yu 017a913af4 hw/arm/smmuv3: Emulate CFGI_STE_RANGE for an aligned range of StreamIDs
In emulation of the CFGI_STE_RANGE command, we now take StreamID as the
start of the invalidation range, regardless of whatever the Range is,
whilst the spec clearly states that

 - "Invalidation is performed for an *aligned* range of 2^(Range+1)
    StreamIDs."

 - "The bottom Range+1 bits of the StreamID parameter are IGNORED,
    aligning the range to its size."

Take CFGI_ALL (where Range == 31) as an example, if there are some random
bits in the StreamID field, we'll fail to perform the full invalidation but
get a strange range (e.g., SMMUSIDRange={.start=1, .end=0}) instead. Rework
the emulation a bit to get rid of the discrepancy with the spec.

Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Acked-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20210402100449.528-1-yuzenghui@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-04-12 11:06:24 +01:00
..
allwinner-a10.c
allwinner-h3.c
armsse.c hw/arm/armsse: Add SSE-300 support 2021-03-08 17:20:03 +00:00
armv7m.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
aspeed_ast2600.c hw/misc: Model KCS devices in the Aspeed LPC controller 2021-03-09 12:01:28 +01:00
aspeed_soc.c hw/misc: Model KCS devices in the Aspeed LPC controller 2021-03-09 12:01:28 +01:00
aspeed.c arm: do not use ram_size global 2020-12-10 12:15:07 -05:00
bcm2835_peripherals.c
bcm2836.c
boot.c vl: make qemu_get_machine_opts static 2020-12-15 12:51:55 -05:00
collie.c
cubieboard.c arm: remove bios_name 2020-12-10 12:15:04 -05:00
digic_boards.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
digic.c
exynos4_boards.c
exynos4210.c
fsl-imx6.c
fsl-imx6ul.c
fsl-imx7.c
fsl-imx25.c
fsl-imx31.c
gumstix.c
highbank.c hw/arm/highbank: Drop dead KVM support code 2021-01-08 15:13:38 +00:00
imx25_pdk.c
integratorcp.c
Kconfig hw/arm: xlnx-zynqmp: Connect a Xilinx CSU DMA module for QSPI 2021-03-10 13:54:51 +00:00
kzm.c
mainstone.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
mcimx6ul-evk.c
mcimx7d-sabre.c
meson.build
microbit.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
mps2-tz.c hw/arm/mps2-tz: Add new mps3-an547 board 2021-03-08 17:20:03 +00:00
mps2.c hw/misc/mps2-scc: Support configurable number of OSCCLK values 2021-03-06 13:30:38 +00:00
msf2-soc.c
msf2-som.c
musca.c arm: Update infocenter.arm.com URLs 2021-02-11 11:50:14 +00:00
musicpal.c hw/arm/musicpal: Remove dead code for non-32-bit-RGB surfaces 2021-03-05 15:17:35 +00:00
netduino2.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
netduinoplus2.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
npcm7xx_boards.c hw/arm: Connect PWM fans in NPCM7XX boards 2021-03-12 12:50:36 +00:00
npcm7xx.c hw/arm: Add MFT device to NPCM7xx Soc 2021-03-12 12:50:29 +00:00
nrf51_soc.c
nseries.c hw/arm/nseries: Check return value from load_image_targphys() 2020-11-10 11:03:48 +00:00
omap1.c
omap2.c
omap_sx1.c
orangepi.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
palm.c
pxa2xx_gpio.c
pxa2xx_pic.c
pxa2xx.c qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
raspi.c
realview.c
sabrelite.c hw/arm: sabrelite: Connect the Ethernet PHY at address 6 2021-01-08 15:13:39 +00:00
sbsa-ref.c sbsa-ref: add 'max' to list of allowed cpus 2021-03-05 15:17:33 +00:00
smmu-common.c hw/arm/smmuv3: Enforce invalidation on a power of two range 2021-03-12 12:40:10 +00:00
smmu-internal.h hw/arm/smmuv3: Fix SMMU_CMD_CFGI_STE_RANGE handling 2021-03-12 12:40:10 +00:00
smmuv3-internal.h hw/arm/smmuv3: Drop unused CDM_VALID() and is_cd_valid() 2021-03-30 14:05:33 +01:00
smmuv3.c hw/arm/smmuv3: Emulate CFGI_STE_RANGE for an aligned range of StreamIDs 2021-04-12 11:06:24 +01:00
spitz.c hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
stellaris.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
stm32f205_soc.c hw/misc/stm32f2xx_syscfg: Remove extraneous IRQ 2020-11-10 11:03:48 +00:00
stm32f405_soc.c
strongarm.c qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
strongarm.h
sysbus-fdt.c
tosa.c hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
trace-events hw/arm/smmuv3: Uniformize sid traces 2021-03-12 12:40:10 +00:00
trace.h
versatilepb.c
vexpress.c vexpress-a15: Register "virtualization" as class property 2020-12-14 14:25:44 -05:00
virt-acpi-build.c hw/arm/virt-acpi-build: Fix GSIV values of the {GERR, Sync} interrupts 2021-04-12 11:06:24 +01:00
virt.c target-arm queue: 2021-04-06 16:04:33 +01:00
xilinx_zynq.c hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
xlnx-versal-virt.c arm: xlnx-versal: Connect usb to virt-versal 2020-12-15 12:04:30 +00:00
xlnx-versal.c hw/arm: versal: Add support for the XRAMs 2021-03-12 12:40:09 +00:00
xlnx-zcu102.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
xlnx-zynqmp.c hw/arm: xlnx-zynqmp: Connect a Xilinx CSU DMA module for QSPI 2021-03-10 13:54:51 +00:00
z2.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00