search for: cap_fault_reg_offset

Displaying 2 results from an estimated 2 matches for "cap_fault_reg_offset".

2010 Mar 11
0
[PATCH] VT-d: various initialization fixes
...REFIX, + "drhd->address = %"PRIx64" iommu->reg = %p\n", + drhd->address, iommu->reg); + dprintk(XENLOG_DEBUG VTDPREFIX, + "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap); + if ( cap_fault_reg_offset(iommu->cap) + + cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE || + ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE ) + { + dprintk(XENLOG_ERR VTDPREFIX, "IOMMU: unsupported\n"); + print_iommu_regs(drhd); + return -EN...
2012 Nov 05
25
[PATCH] IOMMU: don't disable bus mastering on faults for devices used by Xen or Dom0
...eg, PCI_BUS(bdf), PCI_SLOT(bdf), PCI_FUNC(bdf), PCI_COMMAND); --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -916,7 +916,8 @@ static void __do_iommu_page_fault(struct reg = cap_fault_reg_offset(iommu->cap); while (1) { - u8 fault_reason; + const struct pci_dev *pdev; + u8 fault_reason, bus; u16 source_id, cword; u32 data; u64 guest_addr; @@ -950,14 +951,27 @@ static void __do_iommu_page_fault(struct iommu_page_fault_do_...