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.
