+Pierrick

On 29/1/26 17:08, Peter Maydell wrote:
From: Shameer Kolothum <[email protected]>

Set up dedicated PCIIOMMUOps for the accel SMMUv3, since it will need
different callback handling in upcoming patches. This also adds a
CONFIG_ARM_SMMUV3_ACCEL build option so the feature can be disabled
at compile time. Because we now include CONFIG_DEVICES in the header to
check for ARM_SMMUV3_ACCEL, the meson file entry for smmuv3.c needs to
be changed to arm_ss.add.

The “accel” property isn’t user visible yet and it will be introduced in
a later patch once all the supporting pieces are ready.

Signed-off-by: Shameer Kolothum <[email protected]>
Reviewed-by: Nicolin Chen <[email protected]>
Reviewed-by: Jonathan Cameron <[email protected]>
Reviewed-by: Eric Auger <[email protected]>
Tested-by: Zhangfei Gao <[email protected]>
Tested-by: Eric Auger <[email protected]>
Signed-off-by: Shameer Kolothum <[email protected]>
Message-id: [email protected]
Signed-off-by: Peter Maydell <[email protected]>
---
  hw/arm/Kconfig          |  5 ++++
  hw/arm/meson.build      |  3 ++-
  hw/arm/smmuv3-accel.c   | 59 +++++++++++++++++++++++++++++++++++++++++
  hw/arm/smmuv3-accel.h   | 27 +++++++++++++++++++
  hw/arm/smmuv3.c         |  5 ++++
  include/hw/arm/smmuv3.h |  3 +++
  6 files changed, 101 insertions(+), 1 deletion(-)
  create mode 100644 hw/arm/smmuv3-accel.c
  create mode 100644 hw/arm/smmuv3-accel.h

diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 97d747e206..c66c452737 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -626,8 +626,13 @@ config FSL_IMX8MP_EVK
      depends on TCG
      select FSL_IMX8MP
+config ARM_SMMUV3_ACCEL
+    bool
+    depends on ARM_SMMUV3
+
  config ARM_SMMUV3
      bool
+    select ARM_SMMUV3_ACCEL if IOMMUFD
config FSL_IMX6UL
      bool
diff --git a/hw/arm/meson.build b/hw/arm/meson.build
index aeaf654790..c250487e64 100644
--- a/hw/arm/meson.build
+++ b/hw/arm/meson.build
@@ -84,7 +84,8 @@ arm_common_ss.add(when: 'CONFIG_ARMSSE', if_true: 
files('armsse.c'))
  arm_common_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 
'mcimx7d-sabre.c'))
  arm_common_ss.add(when: 'CONFIG_FSL_IMX8MP', if_true: files('fsl-imx8mp.c'))
  arm_common_ss.add(when: 'CONFIG_FSL_IMX8MP_EVK', if_true: 
files('imx8mp-evk.c'))
-arm_common_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmuv3.c'))
+arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmuv3.c'))
+arm_ss.add(when: 'CONFIG_ARM_SMMUV3_ACCEL', if_true: files('smmuv3-accel.c'))

Unfortunately we didn't eradicate arm_ss[] in time due to the raspi /
aspeed SoC 32/64 distinct use of CPU types [*] and we failed to notice
developers are re-introducing its use.

  arm_common_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 
'mcimx6ul-evk.c'))
  arm_common_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c'))
  arm_common_ss.add(when: 'CONFIG_XEN', if_true: files(

[*] https://lore.kernel.org/qemu-devel/cafeaca961wkb4fxwas0whxxkwyeo7tnmovd4z-bpgehr6sx...@mail.gmail.com/

Reply via email to