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 hw/sd/allwinner-sdhost: Use AddressSpace for DMA transfers 2020-08-28 10:02:45 +01:00
allwinner-h3.c target-arm queue: 2020-08-28 15:14:40 +01:00
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 hw/arm/bcm2835_peripherals: connect the UART clock 2020-10-27 11:10:44 +00:00
bcm2836.c hw/arm/bcm2836: Introduce the BCM2835 SoC 2020-10-27 11:10:44 +00:00
boot.c vl: make qemu_get_machine_opts static 2020-12-15 12:51:55 -05:00
collie.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
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 error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
exynos4_boards.c sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1 2020-06-15 22:06:04 +02:00
exynos4210.c qom: simplify object_find_property / object_class_find_property 2020-09-22 16:45:16 -04:00
fsl-imx6.c Add the ability to change the FEC PHY MDIO device number on i.MX6 processor 2020-07-13 14:36:08 +01:00
fsl-imx6ul.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
fsl-imx7.c Add the ability to change the FEC PHY MDIO devices numbers on i.MX7 processor 2020-07-13 14:36:08 +01:00
fsl-imx25.c Add the ability to change the FEC PHY MDIO device number on i.MX25 processor 2020-07-13 14:36:07 +01:00
fsl-imx31.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
gumstix.c hw/arm/gumstix: Simplify since the machines are little-endian only 2020-03-05 16:09:14 +00:00
highbank.c hw/arm/highbank: Drop dead KVM support code 2021-01-08 15:13:38 +00:00
imx25_pdk.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
integratorcp.c qom: simplify object_find_property / object_class_find_property 2020-09-22 16:45:16 -04:00
Kconfig hw/arm: xlnx-zynqmp: Connect a Xilinx CSU DMA module for QSPI 2021-03-10 13:54:51 +00:00
kzm.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
mainstone.c qtest: delete superfluous inclusions of qtest.h 2021-03-09 06:03:53 +01:00
mcimx6ul-evk.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mcimx7d-sabre.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
meson.build hw/arm: Add two NPCM7xx-based machines 2020-09-14 14:24:58 +01:00
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-soc, stellaris: Don't wire up SYSRESETREQ 2020-08-03 17:55:03 +01:00
msf2-som.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
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 hw/arm/nrf51_soc: Set system_clock_scale 2020-08-03 17:55:31 +01:00
nseries.c hw/arm/nseries: Check return value from load_image_targphys() 2020-11-10 11:03:48 +00:00
omap1.c hw/arm/omap1:Remove redundant statement in omap_clkdsp_read() 2020-09-01 11:53:44 +02:00
omap2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap_sx1.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
orangepi.c hw/arm: Display CPU type in machine description 2021-02-03 10:15:51 +00:00
palm.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pxa2xx_gpio.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pxa2xx_pic.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pxa2xx.c qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
raspi.c hw/arm/raspi: Add the Raspberry Pi 3 model A+ 2020-10-27 11:10:44 +00:00
realview.c qom: simplify object_find_property / object_class_find_property 2020-09-22 16:45:16 -04:00
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 error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
strongarm.c qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c hw/arm/virt: vTPM support 2020-03-05 12:18:16 -05:00
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 trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c qom: simplify object_find_property / object_class_find_property 2020-09-22 16:45:16 -04:00
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