en
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c | 103 ++
hw/arm/smmuv3-accel.h | 5 ++
hw/arm/smmuv3.c | 4 ++
hw/arm/trace-events | 2 +-
4 files changed, 113 insertions(+), 1 deletion(-)
diff --git a/hw/arm/smmuv3-accel.c b/hw/
callback returns the IOMMU address
space if the guest has set up S1 translations for the vfio-pci device.
Otherwise, it returns the system address space.
Suggested-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c | 25 +
hw/pci/pci.c | 19
From: Nicolin Chen
Use the provided smmuv3-accel helper functions to issue the
invalidation commands to host SMMUv3.
Signed-off-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-internal.h | 11 +++
hw/arm/smmuv3.c | 28
2 files
port is in place.
Signed-off-by: Shameer Kolothum
---
hw/arm/meson.build | 3 +-
hw/arm/smmu-common.c | 6 +++-
hw/arm/smmuv3-accel.c| 66
hw/arm/smmuv3-accel.h| 19 +++
include/hw/arm/smmu-common.h | 3 ++
5 files c
functional changes intended.
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 17 +++--
include/hw/arm/smmu-common.h | 1 +
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
index 0f1a06cec2..3a1080773a
Subsequent patches for smmuv3 accel support will make use of this.
Signed-off-by: Nicolin Chen
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 48 ++--
include/hw/arm/smmu-common.h | 6 +
2 files changed, 36
ad and validate host SMMUv3 feature bits
Shameer Kolothum (7):
hw/arm/smmu-common: Factor out common helper functions and export
hw/arm/smmu-common: Introduce smmu_iommu_ops_by_type() helper
hw/arm/smmuv3-accel: Introduce smmuv3 accel device
hw/arm/smmuv3-accel: Restrict accelerate
From: Nicolin Chen
Helpers will batch the commands and issue at once to host SMMUv3.
Signed-off-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c| 65
hw/arm/smmuv3-accel.h| 16 ++
hw/arm/smmuv3-internal.h | 12
Now user can set "accel=on". Have fun!
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
index 6a58f574d3..3e8783670a 100644
--- a/hw/arm/smmu-common.c
+++ b/hw/arm/smmu-common.c
dev to viommu device list
Also add an unset_iommu_device to unwind/cleanup above.
Signed-off-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c| 154 +++
hw/arm/smmuv3-accel.h| 20 +
hw/arm/trace-events | 4
Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c| 130 +++
hw/arm/smmuv3-accel.h| 17 +
hw/arm/smmuv3-internal.h | 4 ++
hw/arm/smmuv3.c | 8 ++-
hw/arm/trace-events | 1 +
5 files changed, 157 insertions(+), 3
ge 1.
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c | 15 +++
hw/arm/virt.c | 12
2 files changed, 27 insertions(+)
diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c
index 0b0ddb03e2..66cd4f5ece 100644
--- a/hw/arm/smmuv3-accel.c
+++ b/h
From: Nicolin Chen
Allocate and associate a vDEVICE object for the Guest device
with the vIOMMU. This will help the kernel to do the
vSID --> sid translation whenever required (eg: device specific
invalidations).
Signed-off-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smm
From: Nicolin Chen
Add a helper to allocate a viommu object.
Signed-off-by: Nicolin Chen
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
backends/iommufd.c | 25 +
backends/trace-events| 1 +
include/system/iommufd.h | 4
3 files changed
nabled,
it must return the IOMMU address space for MSI. Support for this will be
added in a follow-up patch.
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c | 50 -
hw/arm/smmuv3-accel.h | 15 +
hw/arm/smmuv3.c
From: Nicolin Chen
Add a helper to allocate an iommufd device's virtual device (in the user
space) per a viommu instance.
Signed-off-by: Nicolin Chen
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
backends/iommufd.c | 26 ++
backends/trace-e
Flags (decoded below) :
Single Mapping : 0
Note: DSDT changes are not described here as it is not impacted by the
way the SMMUv3 is instantiated.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aar
Now that arm,virt can have user-creatable smmuv3 devices, document it.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
qemu-options.hx | 7 +++
1 file changed, 7 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Reviewed-by: Donald Dutile
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Reviewed-by: Nicolin Chen
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54
> {ITS}
[all other ids] -> {ITS}
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/qtest/bios-tables-test.c | 86 ++
1 file changed, 86 insertions(+)
diff --git a/tests/qtest/bios-tab
common code paths when we add that support.
Tested-by: Nathan Chen
Reviewed-by: Nicolin Chen
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 137 ++-
hw/arm/virt.c
The tests to be added exercise both legacy(iommu=smmuv3) and new
-device arm-smmuv3,.. cases.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev| 0
tests/data/acpi/aarch64/virt
20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (11):
hw/arm/virt-acpi-build: Don't create ITS id mappings by default
hw/arm/smmu-common: Check SMMU has PCIe Root Complex association
hw/arm/virt-acpi-build: R
-by: Eric Auger
Tested-by: Nathan Chen
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 8 +-
hw/arm/smmuv3.c | 2 ++
hw/arm/virt.c| 51
hw/core/sysbus-fdt.c | 3 +++
include
pdate pci_device_get_iommu_bus_devfn() to use iommu_per_bus when
determining the correct IOMMU ops, ensuring accurate behavior for
per-bus IOMMUs.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Tested-by: Eric Auger
Reviewed-by: Nicolin Chen
Signed-off-by: Shameer Kol
: Eric Auger
Reviewed-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c| 31 ++---
hw/pci-bridge/pci_expander_bridge.c | 1 -
include/hw/pci/pci_bridge.h | 1 +
3 files changed, 29 insertions(+), 4 deletions(-)
diff --git
Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 64
1 file changed, 64 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 3c657704bf..9c48301a26 100644
--- a/hw/arm/virt-acpi
2 ("hw/arm/virt-acpi-build: Fix ACPI IORT and MADT tables when
its=off")
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Reviewed-by: Donald Dutile
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 6 --
1 file changed, 6 deletions(-)
diff
-by: Eric Auger
Tested-by: Nathan Chen
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 8 +-
hw/arm/smmuv3.c | 2 ++
hw/arm/virt.c| 51
hw/core/sysbus-fdt.c | 3 +++
include
The tests to be added exercise both legacy(iommu=smmuv3) and new
-device arm-smmuv3,.. cases.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev| 0
tests/data/acpi/aarch64/virt
: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c| 29 ++---
hw/pci-bridge/pci_expander_bridge.c | 1 -
include/hw/pci/pci_bridge.h | 1 +
3 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/hw/arm/smmu-common.c b
Now that arm,virt can have user-creatable smmuv3 devices, document it.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
qemu-options.hx | 7 +++
1 file changed, 7 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
common code paths when we add that support.
Tested-by: Nathan Chen
Reviewed-by: Nicolin Chen
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 137 ++-
hw/arm/virt.c
> {ITS}
[all other ids] -> {ITS}
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/qtest/bios-tables-test.c | 86 ++
1 file changed, 86 insertions(+)
diff --git a/tests/qtest/bios-tab
Flags (decoded below) :
Single Mapping : 0
Note: DSDT changes are not described here as it is not impacted by the
way the SMMUv3 is instantiated.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aar
2 ("hw/arm/virt-acpi-build: Fix ACPI IORT and MADT tables when
its=off")
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Reviewed-by: Donald Dutile
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 6 --
1 file changed, 6 deletions(-)
diff
pdate pci_device_get_iommu_bus_devfn() to use iommu_per_bus when
determining the correct IOMMU ops, ensuring accurate behavior for
per-bus IOMMUs.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/pci/
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Reviewed-by: Nicolin Chen
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Reviewed-by: Donald Dutile
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (11):
hw/arm/virt-acpi-build: Don't create ITS id mappings by default
hw/arm/smmu-common: Check SMMU has PCI
Auger
Tested-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 64
1 file changed, 64 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index cb11b316a2..d2a3914d91 100644
--- a/hw/arm/virt-acpi
Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 64
1 file changed, 64 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index cb11b316a2..d2a3914d91 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt
Now that arm,virt can have user-creatable smmuv3 devices, document it.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
qemu-options.hx | 7 +++
1 file changed, 7 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 1f862b19a6
Flags (decoded below) :
Single Mapping : 0
Note: DSDT changes are not described here as it is not impacted by the
way the SMMUv3 is instantiated.
Reviewed-by: Jonathan Cameron
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev| Bin 0 -> 10
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Reviewed-by: Donald Dutile
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 5
> {ITS}
[all other ids] -> {ITS}
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/qtest/bios-tables-test.c | 86 ++
1 file changed, 86 insertions(+)
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest
common code paths when we add that support.
Tested-by: Nathan Chen
Reviewed-by: Nicolin Chen
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 137 ++-
hw/arm/virt.c| 1
pdate pci_device_get_iommu_bus_devfn() to use iommu_per_bus when
determining the correct IOMMU ops, ensuring accurate behavior for
per-bus IOMMUs.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
Please refer cover letter for more detai
-by: Eric Auger
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 8 +-
hw/arm/smmuv3.c | 2 ++
hw/arm/virt.c| 50
hw/core/sysbus-fdt.c | 3 +++
include/hw/arm/smmu-common.h
The tests to be added exercise both legacy(iommu=smmuv3) and new
-device arm-smmuv3,.. cases.
Reviewed-by: Jonathan Cameron
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev| 0
tests/data/acpi/aarch64/virt/DSDT.smmuv3-legacy | 0
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Reviewed-by: Nicolin Chen
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54
-by: Shameer Kolothum
---
hw/arm/smmu-common.c| 29 ++---
hw/pci-bridge/pci_expander_bridge.c | 1 -
include/hw/pci/pci_bridge.h | 1 +
3 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
el.org/qemu-devel/20250311141045.66620-1-shameerali.kolothum.th...@huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (11):
hw/arm/virt-acpi-build: Don't create ITS id ma
2 ("hw/arm/virt-acpi-build: Fix ACPI IORT and MADT tables when
its=off")
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 6 --
1 file changed, 6 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index cd90c47976..724fad5ffa 100644
--- a/hw/a
Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 55
1 file changed, 55 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 28489cf59f..bde44624cf 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt
We only allow default PCIe Root Complex(pcie.0) or pxb-pcie based extra
root complexes to be associated with SMMU.
Although this change does not affect functionality at present, it is
required when we add support for user-creatable SMMUv3 devices in
future patches.
Signed-off-by: Shameer
common code paths when we add that support.
Tested-by: Nathan Chen
Reviewed-by: Nicolin Chen
Reviewed-by: Jonathan Cameron
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 109 +++
hw/arm/virt.c| 1 +
include/hw/arm/virt.h| 1
Single Mapping : 0
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev| Bin 0 -> 10162 bytes
tests/data/acpi/aarch64/virt/DSDT.smmuv3-legacy | Bin 0 -> 10162 bytes
tests/data/acpi/aarch64/virt/IORT.smmuv3-dev| Bin 0 -> 364 bytes
tests/data/acpi/aar
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Reviewed-by: Nicolin Chen
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Reviewed-by: Jonathan Cameron
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54
output references
pointing to two different SMMUv3 nodes and the remaining ones to ITS.
Signed-off-by: Shameer Kolothum
---
tests/qtest/bios-tables-test.c | 86 ++
1 file changed, 86 insertions(+)
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios
The tests to be added exercises both legacy(iommu=smmuv3) and new
-device arm-smmuv3,.. cases.
Signed-off-by: Shameer Kolothum
---
tests/data/acpi/aarch64/virt/DSDT.smmuv3-dev| 0
tests/data/acpi/aarch64/virt/DSDT.smmuv3-legacy | 0
tests/data/acpi/aarch64/virt/IORT.smmuv3-dev| 0
tests
Now that arm,virt can have user-creatable smmuv3 devices, document it.
Signed-off-by: Shameer Kolothum
---
qemu-options.hx | 7 +++
1 file changed, 7 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 7eb8e02b4b..7d1a12f7ef 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
urate behavior for per-bus IOMMUs.
Signed-off-by: Shameer Kolothum
---
Please refer cover letter for more details on the issue that
this is trying to fix.
---
hw/pci/pci.c | 25 +
include/hw/pci/pci.h | 2 ++
include/hw/pci/pci_bus.h | 1 +
3 files change
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Reviewed-by: Donald Dutile
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 5 -
1 file changed, 4
limitations in QEMU’s device tree support, specifically
its inability to properly present pxb-pcie based root complexes and
their devices, the device tree support for the new SMMUv3 device is
limited to cases where it is attached to the default pcie.0 root complex.
Signed-off-by: Shameer Kolothum
m/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (10):
hw/arm/smmu-common: Check SMMU has PCIe Root Complex association
hw/arm/virt-acpi-build: Re-arrange SMMUv3 IORT build
Now that arm,virt can have user-creatable smmuv3 devices, document it.
Signed-off-by: Shameer Kolothum
---
qemu-options.hx | 6 ++
1 file changed, 6 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 7eb8e02b4b..3edbde45bb 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
rali.kolothum.th...@huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (6):
hw/arm/smmu-common: Check SMMU has PCIe Root Complex association
hw/arm/virt-acpi-build: Re-
Allow cold-plug of smmuv3 device to virt if there is no machine
wide legacy smmuv3 or a virtio-iommu is specified.
Device tree support for new smmuv3 dev is limited to the case where
it is associated with the default pcie.0 RC.
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm
Although this change does not affect functionality at present, it is
required when we add support for user-creatable SMMUv3 devices in
future patches.
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff
:|
| 0x - 0x00FF (from RC0) |
| 0x0100 - 0x01FF (from RC1) |
| 0x0200 - 0x (No SMMU) |
++
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 55
common code paths when we add that support.
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 111 +++
hw/arm/virt.c| 1 +
include/hw/arm/virt.h| 1 +
3 files changed, 79 insertions(+), 34 deletions
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Reviewed-by: Nicolin Chen
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54 +++
1
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Reviewed-by: Donald Dutile
Reviewed-by: Eric Auger
Tested-by: Nathan Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 8 +---
1 file changed, 5
Allow cold-plug of smmuv3 device to virt if there is no machine
wide legacy smmuv3 or a virtio-iommu is specified.
Device tree support for new smmuv3 dev is limited to the case where
it is associated with the default pcie.0 RC.
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 2
Although this change does not affect functionality at present, it is
required when we add support for user-creatable SMMUv3 devices in
future patches.
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 8
1 file changed, 8 insertions(+)
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3
common code paths when we add that support.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 112 +++
hw/arm/virt.c| 1 +
include/hw/arm/virt.h| 1 +
3 files changed, 80 insertions(+), 34 deletions(-)
diff --git a/hw/arm/virt
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Reviewed-by: Nicolin Chen
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54 +++
1 file changed, 29 insertions
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Reviewed-by: Donald Dutile
Reviewed-by: Eric Auger
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions
With the soon to be introduced user-creatable SMMUv3 devices for
virt, it is possible to have multiple SMMUv3 devices associated
with different PCIe root complexes.
Update IORT nodes accordingly.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 54
r
[0]:https://lore.kernel.org/qemu-devel/20250311141045.66620-1-shameerali.kolothum.th...@huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (5):
hw/arm/smmuv3: Check SMMUv3
default_bus_bypass_iommu tells us whether the bypass_iommu is set
for the default PCIe root bus. Make sure we check that before adding
the "iommu-map" DT property.
Fixes: 6d7a85483a06 ("hw/arm/virt: Add default_bus_bypass_iommu machine option")
Suggested-by: Eric Auger
Si
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 54 +++
1 file changed, 29 insertions(+), 25 deletions(-)
diff --git a/hw/arm/virt.c b
With the soon to be introduced user-creatable SMMUv3 devices for
virt, it is possible to have multiple SMMUv3 devices associated
with different PCIe root complexes.
Update IORT nodes accordingly.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 162
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index 605de9b721..e13950b7c5 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -2022,6 +2022,7 @@ static void smmuv3_class_init(ObjectClass *klass, const
Although this change does not affect functionality at present, it lays
the groundwork for enabling user-created SMMUv3 devices in
future patches
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 26 ++
hw/arm/virt.c | 3 ++-
2 files changed, 28 insertions(+), 1
From: Nicolin Chen
This is useful as the subsequent support for new SMMUv3 dev will also
use the same.
Signed-off-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index
Allow cold-plug of smmuv3 device to virt if there is no machine
wide legacy smmuv3 or a virtio-iommu is specified.
Device tree support for new smmuv3 dev is limited to the case where
it is associated with the default pcie.0 RC.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c| 48
//lore.kernel.org/qemu-devel/20250311141045.66620-1-shameerali.kolothum.th...@huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Nicolin Chen (1):
hw/arm/virt: Add an SMMU_IO_LEN macro
Shameer Kolothum (5):
hw/arm/smmuv3: Add support to associate
s a legacy smmuv3
device.
Signed-off-by: Shameer Kolothum
---
ToDo: probably need to change virt <= 9.2 to 10.0 considering the
Qemu cycle we are at now.
---
hw/arm/virt.c | 54 +++
hw/core/sysbus-fdt.c | 3 +++
include/hw/arm/virt.h | 1 +
3
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index e3b8e13ca3..572119e472 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -2026,6 +2026,7 @@ static void smmuv3_dev_class_init(ObjectClass *klass
With the soon to be introduced user-creatable SMMUv3 devices for
virt, it is possible to have multiple SMMUv3 devices associated
with different PCIe root complexes.
Update IORT nodes accordingly.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt-acpi-build.c | 119
.
Thanks,
Shameer
[0]:https://lore.kernel.org/qemu-devel/20250311141045.66620-1-shameerali.kolothum.th...@huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-jonathan.came...@huawei.com/
Shameer Kolothum (5):
hw/arm/smmuv3: Introduce SMMUv3 device
hw/arm/virt-acpi-build: Update IORT
Initial support to have a user-creatable SMMUv3 device associated
with a PCIe root complex,
-device arm-smmuv3-dev,bus=pcie.x
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 54 +
include/hw/arm/smmuv3.h | 16
2 files changed
No functional changes intended. This will be useful when we
add support for user-creatable smmuv3 device.
Signed-off-by: Shameer Kolothum
---
hw/arm/virt.c | 55 +++
1 file changed, 29 insertions(+), 26 deletions(-)
diff --git a/hw/arm/virt.c b
to provide this.
Signed-off-by: Shameer Kolothum
---
hw/arm/Kconfig| 5
hw/arm/meson.build| 1 +
hw/arm/smmu-common.c | 1 +
hw/arm/smmuv3-accel.c | 51 +++
include/hw/arm/smmu-common.h | 3 +++
include/hw/arm
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3-accel.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c
index fb08e1d66b..812f8e358f 100644
--- a/hw/arm/smmuv3-accel.c
+++ b/hw/arm/smmuv3-accel.c
@@ -595,6 +595,7 @@ static void
Make use of smmuv3_accel provided _install_nested_ste() for CFGI_STE.
Signed-off-by: Shameer Kolothum
---
hw/arm/smmuv3.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index ea63731d61..83159db1d4 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
lk through the guest-level
IO page table.
Signed-off-by: Nicolin Chen
Signed-off-by: Shameer Kolothum
---
hw/arm/smmu-common.c | 21 +
1 file changed, 21 insertions(+)
diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
index 9fd455baa0..fd10df8866 100644
--- a/h
1 - 100 of 315 matches
Mail list logo