I've been trying to get VT-D working with Xen and my Asus P5E-VM DO motherboard for the last week. This board is listed on the VTdHowTo xen wiki page as supported, and I've found another subscriber of the xen-users list who has this configuration working, which makes my predicament all the more odd. I'm using debian lenny as my dom0 OS, though I've built Xen 3.4.1 from source and can replicate this problem with both the lenny 2.6.26-2-xen-amd64 kernel and the Xen 2.6.18-xen.hg kernel I built. I've tried several different BIOS revisions, and the problem is consistent across them. Here's some output from my bootup and from acpidump: # xm dmesg | grep -C1 VT-D (XEN) ACPI: HPET id: 0xffffffff base: 0xfed00000 (XEN) [VT-D]dmar.c:485: Host address width 36 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = fed90000 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1b.0 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = fed92000 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:3.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:3.2 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:3.3 (XEN) [VT-D]dmar.c:494: found ACPI_DMAR_DRHD (XEN) [VT-D]dmar.c:349: dmaru->address = fed93000 (XEN) [VT-D]dmar.c:358: found INCLUDE_ALL (XEN) [VT-D]dmar.c:498: found ACPI_DMAR_RMRR (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.1 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.2 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1d.7 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.0 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.1 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.2 (XEN) [VT-D]dmar.c:300: found endpoint: bdf = 0:1a.7 (XEN) [VT-D]dmar.c:498: found ACPI_DMAR_RMRR (XEN) [VT-D]dmar.c:388: RMRR error: base_addr d0000000 end_address cfffffff (XEN) Failed to parse ACPI DMAR. Disabling VT-d. # acpidump -t DMAR Wrong checksum for OEMB! Wrong checksum for ! # acpidump | grep -B3 -A20 DMAR Wrong checksum for OEMB! Wrong checksum for ! @ 0xcff601b0 0000: 00 4d 41 52 48 01 00 00 01 f5 41 4d 49 00 00 00 .MARH.....AMI... 0010: 4f 45 4d 44 4d 41 52 00 01 00 00 00 4d 53 46 54 OEMDMAR.....MSFT 0020: 97 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 ....#........... 0030: 00 00 18 00 00 00 00 00 00 00 d9 fe 00 00 00 00 ................ 0040: 01 08 00 00 00 00 1b 00 00 00 28 00 00 00 00 00 ..........(..... 0050: 00 20 d9 fe 00 00 00 00 01 08 00 00 00 00 03 00 . .............. 0060: 01 08 00 00 00 00 03 02 01 08 00 00 00 00 03 03 ................ 0070: 00 00 10 00 01 00 00 00 00 30 d9 fe 00 00 00 00 .........0...... 0080: 01 00 58 00 00 00 00 00 00 d0 0e 00 00 00 00 00 ..X............. 0090: ff ff 0e 00 00 00 00 00 01 08 00 00 00 00 1d 00 ................ 00a0: 01 08 00 00 00 00 1d 01 01 08 00 00 00 00 1d 02 ................ 00b0: 01 08 00 00 00 00 1d 07 01 08 00 00 00 00 1a 00 ................ 00c0: 01 08 00 00 00 00 1a 01 01 08 00 00 00 00 1a 02 ................ 00d0: 01 08 00 00 00 00 1a 07 01 00 18 00 00 00 00 00 ................ 00e0: 00 00 00 d0 00 00 00 00 ff ff ff cf 00 00 00 00 ................ 00f0: 01 00 58 00 00 00 00 00 00 00 fe cf 00 00 00 00 ..X............. 0100: ff ff fe cf 00 00 00 00 01 08 00 00 00 00 1d 00 ................ 0110: 01 08 00 00 00 00 1d 01 01 08 00 00 00 00 1d 02 ................ 0120: 01 08 00 00 00 00 1d 07 01 08 00 00 00 00 1a 00 ................ 0130: 01 08 00 00 00 00 1a 01 01 08 00 00 00 00 1a 02 ................ 0140: 01 08 00 00 00 00 1a 07 ........ I've posted the my full xm dmesg here: http://pastebin.com/m32beff18 and you can find my full dmesg output here: http://pastebin.com/m74a7dc2a The other user of the xen-users list (Christian Tramnitz) who has VT-D working with the same motherboard and BIOS revision listed this as the output he gets: (XEN) [VT-D]iommu.c:722: iommu_page_fault: iommu->reg = ffff828bfff56000 (XEN) [VT-D]iommu.c:691: iommu_fault_status: Fault Overflow (XEN) [VT-D]iommu.c:694: iommu_fault_status: Primary Pending Fault (XEN) [VT-D]iommu.c:676: iommu_fault:DMA Write: 0:2.0 addr 400000000 REASON 5 iommu->reg = ffff828bfff56000 (XEN) print_vtd_entries: iommu = ffff83022bde62d0 bdf = 0:2:0 gmfn = 400000 (XEN) root_entry = ffff83022bdcf000 (XEN) root_entry[0] = 224cc8001 (XEN) context = ffff830224cc8000 (XEN) context[10] = 101_22bdb3001 (XEN) l3 = ffff83022bdb3000 (XEN) l3_index = 10 (XEN) l3[10] = 0 (XEN) l3[10] not present # acpidump | grep -B3 -A20 DMAR Wrong checksum for OEMB Wrong checksum for Wrong checksum for OEMB! @ 0xcf5601b0 0000: 00 4d 41 52 40 01 00 00 01 01 41 4d 49 00 00 00 .MAR@.....AMI... 0010: 4f 45 4d 44 4d 41 52 00 01 00 00 00 4d 53 46 54 OEMDMAR.....MSFT 0020: 97 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 ....#........... 0030: 00 00 18 00 00 00 00 00 00 10 d9 fe 00 00 00 00 ................ 0040: 01 08 00 00 00 00 02 00 00 00 18 00 00 00 00 00 ................ 0050: 00 20 d9 fe 00 00 00 00 01 08 00 00 00 00 03 00 . .............. 0060: 00 00 10 00 01 00 00 00 00 30 d9 fe 00 00 00 00 .........0...... 0070: 01 00 58 00 00 00 00 00 00 d0 0e 00 00 00 00 00 ..X............. 0080: ff ff 0e 00 00 00 00 00 01 08 00 00 00 00 1d 00 ................ 0090: 01 08 00 00 00 00 1d 01 01 08 00 00 00 00 1d 02 ................ 00a0: 01 08 00 00 00 00 1d 07 01 08 00 00 00 00 1a 00 ................ 00b0: 01 08 00 00 00 00 1a 01 01 08 00 00 00 00 1a 02 ................ 00c0: 01 08 00 00 00 00 1a 07 01 00 20 00 00 00 00 00 .......... ..... 00d0: 00 00 60 cf 00 00 00 00 ff ff ff cf 00 00 00 00 ..`............. 00e0: 01 08 00 00 00 00 02 00 01 00 58 00 00 00 00 00 ..........X..... 00f0: 00 00 5e cf 00 00 00 00 ff ff 5e cf 00 00 00 00 ..^.......^..... 0100: 01 08 00 00 00 00 1d 00 01 08 00 00 00 00 1d 01 ................ 0110: 01 08 00 00 00 00 1d 02 01 08 00 00 00 00 1d 07 ................ 0120: 01 08 00 00 00 00 1a 00 01 08 00 00 00 00 1a 01 ................ 0130: 01 08 00 00 00 00 1a 02 01 08 00 00 00 00 1a 07 ................ XSDT @ 0xcf550100 Wrong checksum for ! # acpidump -t DMAR Wrong checksum for OEMB Wrong checksum for Wrong checksum for OEMB! Wrong checksum for ! I've also, on the suggestion of Christian I tried disabling USB in the BIOS completely, as he said that he had to do that with a different Asus motherboard that also supported VT-D before it would work, but that didn't resolve the problem for me. Please let me know if there is anything else I can try or any other info I can provide. I'd be quite happy to work with a dev to determine the exact source of the problem and test patches, etc. Thanks, Mike