Stephen Oberholtzer
2014-Nov-01 21:32 UTC
Win8.1 64-bit VGA passthrough - Code 12s and host crashes
All, (I couldn't find anything online on what information I should provide, so I'm going to present a minimal amount so as to not fill everybody's mailbox with useless junk.) I built a machine with the intention of running Windows in a VM with VGA passthrough to a PCI card. I mostly followed instructions laid out here: http://forums.linuxmint.com/viewtopic.php?f=42&t=112013 Dom0 is Debian Jessie (amd64). 'xl info' output: host : zen release : 3.16-3-amd64 version : #1 SMP Debian 3.16.5-1 (2014-10-10) machine : x86_64 nr_cpus : 8 max_cpu_id : 7 nr_nodes : 1 cores_per_socket : 4 threads_per_core : 2 cpu_mhz : 3199 hw_caps : bfebfbff:2c100800:00000000:00007f00:77fafbff:00000000:00000021:00002fbb virt_caps : hvm hvm_directio total_memory : 32445 free_memory : 23829 sharing_freed_memory : 0 sharing_used_memory : 0 outstanding_claims : 0 free_cpus : 0 xen_major : 4 xen_minor : 4 xen_extra : .1 xen_version : 4.4.1 xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : xen_commandline : placeholder iommu=1 dom0_mem=8192M no-real-mode edd=off cc_compiler : gcc (Debian 4.9.1-17) 4.9.1 cc_compile_by : waldi cc_compile_domain : debian.org cc_compile_date : Fri Oct 17 14:29:43 UTC 2014 xend_config_format : 4 The Windows VM is Windows 8.1, 64-bit. These are the devices passed through: 00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller (prog-if 30 [XHCI]) Subsystem: ASRock Incorporation Device 8cb1 Flags: medium devsel, IRQ 16 Memory at efd20000 (64-bit, non-prefetchable) [disabled] [size=64K] Capabilities: [70] Power Management version 2 Capabilities: [80] MSI: Enable- Count=1/8 Maskable- 64bit+ Kernel driver in use: pciback 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland XT [Radeon HD 8670 / R7 250] (prog-if 00 [VGA controller]) Subsystem: XFX Pine Group Inc. Device 7250 Flags: fast devsel, IRQ 16 Memory at d0000000 (64-bit, prefetchable) [disabled] [size=256M] Memory at efc00000 (64-bit, non-prefetchable) [disabled] [size=256K] I/O ports at e000 [disabled] [size=256] Expansion ROM at efc40000 [disabled] [size=128K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Capabilities: [270] #19 Kernel driver in use: pciback 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] Subsystem: XFX Pine Group Inc. Device aab0 Flags: fast devsel, IRQ 17 Memory at efc60000 (64-bit, non-prefetchable) [disabled] [size=16K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Kernel driver in use: pciback I have the USB ports successfully passed through to the VM; keyboard and mouse, USB hard drive, and when I plugged in my phone to charge it, it was recognized as well. However, Windows reports an error for the video card, "Code 12" something about resources. I searched and found anecdotal evidence of a bug when the guest has >2GB allocated (I had given it 8). I would love to know more information about this bug, but I can't find an actual bug filed. If someone has more information about it, I would greatly appreciate hearing it. In any case, I dropped the memory limit on the guest to 2GB and now it crashes at startup, rebooting into recovery mode. Whenever I turn on any of the debugging options (boot logging, debugging, disable automatic restart on failure) the entire host stops responding. I searched more about this and the only reference I found that matched up with what I'm doing is here: http://lists.xenproject.org/archives/html/xen-users/2013-10/msg00042.html It suggests that some motherboards have screwed up chipsets that bypass the IOMMU. In conclusion, I have four questions: (1) Does anyone have any more information on a PCI-passthrough bug with guests that have >2GB RAM? (2) How can I find out if my motherboard has a bad PCIe bridge chipset that bypasses the IOMMU? (3) Is there a way to convince Xen and Dom0 to not occupy the first 2GB of physical RAM, and have Xen load DomU into that space? If I can do that, and the host stops crashing, that seems like it would be a good indicator that the IOMMU is being bypassed. (4) What else can I do to troubleshoot all this? -- -- Stevie-O Real programmers use COPY CON PROGRAM.EXE _______________________________________________ Xen-users mailing list Xen-users@lists.xen.org http://lists.xen.org/xen-users