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

Re: [Xen-devel] [BUG 1747]Guest could't find bootable device with memory more than 3600M



On Mon, 10 Jun 2013, George Dunlap wrote:
> On Sat, Jun 8, 2013 at 8:27 AM, Hao, Xudong <xudong.hao@xxxxxxxxx> wrote:
> >>
> >> What happens on real hardware when the BIOS boots and finds out that the
> >> PCI hole is too small to contain all the MMIO regions of the PCI devices?
> >>
> >
> > I do not know what does BIOS do details, but I think it's in 4G above if 
> > pci hole is too small. I saw native OS program the pci hole to a very high 
> > addr 0x3c0c00000000 if the pci device has large bar size.
> >
> > For Xen hvmloader, it already policy that is: if PCI hole is too small, 
> > another MMIO region will be created starting from the high_mem_pgend.
> 
> Yes, and that, as I understand it, is the problem: that this change of
> the MMIO regions is not communicated to qemu.
> 
> But it seems like this same problem would occur on real hardware --
> i.e., you add a new video card with 2GiB of video ram, and now you
> need a 2.5 GiB MMIO hole. It seems like the BIOS would be the logical
> place to sort it out.  But I'm not familiar enough with SeaBIOS / qemu
> to really know for sure.

I went through the code that maps the PCI MMIO regions in hvmloader
(tools/firmware/hvmloader/pci.c:pci_setup) and it looks like it already
maps the PCI region to high memory if the PCI bar is 64-bit and the MMIO
region is larger than 512MB.

Maybe we could just relax this condition and map the device memory to
high memory no matter the size of the MMIO region if the PCI bar is
64-bit?
If the Nvidia Quadro that originally Gonglei was trying to assign to the
guest is 64-bit capable, then it would fix the issue in the simplest
possible way.

Are there actually any PCI devices that people might want to assign to
guests that don't have 64-bit bars and don't fit in
0xe0000000-0xfc000000?

_______________________________________________
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®.