[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [RFC v6 9/9] hw/arm/virt-acpi-build: Use the ACPI_IORT_SMMU_V
From: |
Eric Auger |
Subject: |
[Qemu-arm] [RFC v6 9/9] hw/arm/virt-acpi-build: Use the ACPI_IORT_SMMU_V3_CACHING_MODE model |
Date: |
Fri, 11 Aug 2017 16:22:34 +0200 |
To allow VFIO use case, let's set the smmu model to
ACPI_IORT_SMMU_V3_CACHING_MODE.
An important notice is this model is not standardized in the
ACPI IORT as this work is a proof of concept.
We also set the COHACC override flag which seems to be mandated.
Signed-off-by: Eric Auger <address@hidden>
---
hw/arm/virt-acpi-build.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index ac2cd3e..9103117 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -437,6 +437,7 @@ build_iort(GArray *table_data, BIOSLinker *linker,
VirtMachineState *vms)
smmu->type = ACPI_IORT_NODE_SMMU_V3;
smmu->length = cpu_to_le16(node_size);
+ smmu->model = 0x3; /* ACPI_IORT_SMMU_V3_CACHING_MODE */
smmu->mapping_count = cpu_to_le32(1);
smmu->mapping_offset = cpu_to_le32(sizeof(*smmu));
smmu->base_address = cpu_to_le64(vms->memmap[VIRT_SMMU].base);
@@ -444,6 +445,7 @@ build_iort(GArray *table_data, BIOSLinker *linker,
VirtMachineState *vms)
smmu->pri_gsiv = cpu_to_le32(irq + 1);
smmu->gerr_gsiv = cpu_to_le32(irq + 2);
smmu->sync_gsiv = cpu_to_le32(irq + 3);
+ smmu->flags = 0x1; /* COHACC Override */
/* Identity RID mapping covering the whole input RID range */
idmap = &smmu->id_mapping_array[0];
--
2.5.5
- [Qemu-arm] [RFC v6 3/9] hw/arm/virt: Add SMMUv3 to the virt board, (continued)
- [Qemu-arm] [RFC v6 3/9] hw/arm/virt: Add SMMUv3 to the virt board, Eric Auger, 2017/08/11
- [Qemu-arm] [RFC v6 4/9] hw/arm/virt: Add 2.11 machine type, Eric Auger, 2017/08/11
- [Qemu-arm] [RFC v6 5/9] hw/arm/virt-acpi-build: Add smmuv3 node in IORT table, Eric Auger, 2017/08/11
- [Qemu-arm] [RFC v6 6/9] hw/arm/virt: Add tlbi-on-map property to the smmuv3 node, Eric Auger, 2017/08/11
- [Qemu-arm] [RFC v6 7/9] target/arm/kvm: Translate the MSI doorbell in kvm_arch_fixup_msi_route, Eric Auger, 2017/08/11
- [Qemu-arm] [RFC v6 8/9] hw/arm/smmuv3: VFIO integration, Eric Auger, 2017/08/11
- [Qemu-arm] [RFC v6 9/9] hw/arm/virt-acpi-build: Use the ACPI_IORT_SMMU_V3_CACHING_MODE model,
Eric Auger <=
- Re: [Qemu-arm] [Qemu-devel] [RFC v6 0/9] ARM SMMUv3 Emulation Support, no-reply, 2017/08/11