qemu/hw/arm
Mostafa Saleh 6783a184bb hw/arm/smmu: Refactor SMMU OAS
SMMUv3 OAS is currently hardcoded in the code to 44 bits, for nested
configurations that can be a problem, as stage-2 might be shared with
the CPU which might have different PARANGE, and according to SMMU manual
ARM IHI 0070F.b:
    6.3.6 SMMU_IDR5, OAS must match the system physical address size.

This patch doesn't change the SMMU OAS, but refactors the code to
make it easier to do that:
- Rely everywhere on IDR5 for reading OAS instead of using the
  SMMU_IDR5_OAS macro, so, it is easier just to change IDR5 and
  it propagages correctly.
- Add additional checks when OAS is greater than 48bits.
- Remove unused functions/macros: pa_range/MAX_PA.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Mostafa Saleh <smostafa@google.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20240715084519.1189624-19-smostafa@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2024-07-18 13:49:30 +01:00
..
allwinner-a10.c hw/arm/allwinner: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
allwinner-h3.c hw/arm/allwinner: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
allwinner-r40.c hw/arm/allwinner: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
armsse.c
armv7m.c
aspeed_ast10x0.c aspeed: Make the ast1030-a1 SoC not user creatable 2024-03-25 09:57:56 +01:00
aspeed_ast27x0.c aspeed/soc: set dma64 property for AST2700 ftgmac100 2024-07-09 08:05:44 +02:00
aspeed_ast2400.c aspeed: fix hardcode boot address 0 2024-02-27 13:47:05 +01:00
aspeed_ast2600.c aspeed: Make the ast2600-a3 SoC not user creatable 2024-03-25 09:57:56 +01:00
aspeed_eeprom.c
aspeed_eeprom.h
aspeed_soc_common.c aspeed: introduce a new UART0 device name 2024-02-27 13:47:05 +01:00
aspeed.c aspeed: Deprecate the tacoma-bmc machine 2024-07-02 07:52:43 +02:00
b-l475e-iot01a.c hw/arm : Connect DM163 to B-L475E-IOT01A 2024-04-30 16:05:08 +01:00
bananapi_m2u.c
bcm2835_peripherals.c hw/misc: Implement mailbox properties for customer OTP and device specific private keys 2024-07-01 12:48:55 +01:00
bcm2836.c hw/arm/bcm2836: Remove unusued struct 'BCM283XClass' 2024-06-30 19:51:44 +03:00
bcm2838_peripherals.c hw/arm/bcm2838_peripherals: Add clock_isp stub 2024-02-27 13:01:42 +00:00
bcm2838.c hw/arm: Introduce Raspberry PI 4 machine 2024-02-27 13:01:42 +00:00
boot.c hw: arm: Remove use of tabs in some source files 2024-05-28 14:20:48 +01:00
collie.c
cubieboard.c
digic_boards.c
digic.c
exynos4_boards.c target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
exynos4210.c hw/display/exynos4210_fimd: Pass frame buffer memory region as link 2024-02-26 18:40:09 +01:00
fby35.c
fsl-imx6.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx6ul.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx7.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx25.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx31.c
gumstix.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00
highbank.c hw/ide/ahci: Move SysBus definitions to 'ahci-sysbus.h' 2024-02-15 16:58:46 +01:00
imx25_pdk.c
integratorcp.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
Kconfig hw/arm/xilinx_zynq: Add cache controller 2024-05-30 13:21:06 +01:00
kzm.c hw/net/lan9118: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
mainstone.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00
mcimx6ul-evk.c
mcimx7d-sabre.c
meson.build aspeed/soc: Add AST2700 support 2024-06-16 21:08:54 +02:00
microbit.c
mps2-tz.c hw/arm: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
mps2.c hw/net/lan9118: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
mps3r.c hw/arm/mps3r: Add remaining devices 2024-02-15 14:32:39 +00:00
msf2-soc.c target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
msf2-som.c hw/arm/msf2: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
musca.c hw/arm/musca: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
musicpal.c hw/arm: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
netduino2.c
netduinoplus2.c
npcm7xx_boards.c hw/arm/npcm7xx_boards: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
npcm7xx.c hw/arm/npcm7xx: remove setting of mp-affinity 2024-05-28 14:20:48 +01:00
nrf51_soc.c
nseries.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00
olimex-stm32-h405.c
omap1.c
omap2.c
omap_sx1.c
orangepi.c
palm.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00
pxa2xx_gpio.c
pxa2xx_pic.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
pxa2xx.c
raspi4b.c raspi4b: Reduce RAM to 1Gb on 32-bit hosts 2024-04-02 10:13:48 +01:00
raspi.c hw/arm/raspi4b: Temporarily disable unimplemented rpi4b devices 2024-02-27 13:01:42 +00:00
realview.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
sabrelite.c
sbsa-ref.c hw/arm/sbsa-ref: Enable CPU cluster on ARM sbsa machine 2024-06-21 16:24:46 +01:00
smmu-common.c hw/arm/smmu: Refactor SMMU OAS 2024-07-18 13:49:30 +01:00
smmu-internal.h
smmuv3-internal.h hw/arm/smmu: Refactor SMMU OAS 2024-07-18 13:49:30 +01:00
smmuv3.c hw/arm/smmu: Refactor SMMU OAS 2024-07-18 13:49:30 +01:00
spitz.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00
stellaris.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
stm32f100_soc.c
stm32f205_soc.c
stm32f405_soc.c
stm32l4x5_soc.c hw/arm: In STM32L4x5 SOC, connect USART devices to EXTI 2024-07-11 11:41:34 +01:00
stm32vldiscovery.c
strongarm.c hw/arm/strongarm.c: convert DPRINTF to trace events and guest errors 2024-02-02 13:51:58 +00:00
strongarm.h
tosa.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00
trace-events hw/arm/smmuv3: Support nested SMMUs in smmuv3_notify_iova() 2024-07-18 13:49:30 +01:00
trace.h
versatilepb.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
vexpress.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
virt-acpi-build.c hw/arm/virt-acpi-build: Fix id_count in build_iort_id_mapping 2024-07-03 18:14:06 -04:00
virt.c hw: skip registration of outdated versioned machine types 2024-07-02 06:58:37 +02:00
xen_arm.c hw/arm: xen: Enable use of grant mappings 2024-06-09 20:16:14 +02:00
xilinx_zynq.c hw/arm/xilinx_zynq: Add boot-mode property 2024-07-01 15:40:54 +01:00
xlnx-versal-virt.c aspeed/smc: Only wire flash devices at reset 2024-03-19 11:58:15 +01:00
xlnx-versal.c hw/arm: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
xlnx-zcu102.c
xlnx-zynqmp.c hw/arm: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
z2.c hw/arm: Deprecate various old Arm machine types 2024-03-11 16:42:57 +00:00