mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
intel_iommu: Process PASID-based iotlb invalidation
PASID-based iotlb (piotlb) is used during walking Intel VT-d stage-1 page table. This emulates the stage-1 page table iotlb invalidation requested by a PASID-based IOTLB Invalidate Descriptor (P_IOTLB). Signed-off-by: Yi Liu <yi.l.liu@intel.com> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com> Acked-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Yi Liu <yi.l.liu@intel.com> Message-Id: <20241212083757.605022-12-zhenzhong.duan@intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
16d4e418e9
commit
6ebe6cf2a0
2 changed files with 46 additions and 0 deletions
|
@ -471,6 +471,9 @@ typedef union VTDInvDesc VTDInvDesc;
|
|||
#define VTD_INV_DESC_PIOTLB_PSI_IN_PASID (3ULL << 4)
|
||||
#define VTD_INV_DESC_PIOTLB_DID(val) (((val) >> 16) & VTD_DOMAIN_ID_MASK)
|
||||
#define VTD_INV_DESC_PIOTLB_PASID(val) (((val) >> 32) & 0xfffffULL)
|
||||
#define VTD_INV_DESC_PIOTLB_AM(val) ((val) & 0x3fULL)
|
||||
#define VTD_INV_DESC_PIOTLB_IH(val) (((val) >> 6) & 0x1)
|
||||
#define VTD_INV_DESC_PIOTLB_ADDR(val) ((val) & ~0xfffULL)
|
||||
#define VTD_INV_DESC_PIOTLB_RSVD_VAL0 0xfff000000000f1c0ULL
|
||||
#define VTD_INV_DESC_PIOTLB_RSVD_VAL1 0xf80ULL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue