[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [RFC v5 24/29] hw/arm/smmuv3: Store the PASID table GPA in th
From: |
Eric Auger |
Subject: |
[Qemu-arm] [RFC v5 24/29] hw/arm/smmuv3: Store the PASID table GPA in the translation config |
Date: |
Thu, 11 Jul 2019 19:39:28 +0200 |
For VFIO integration we will need to pass the Context Descriptor (CD)
table GPA to the host. The CD table is also referred to as the PASID
table. Its GPA corresponds to the s1ctrptr field of the Stream Table
Entry. So let's decode and store it in the configuration structure.
Signed-off-by: Eric Auger <address@hidden>
---
hw/arm/smmuv3.c | 1 +
include/hw/arm/smmu-common.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index 9372b15b34..f7497de9e4 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -354,6 +354,7 @@ static int decode_ste(SMMUv3State *s, SMMUTransCfg *cfg,
"SMMUv3 S1 stalling fault model not allowed yet\n");
goto bad_ste;
}
+ cfg->s1ctxptr = STE_CTXPTR(ste);
return 0;
bad_ste:
diff --git a/include/hw/arm/smmu-common.h b/include/hw/arm/smmu-common.h
index 1f37844e5c..353668f4ea 100644
--- a/include/hw/arm/smmu-common.h
+++ b/include/hw/arm/smmu-common.h
@@ -68,6 +68,7 @@ typedef struct SMMUTransCfg {
uint8_t tbi; /* Top Byte Ignore */
uint16_t asid;
SMMUTransTableInfo tt[2];
+ dma_addr_t s1ctxptr;
uint32_t iotlb_hits; /* counts IOTLB hits for this asid */
uint32_t iotlb_misses; /* counts IOTLB misses for this asid */
} SMMUTransCfg;
--
2.20.1
- [Qemu-arm] [RFC v5 11/29] memory: Add arch_id and leaf fields in IOTLBEntry, (continued)
- [Qemu-arm] [RFC v5 11/29] memory: Add arch_id and leaf fields in IOTLBEntry, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 13/29] pci: introduce PCIPASIDOps to PCIDevice, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 14/29] vfio: Force nested if iommu requires it, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 15/29] vfio: Introduce hostwin_from_range helper, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 16/29] vfio: Introduce helpers to DMA map/unmap a RAM section, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 17/29] vfio: Set up nested stage mappings, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 18/29] vfio: Pass stage 1 MSI bindings to the host, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 19/29] vfio: Helper to get IRQ info including capabilities, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 20/29] vfio/pci: Register handler for iommu fault, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 21/29] vfio/pci: Set up the DMA FAULT region, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 24/29] hw/arm/smmuv3: Store the PASID table GPA in the translation config,
Eric Auger <=
- [Qemu-arm] [RFC v5 22/29] vfio/pci: Implement the DMA fault handler, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 23/29] hw/arm/smmuv3: Advertise MSI_TRANSLATE attribute, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 25/29] hw/arm/smmuv3: Fill the IOTLBEntry arch_id on NH_VA invalidation, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 26/29] hw/arm/smmuv3: Fill the IOTLBEntry leaf field on NH_VA invalidation, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 27/29] hw/arm/smmuv3: Pass stage 1 configurations to the host, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 28/29] hw/arm/smmuv3: Implement fault injection, Eric Auger, 2019/07/11
- [Qemu-arm] [RFC v5 29/29] vfio: Remove VFIO/SMMUv3 assert, Eric Auger, 2019/07/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v5 00/29] vSMMUv3/pSMMUv3 2 stage VFIO integration, no-reply, 2019/07/11