On 12/16/25 3:57 PM, Pierrick Bouvier wrote:
This will be used to access non-secure and secure memory. Secure support
and Granule Protection Check (for RME) for SMMU need to access secure
memory.

As well, it allows to remove usage of global address_space_memory,
allowing different SMMU instances to have a specific view of memory.

User creatable SMMU are handled as well for virt machine,
by setting the memory properties when device is plugged in.

Signed-off-by: Pierrick Bouvier <[email protected]>
---
  include/hw/arm/smmu-common.h |  4 ++++
  include/hw/arm/virt.h        |  2 ++
  hw/arm/sbsa-ref.c            | 16 ++++++++++++----
  hw/arm/smmu-common.c         | 25 +++++++++++++++++++++++++
  hw/arm/virt.c                | 13 +++++++++++--
  5 files changed, 54 insertions(+), 6 deletions(-)
v4
--

- set smmu->memory property based on plug callback for virt, thus removing the need to use global get_system_memory on smmu side.

v3
--

- solved issue with user creatable smmuv3 (found with
qtest/bios-tables-test, subtest smmuv3-dev), which is not created by
board file. In this case, smmu->memory is not set, so just use global
get_system_memory() instead.

v2
--

- Fix rebase on top of master
- rename memory and secure-memory address space with
    "smmu-memory-view" and "smmu-secure-memory-view".
    If someone prefers any other name, I can change it.


Reply via email to