else if (pasid == INVALID_IOASID) return 0; } if (pasid == INVALID_IOASID) pr_err("[%s NO_PASID] Request device [%02x:%02x.%d] fault addr 0x%llx [fault reason 0x%02x] %s\n", type ? "DMA Read" : "DMA Write", source_id >> 8, PCI_SLOT(source_id & 0xFF), @@ -1959,...
Then the Intel VT-d driver gets the system reserved memory information, and always grants DMA access (read and write) to this memory to this specific device declared in the associated DEVICE_SCOPE of the RMRR table. Step 2: Setup DMAR Translation Table The Intel VT-d d...
vfio_dma 1structvfio_dma {2structrb_node node;3dma_addr_t iova;/*Device address*/4unsignedlongvaddr;/*Process virtual addr*/5size_t size;/*Map size (bytes)*/6intprot;/*IOMMU_READ/WRITE*/7booliommu_mapped;8boollock_cap;/*capable(CAP_IPC_LOCK)*/9structtask_struct *task;10structrb...
PASID 0x244C 0x0 [11:0]: Function Number 0x2450 0xC0000001 [31:30] Read/Write Access permission [25:0] Window Size ([25:0]*4K = actual size of the window) 0x2464 0x0 SMID Each table entry starts at every ‘h20 (0x2420, 0x2440, 0x2460, etc.). ...
Then the Intel VT-d driver gets the system reserved memory information, and always grants DMA access (read and write) to this memory to this specific device declared in the associated DEVICE_SCOPE of the RMRR table. Step 2: Setup DMAR Translation Table The Intel VT-...