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

Re: [Xen-devel] [Patch] Make memory hole for PCI Express bigger and prevent roll-over

  • To: "David Stone" <unclestoner@xxxxxxxxx>
  • From: "Dan Doucette" <doucette.daniel@xxxxxxxxx>
  • Date: Fri, 29 Feb 2008 12:55:20 -0800
  • Cc: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, Xen Developers <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 29 Feb 2008 12:55:51 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=En5NKU4DLi1Y5tA1/vCLJHciMtOySK1RFOzz6uM5XXyblBk67YI+iQbAvwfFjKuAt7Ids94eeppobdMgMjWYZBAhwcRvLga2LZiTRf+a8HC3aHTfcgbeY8GcWRqk6n4hn9IZ5fmKqH9DA4+j8pb4RaASERD2oYUieWFYFjLAOqM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hello David,Keir,
I am trying to increase the PCI aperture in my vista guest using the direct approach outlined by David above, i.e.  modifying dsdt.asl and recompiling.
This does not work, and I am wondering about the statement made above by Keir,
" Actually that's a bad way to do it. I've just checked in a patch which
modifies the DSDT to fetch the PCI hole parameters from a memory location
which is initialised by hvmloader. "
Is this update the code in hvmloader.c:pci_setup.c
    struct resource mem_resource = { 0xf0000000, 0xfc000000 };
By modifying that constant to 0xc0000000, I do see devices enumerated in vista starting at 0xc0000000, but the acpi pci bus device in vista still reports an aperture starting at 0xf0000000, which I believe is fetched from dsdt tables.?

On Mon, Jan 21, 2008 at 11:28 AM, David Stone <unclestoner@xxxxxxxxx> wrote:
> > My only hesitation is that 0xF0000000-0xF4FFFFFF = 80Mb is smallish,
> > especially considering the wasteful algorithm the Xen HVM BIOS
> > currently uses to assign addresses (it can waste a lot of space).
> How is it wasteful? We could only do better if we assigned PCI resources in
> descending order of size (and hence alignment requirement). Which we *could*
> do, I suppose. Certainly the resource assignment code is going to get rather
> more exciting anyway, to fully support the dynamic PCI hole.

Pretty much that...the way it is now if the order in which BARs are
enumerated is such that the first BAR wants a small amount (say 1KB
and gets 0xF0000000-0xF00003FF) and then the second BAR wants a large
amout (say 64 MB and gets 0xF4000000-0xF7FFFFFF) then a there is a big
waste (0xF0000400-0xF3FFFFFF == ~64 MB).  In the various
configurations I was running almost as much PCI device address space
got wasted as assigned.


Xen-devel mailing list

Xen-devel mailing list



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