Jo Mills
2014-Feb-20 20:03 UTC
Request for help with pci passthrough with VTd on Debian Jessie
Hi, I am having great difficulties in getting pci passthrough with VTd to work, surely I am doing something stupid but I cannot see what. "tangram" (https://www.blogger.com/profile/06588030231546523539) has been a huge help, but despite his efforts I am still stuck. Hardware: Intel S3200SHV motherboard BIOS : S3200X38.86B.00.00.0052 CPU : Intel Core 2 (quad) Bios settings: Enhanced Intel (R) SpeedStep Tech [Enabled] Core Multi-processing [Enabled] Intel (R) Virtualization Technology [Enabled] Intel (R) VT for Directed I/O [Enabled] Execute Disable Bit [Enabled] Multi-Thread Support in MPS table [Enabled] Debian "Jessie" installation as at Thurs 20-FEB-2104 GMT ii libxen-4.3 4.3.0-3+b1 amd64 ii libxenstore3.0 4.3.0-3+b1 amd64 ii linux-image-xen-amd64 2.6.32+29 amd64 ii xen-hypervisor-4.3-amd64 4.3.0-3+b1 amd64 ii xen-linux-system-3.12-1-amd64 3.12.9-1 amd64 ii xen-linux-system-amd64 3.12+55 amd64 ii xen-system-amd64 4.3.0-3+b1 amd64 ii xen-tools 4.4-1 all ii xen-utils-4.3 4.3.0-3+b1 amd64 ii xen-utils-common 4.3.0-3 all ii xenstore-utils 4.3.0-3+b1 amd64 lspci -k . . . 03:00.0 Ethernet controller: VIA Technologies, Inc. \ VT6105/VT6106S [Rhine-III] (rev 86) Subsystem: D-Link System Inc DFE-530TX rev C Kernel driver in use: via-rhine 03:01.0 Ethernet controller: VIA Technologies, Inc. \ VT6105/VT6106S [Rhine-III] (rev 86) Subsystem: D-Link System Inc DFE-530TX rev C Kernel driver in use: via-rhine 03:02.0 Ethernet controller: Intel Corporation 82541GI \ Gigabit Ethernet Controller (rev 05) Subsystem: Intel Corporation Device 34d0 Kernel driver in use: e1000 lspci -n . . . 03:00.0 0200: 1106:3106 (rev 86) 03:01.0 0200: 1106:3106 (rev 86) 03:02.0 0200: 8086:1076 (rev 05) "xm dmesg" shows "I/O virtualisation enabled" (XEN) Xen version 4.3.0 (Debian 4.3.0-3+b1) \ (buildd-binet@buildd.debian.org) \ (gcc (Debian 4.8.2-8) 4.8.2) \ debug=n Wed Dec 4 07:43:54 UTC 2013 (XEN) Bootloader: GRUB 2.00-22 (XEN) Command line: placeholder dom0_mem=2G,max:2G dom0_max_vcpus=1 \ dom0_vcpus_pin (XEN) Video information: (XEN) VGA is text mode 80x25, font 8x16 (XEN) VBE/DDC methods: none; EDID transfer time: 0 seconds (XEN) EDID info not retrieved because no DDC retrieval method detected (XEN) Disc information: (XEN) Found 1 MBR signatures (XEN) Found 1 EDD information structures (XEN) Xen-e820 RAM map: (XEN) 0000000000000000 - 000000000009fc00 (usable) (XEN) 000000000009fc00 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 00000000dfbea000 (usable) (XEN) 00000000dfbea000 - 00000000dfc96000 (ACPI NVS) (XEN) 00000000dfc96000 - 00000000dfcfa000 (usable) (XEN) 00000000dfcfa000 - 00000000dfd5f000 (reserved) (XEN) 00000000dfd5f000 - 00000000dfd69000 (usable) (XEN) 00000000dfd69000 - 00000000dfddf000 (ACPI NVS) (XEN) 00000000dfddf000 - 00000000dfde5000 (usable) (XEN) 00000000dfde5000 - 00000000dfdff000 (ACPI data) (XEN) 00000000dfdff000 - 00000000dfe00000 (usable) (XEN) 00000000dfe00000 - 00000000dff00000 (reserved) (XEN) 00000000f0000000 - 00000000f4000000 (reserved) (XEN) 00000000fff80000 - 00000000fff8c000 (reserved) (XEN) 0000000100000000 - 0000000220000000 (usable) (XEN) ACPI: RSDP 000F03C0, 0024 (r2 INTEL ) (XEN) ACPI: XSDT DFDFE120, 00AC (r1 INTEL S3200SHV 0 INTL 1000013) (XEN) ACPI: SLIC DFDFC000, 0176 (r1 INTEL S3200SHV 2 INTL 1000013) (XEN) ACPI: FACP DFDFA000, 00F4 (r3 INTEL S3200SHV 0 MSFT 1000013) (XEN) ACPI: DSDT DFDF4000, 56BC (r1 INTEL S3200SHV 0 MSFT 1000013) (XEN) ACPI: FACS DFD69000, 0040 (XEN) ACPI: APIC DFDF3000, 0084 (r1 INTEL S3200SHV 0 MSFT 1000013) (XEN) ACPI: WDDT DFDF2000, 0040 (r1 INTEL S3200SHV 0 MSFT 1000013) (XEN) ACPI: MCFG DFDF1000, 003C (r1 INTEL S3200SHV 0 MSFT 1000013) (XEN) ACPI: HPET DFDF0000, 0038 (r1 INTEL S3200SHV 1 MSFT 1000013) (XEN) ACPI: SPCR DFDEF000, 0050 (r1 INTEL S3200SHV 0 MSFT 1000013) (XEN) ACPI: SSDT DFDEE000, 0175 (r1 INTEL Cpu0Ist 10 MSFT 1000013) (XEN) ACPI: SSDT DFDED000, 0175 (r1 INTEL Cpu1Ist 10 MSFT 1000013) (XEN) ACPI: SSDT DFDEC000, 0175 (r1 INTEL Cpu2Ist 10 MSFT 1000013) (XEN) ACPI: SSDT DFDEB000, 0175 (r1 INTEL Cpu3Ist 10 MSFT 1000013) (XEN) ACPI: SSDT DFDEA000, 01BC (r1 INTEL CpuPm 10 MSFT 1000013) (XEN) ACPI: HEST DFDE9000, 00A8 (r1 INTEL S3200SHV 1 INTL 1) (XEN) ACPI: BERT DFDE8000, 0030 (r1 INTEL S3200SHV 1 INTL 1) (XEN) ACPI: ERST DFDE7000, 0230 (r1 INTEL S3200SHV 1 INTL 1) (XEN) ACPI: EINJ DFDE6000, 0130 (r1 INTEL S3200SHV 1 INTL 1) (XEN) ACPI: DMAR DFDE5000, 0128 (r1 INTEL S3200SHV 1 MSFT 0) (XEN) System RAM: 8187MB (8384504kB) (XEN) Domain heap initialised (XEN) Processor #0 7:7 APIC version 20 (XEN) Processor #2 7:7 APIC version 20 (XEN) Processor #1 7:7 APIC version 20 (XEN) Processor #3 7:7 APIC version 20 (XEN) IOAPIC[0]: apic_id 5, version 32, address 0xfec00000, GSI 0-23 (XEN) Enabling APIC mode: Flat. Using 1 I/O APICs (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2660.084 MHz processor. (XEN) Initing memory sharing. (XEN) xstate_init: using cntxt_size: 0x240 and states: 0x3 (XEN) Intel VT-d iommu 0 supported page sizes: 4kB. (XEN) Intel VT-d Snoop Control not enabled. (XEN) Intel VT-d Dom0 DMA Passthrough not enabled. (XEN) Intel VT-d Queued Invalidation not enabled. (XEN) Intel VT-d Interrupt Remapping not enabled. (XEN) Intel VT-d Shared EPT tables not enabled. (XEN) I/O virtualisation enabled (XEN) - Dom0 mode: Relaxed (XEN) Interrupt remapping disabled (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method (XEN) Platform timer is 14.318MHz HPET (XEN) Allocated console ring of 16 KiB. (XEN) VMX: Supported advanced features: (XEN) - APIC MMIO access virtualisation (XEN) - APIC TPR shadow (XEN) - Virtual NMI (XEN) - MSR direct-access bitmap (XEN) HVM: ASIDs disabled. (XEN) HVM: VMX enabled (XEN) HVM: Hardware Assisted Paging (HAP) not detected (XEN) Brought up 4 CPUs (XEN) mtrr: your CPUs had inconsistent variable MTRR settings (XEN) *** LOADING DOMAIN 0 *** (XEN) Xen kernel: 64-bit, lsb, compat32 (XEN) Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1eb3000 (XEN) PHYSICAL MEMORY ARRANGEMENT: (XEN) Dom0 alloc.: 0000000210000000->0000000214000000 \ (497895 pages to be allocated) (XEN) Init. ramdisk: 000000021d8e7000->000000021ffff200 (XEN) VIRTUAL MEMORY ARRANGEMENT: (XEN) Loaded kernel: ffffffff81000000->ffffffff81eb3000 (XEN) Init. ramdisk: ffffffff81eb3000->ffffffff845cb200 (XEN) Phys-Mach map: ffffffff845cc000->ffffffff849cc000 (XEN) Start info: ffffffff849cc000->ffffffff849cc4b4 (XEN) Page tables: ffffffff849cd000->ffffffff849f6000 (XEN) Boot stack: ffffffff849f6000->ffffffff849f7000 (XEN) TOTAL: ffffffff80000000->ffffffff84c00000 (XEN) ENTRY ADDRESS: ffffffff818c01e0 (XEN) Dom0 has maximum 1 VCPUs (XEN) Scrubbing Free RAM: ................................\ ............................done. (XEN) Initial low memory virq threshold set at 0x4000 pages. (XEN) Std. Loglevel: Errors and warnings (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings) (XEN) Xen is relinquishing VGA console. (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three\ times to switch input to Xen) (XEN) Freed 260kB init memory. lsmod | grep pci ehci_pci 12472 0 ehci_hcd 48414 1 ehci_pci usbcore 154167 3 uhci_hcd,ehci_hcd,ehci_pci modprobe pci_stub echo "1106 3106" > /sys/bus/pci/drivers/pci-stub/new_id echo "0000:03:01.0" > /sys/bus/pci/devices/0000:03:01.0/driver/unbind echo "0000:03:01.0" > /sys/bus/pci/drivers/pci-stub/bind tail -f /var/log/kern.log Feb 20 19:41:10 green kernel: [ 44.768042] xenbr0: port 1(eth0) \ entered forwarding state Feb 20 19:41:11 green kernel: [ 46.215190] xen:xen_evtchn: \ Event-channel device installed Feb 20 19:49:31 green kernel: [ 545.879059] \ pci-stub 0000:03:01.0: claimed by stub lspci -k . . . 03:00.0 Ethernet controller: VIA Technologies, Inc. \ VT6105/VT6106S [Rhine-III] (rev 86) Subsystem: D-Link System Inc DFE-530TX rev C Kernel driver in use: via-rhine 03:01.0 Ethernet controller: VIA Technologies, Inc. \ VT6105/VT6106S [Rhine-III] (rev 86) Subsystem: D-Link System Inc DFE-530TX rev C Kernel driver in use: pci-stub 03:02.0 Ethernet controller: Intel Corporation 82541GI \ Gigabit Ethernet Controller (rev 05) Subsystem: Intel Corporation Device 34d0 Kernel driver in use: e1000 so it all looks OK so far, but: xm pci-list-assignable-devices and nothing shows. If anyone would point out my obvious mistake(s) I would be extremely grateful. Regards, Jo.