qemu/include/hw/arm
Mostafa Saleh 21eb5b5cde hw/arm/smmuv3: Parse STE config for stage-2
Parse stage-2 configuration from STE and populate it in SMMUS2Cfg.
Validity of field values are checked when possible.

Only AA64 tables are supported and Small Translation Tables (STT) are
not supported.

According to SMMUv3 UM(IHI0070E) "5.2 Stream Table Entry": All fields
with an S2 prefix (with the exception of S2VMID) are IGNORED when
stage-2 bypasses translation (Config[1] == 0).

Which means that VMID can be used(for TLB tagging) even if stage-2 is
bypassed, so we parse it unconditionally when S2P exists. Otherwise
it is set to -1.(only S1P)

As stall is not supported, if S2S is set the translation would abort.
For S2R, we reuse the same code used for stage-1 with flag
record_faults. However when nested translation is supported we would
need to separate stage-1 and stage-2 faults.

Fix wrong shift in STE_S2HD, STE_S2HA, STE_S2S.

Signed-off-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20230516203327.2051088-6-smostafa@google.com
[PMM: fixed format string]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2023-05-30 13:02:53 +01:00
..
allwinner-a10.h hw/arm: Add WDT to Allwinner-A10 and Cubieboard 2023-04-20 10:21:13 +01:00
allwinner-h3.h hw/arm: Add WDT to Allwinner-H3 and Orangepi-PC 2023-04-20 10:21:14 +01:00
armsse-version.h
armsse.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
armv7m.h
aspeed_soc.h aspeed: Introduce a spi_boot region under the SoC 2023-03-02 13:57:50 +01:00
aspeed.h hw/arm/aspeed: Allow machine to set UART default 2021-09-20 08:50:59 +02:00
bcm2835_peripherals.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
bcm2836.h
boot.h hw/arm/boot: Make write_bootloader() public as arm_write_bootloader() 2023-05-02 15:47:40 +01:00
digic.h
exynos4210.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
fdt.h
fsl-imx6.h fsl-imx6: Add SNVS support for i.MX6 boards 2023-05-30 13:02:53 +01:00
fsl-imx6ul.h fsl-imx6ul: Add fec[12]-phy-connected properties 2023-04-20 10:46:19 +01:00
fsl-imx7.h fsl-imx7: Add fec[12]-phy-connected properties 2023-04-20 10:46:35 +01:00
fsl-imx25.h
fsl-imx31.h
linux-boot-if.h
msf2-soc.h
npcm7xx.h hw/arm: Attach PSPI module to NPCM7XX SoC 2023-02-16 16:00:48 +00:00
nrf51_soc.h
nrf51.h
omap.h hw/intc/omap_intc: Use CamelCase for TYPE_OMAP_INTC type name 2023-01-12 17:15:09 +00:00
primecell.h
pxa.h hw/arm/pxa: Avoid forward-declaring PXA2xxI2CState 2023-01-12 17:15:09 +00:00
raspi_platform.h Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
sharpsl.h
smmu-common.h hw/arm/smmuv3: Parse STE config for stage-2 2023-05-30 13:02:53 +01:00
smmuv3.h hw/arm/smmuv3: Parse STE config for stage-2 2023-05-30 13:02:53 +01:00
soc_dma.h
stm32f100_soc.h
stm32f205_soc.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
stm32f405_soc.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
virt.h hw/arm/virt: Consolidate GIC finalize logic 2023-02-03 12:59:22 +00:00
xlnx-versal.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00
xlnx-zynqmp.h hw: Replace qemu_or_irq typedef by OrIRQState 2023-02-27 13:27:05 +00:00