WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Source of guest-physical address in PCI BAR for HVM domain?
From: "David Stone" <unclestoner@xxxxxxxxx>
Date: Fri, 4 Jan 2008 11:35:04 -0500
Delivery-date: Fri, 04 Jan 2008 08:35:30 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=xaHTdlfAOe1i+MJbJRtXFyZYPypAakaxxeaKY09m6ug=; b=xKmDeuUkcmHZFZ2MMg8TmgQWriVgEAdzpTFYs6j6TZli6xAzZCGcVLpYpiFZrncQnOesXAwnO2RZpv6CrsJHlx283hQ8MDr8jkRgyL7F+2tnhTkHNEjSmD0StS06CVdpH/DfWfXw5CdiCtYB4/w0mNFGmDT2q2BjgTN5WxpVOEQ=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=vK1KAMfhL37769zFIp/hCKZ05lO+rwgbJ9cDxYsxHfDwDYUFvX4ozOo3GxUqKlVmRVI1sE/Ccnrzk8pkFiOJNy3USkua5eXOkb9knwm/Oe3Zq074KvlmasDZGtehI/wXshcYrboKiimsLiIDpPrxqSYRB/HNsbCmJsymkc56QAE=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I'm seeing a seemingly bad guest-physical address get used for a PCI
BAR, so I'm trying to understand who is coming up with this address.
The domain is HVM (Windows 2003).  I'm debugging the qemu-dm process
for the domain and I see where the bad value gets written to the
guest's (virtual) PCI config space for the PCI device in question.
The call stack at that point shows:
  main
  main_loop
  main_loop_wait
  cpu_handle_ioreq
  etc.
So I guess this the PCI config-space write to set the BAR is passed to
qemu-dm as a command from the hypervisor or some other process?

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.

Thanks,
Dave

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel