[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 04/19] intel_iommu: Fill the PASID field when creating an IOMM
From: |
CLEMENT MATHIEU--DRIF |
Subject: |
[PATCH v2 04/19] intel_iommu: Fill the PASID field when creating an IOMMUTLBEntry |
Date: |
Mon, 20 Jan 2025 17:41:42 +0000 |
From: Clement Mathieu--Drif <clement.mathieu--drif@eviden.com>
PASID value must be used by devices as a key (or part of a key)
when populating their ATC with the IOTLB entries returned by the IOMMU.
Signed-off-by: Clement Mathieu--Drif <clement.mathieu--drif@eviden.com>
---
hw/i386/intel_iommu.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 1d5ff8f4f6..c58e18a56c 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2511,6 +2511,7 @@ static void
vtd_iotlb_page_invalidate_notify(IntelIOMMUState *s,
.translated_addr = 0,
.addr_mask = size - 1,
.perm = IOMMU_NONE,
+ .pasid = vtd_as->pasid,
},
};
memory_region_notify_iommu(&vtd_as->iommu, 0, event);
@@ -3098,6 +3099,7 @@ static void do_invalidate_device_tlb(VTDAddressSpace
*vtd_dev_as,
event.entry.iova = addr;
event.entry.perm = IOMMU_NONE;
event.entry.translated_addr = 0;
+ event.entry.pasid = vtd_dev_as->pasid;
memory_region_notify_iommu(&vtd_dev_as->iommu, 0, event);
}
@@ -3680,6 +3682,7 @@ static IOMMUTLBEntry
vtd_iommu_translate(IOMMUMemoryRegion *iommu, hwaddr addr,
IOMMUTLBEntry iotlb = {
/* We'll fill in the rest later. */
.target_as = &address_space_memory,
+ .pasid = vtd_as->pasid,
};
bool success;
--
2.47.1
- [PATCH v2 00/19] intel_iommu: Add ATS support, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 01/19] memory: Add permissions in IOMMUAccessFlags, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 02/19] intel_iommu: Declare supported PASID size, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 04/19] intel_iommu: Fill the PASID field when creating an IOMMUTLBEntry,
CLEMENT MATHIEU--DRIF <=
- [PATCH v2 12/19] pci: Add a pci-level initialization function for iommu notifiers, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 07/19] pcie: Helper function to check if ATS is enabled, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 15/19] memory: Add an API for ATS support, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 06/19] pcie: Helper functions to check if PASID is enabled, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 05/19] pcie: Add helper to declare PASID capability for a pcie device, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 03/19] memory: Allow to store the PASID in IOMMUTLBEntry, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 08/19] pci: Cache the bus mastering status in the device, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 10/19] intel_iommu: Implement the get_memory_region_pasid iommu operation, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 09/19] pci: Add IOMMU operations to get memory regions with PASID, CLEMENT MATHIEU--DRIF, 2025/01/20
- [PATCH v2 11/19] memory: Store user data pointer in the IOMMU notifiers, CLEMENT MATHIEU--DRIF, 2025/01/20