[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Xen-users] HVM PCI Passthrough: Code 12: Undersized PCI MMIO region?



On Tue, Dec 02, 2014 at 10:08:35PM -0500, Stephen Oberholtzer wrote:
> All,
> 

Hello,

> Please bear with me.  I don't fully understand all of the mechanisms
> involved here, so this message contains a large quantity of data,
> including some links to even larger quantities of data.
> The short version is: I think something isn't reserving enough (GPFN)
> address space for MMIO.
>

This issue probably should be taken to xen-devel mailinglist.. CC added..


> I'm trying to do a three-part PCI passthrough to a HVM domU running Windows 
> 8.1:
> 00:14.0, An xHCI (USB 3.0) controller
> 01:00.0, Function 0 of an ATI card (VGA controller, non-primary passthrough)
> 01:00.1, Function 1 of the same ATI card (HDMI audio)
> 
> The USB controller seems to work fine.  USB mouse/keyboard are
> functional, and I plugged in a few Mass Storage devices and they work
> fine.
> The HDMI audio controller is harder to vet, because I don't have
> anything that will process audio without an associated video stream.
> However, I don't get any complains from the software.
> 
> For the the VGA controller (01:00.0), Windows reports "Code 12" and
> complains about insufficient resources being available for the device.
> 
> I tried to gather all of the information I could on the memory layouts
> involved, from three sources:
> (1) From dom0 and Xen itself
> (2) From domU running Windows, using a program called "SIV" (System
> Information Viewer)
> (3) From domU running Linux (by booting a Knoppix live DVD image)
> 
> ---
> 
> Information from dom0:
> http://www.klozoff.org/xen/dom0-xl-info.txt - 'xl info'
> http://www.klozoff.org/xen/dom0-xl-dmesg.txt - 'xl dmesg'
> http://www.klozoff.org/xen/dom0-proc_iomem.txt - 'cat /proc/iomem'
> http://www.klozoff.org/xen/dom0-lspci-output.txt - 'lspci -vvv' for
> the three devices I'm forwarding.
> 
> Information from domU (Windows):
> http://www.klozoff.org/xen/domU-device-manager-info.txt - Text
> transcribed from Windows' "Device Manager"
> http://www.klozoff.org/xen/domU-siv-usb-controller-info.txt -
> Information on 00:14.0 from SIV
> http://www.klozoff.org/xen/domU-siv-video-card-info.txt - Information
> on 01:00.0 from SIV
> http://www.klozoff.org/xen/domU-siv-hdmi-audio-info.txt - Information
> on 01:00.1 from SIV
> 
> Information from domU (Linux/Knoppix):
> http://www.klozoff.org/xen/domU-knoppix-proc-iomem.txt - 'cat /proc/iomem'
> http://www.klozoff.org/xen/domU-knoppix-lspci-output.txt - 'lspci
> -vvv' for the three devices.
> 
> 
> ---
> 
> Of particular interest to me is domU-knoppix-lspci-output.txt, which
> for the VGA controller, says:
> 
>     Region 0: Memory at <ignored> (64-bit, prefetchable)
>     Region 2: Memory at f3040000 (64-bit, non-prefetchable) [size=256K]
> 
> In dom0, this showed as:
> 
>     Region 0: Memory at d0000000 (64-bit, prefetchable) [size=256M]
>     Region 2: Memory at efc00000 (64-bit, non-prefetchable) [size=256K]
> 
> 
> I looked closer by running the following script:
> 
> perl -lne '/^([0-9a-f]+)-([0-9a-f]+)/ && print $_, " (", ((hex($2) -
> hex($1)) >> 20), " MB)"' /proc/iomem
> 
> In dom0, I see this:
> 
> 00100000-99f53fff : System RAM (2462 MB)
> bf200000-feafffff : PCI Bus 0000:00 (1016 MB)   <- Region 0 is in this range
> 100000000-83edfffff : System RAM (29677 MB)
> 
> 
> In domU, I see this:
> 00100000-effecfff : System RAM (3838 MB)
> f0000000-fbffffff : PCI Bus 0000:00 (191 MB)    <- Definitely not big
> enough to hold the 256MB we need
> 100000000-20f7fffff : System RAM (4343 MB)
> 
> Now, I don't fully understand how this stuff all works, but here's
> what appears to be happening: Xen isn't reserving enough contiguous
> GPFN (virtual machine address space) for all of the devices on the
> virtual PCI bus -- in particular, for what is probably a big honkin'
> window into the card's onboard RAM.
> 
> So my two questions are:
> (1) Is my guess correct?  Or at least close?
> (2) What the heck do I do about it? I don't see any options in
> xl.cfg(5) for specifying the size of the MMIO region for the virtual
> PCI bus, or anything similar to that.
> 
> 
> NOTE: If I assign 2048MB or less RAM to this VM, the VM crashes at
> bootup, and has a nasty tendency to take the host with it (lockup).
> 
> -- 
> -- Stevie-O
> Real programmers use COPY CON PROGRAM.EXE
> 


-- Pasi


> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxx
> http://lists.xen.org/xen-users

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.