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

Re: [Xen-devel] Source of guest-physical address in PCI BAR for HVM domain?

  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
  • From: "David Stone" <unclestoner@xxxxxxxxx>
  • Date: Mon, 7 Jan 2008 16:39:16 -0500
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Philip Kufeldt <pak@xxxxxxxxxxxxx>, Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
  • Delivery-date: Mon, 07 Jan 2008 13:39:55 -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:content-transfer-encoding:content-disposition:references; b=hf3gLZx8f/Lk3FTDLp7366yWl6Eq0AMiC/ZF/gPQoiiyjqN9UVA0AsrWOxgiMdk5KBNnQJNgWvnHZ9jehD8HL/zKbyg7mnUeo9XjB5m2r5j6SvL2EyqHOM1sjrbtIzl7QfuUdjEGw6qz5kFsfOofoOsT430zbmvZ7VH+mtPpky4=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Thanks for the pointer...I believe I see the problem.  The code in
pci_setup starts granting guest-physical address space to PCI devices
at 0xF0000000.  The problem in my case is, my PCI-XP graphics card
wants 256MB of guest-phyical address space for its video RAM.  That
wraps around to 0x00000000.  It doesn't look like the code handles
this, so it just merrily wraps around and ends up assigning memory
ranges that are already in use for system RAM!

I'll have a look at improving this...


On Jan 6, 2008 6:15 PM, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:
> I see there's been a small email thread on this topic now, but I want to
> point out that the code that configures the PCI BARs initially is not in the
> rombios code but is in the hvmloader code. See
> tools/formware/hvmloader/hvmloader.c:pci_setup().
>  -- Keir
> On 4/1/08 16:35, "David Stone" <unclestoner@xxxxxxxxx> wrote:
> > I understand that eventually it would be the HVM guest OS that would
> > write to the PCI configuration IO port which would get caught be Xen
> > and passed along to qemu.  But, this is happending early in the boot
> > process before the guest OS proper is even running.  My understanding
> > of how PCI systems work is that the BIOS first configures (a subset
> > of) the PCI devices, and then the once the real OS is initializing it
> > can re-configure any PCI devices it wants to.  Can someone tell me if
> > this is correct?
> >
> > If so, shouldn't the early PCI configuration from the BIOS be coming
> > from qemu itself?  My understanding is that qemu emulates a BIOS for
> > HVM domains.

Xen-devel mailing list



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