PASID (Process Address Space ID) is an optional feature that enables sharing of a single Endpoint device across multiple processes(multiple address spaces per device) while providing each process a complete 64-bit virtual address space. PASID is used to identify process address space.
A PASID is a PCIe-defined Transaction Layer Packet (TLP) prefix. A PASID is a 20-bit number allocated and managed by the OS. PASID is included in all transactions between the platform and the device.
The IOMMU driver allocates a PASID and the device uses it in DMA transactions.
总结:（考虑非虚拟化的情况）在Intel平台下，由设备发起的I/O虚拟地址(IOVA，可以认为是host virtual address)需要IOMMU转化为host physical address。
IOMMU PASID Table: Per-device table by hardware design!
上图中，红框标注的即为IOMMU PASID table。