[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 0/4] hw/arm/smmuv3: Support non PCI/PCIe devices
From: |
chunming |
Subject: |
[PATCH v6 0/4] hw/arm/smmuv3: Support non PCI/PCIe devices |
Date: |
Thu, 2 Sep 2021 16:14:25 +0800 |
From: chunming <chunming.li@verisilicon.com>
The current SMMU v3 model only support PCI/PCIe devices, so we update it for
non-PCI/PCIe devices.
. Add independent IOMMU memory regions for non-PCI/PCIe devices
. Add SID value property setting for non-PCI/PCIe devices
. Add PL330 DMA controller into "virt" machine and connect with SMMU v3
. Test PL330 DMA controller and PCIe e1000 network with SMMU v3 enabled
Notes:
You need apply PL330 memory region patch before compile "virt" machine:
https://patchew.org/QEMU/4C23C17B8E87E74E906A25A3254A03F4FA1FEC31@SHASXM03.verisilicon.com/
The old PL330 model cannot configure its memory region manually.
So we update it and provide path.
The patch was reviewed and will be merged in target-arm.next for 6.2.
v6 - Reviewed by Eric:
. Rename sid_map -> peri_sid_map, num_sid -> peri_num_sid
. MOve peri_sid_map and peri_num_sid to SMMUState
. Add "peri_sdev_list" looking up to replace "g_hash_table_remove()"
for non PCI/PCIe devices.
chunming (4):
hw/arm/smmuv3: Support non PCI/PCIe device connect with SMMU v3
hw/arm/smmuv3: Update CFGI commands to support non PCI/PCIe devices
hw/arm/virt: Update SMMU v3 creation to support non PCI/PCIe device
connection
hw/arm/virt: Add PL330 DMA controller and connect with SMMU v3
hw/arm/smmuv3.c | 75 ++++++++++++++++++++----
hw/arm/virt.c | 110 ++++++++++++++++++++++++++++++++++-
include/hw/arm/smmu-common.h | 14 ++++-
include/hw/arm/virt.h | 3 +
4 files changed, 188 insertions(+), 14 deletions(-)
--
2.30.2
- [PATCH v6 0/4] hw/arm/smmuv3: Support non PCI/PCIe devices,
chunming <=