Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

Re: [Xen-devel] [Experimental PATCH] PCI and IO device emulation

To: Stefan Berger <stefanb@xxxxxxxxxx>
Subject: Re: [Xen-devel] [Experimental PATCH] PCI and IO device emulation
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Fri, 30 Sep 2005 18:17:08 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Neugebauer, Rolf" <rolf.neugebauer@xxxxxxxxx>
Delivery-date: Fri, 30 Sep 2005 17:22:27 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <OF23BF2637.9FBEDBC8-ON8525708C.004CA9A7-8625708C.00645FFB@xxxxxxxxxx>
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>
References: <OF23BF2637.9FBEDBC8-ON8525708C.004CA9A7-8625708C.00645FFB@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 30 Sep 2005, at 18:14, Stefan Berger wrote:

Access to PCI config space is protected by spinlocks. First one writes bus/device/function and address into the config register then one reads or writes from/to the data register affecting the previously given address. To properly protect access to the config space it really should be done in a common place and accessed in the same way by domain 0 and any other domain.

That's orthogonal to whether we emulate or have an explicit hypercall. Yes, dom0 would have to use the same interface as the domUs.

I don't think you would like to move ownership of the IO-APIC to Xen and let Xen do that part of the setup.  Therefore, I would build a request list for domain 0 to do the necessary setup for those devices it does not see and provide the HV with the necessary information (like machine physical interrupt) it needs to properly route the IRQs to a domain that is accessing a device. This would require an additional module in the domain 0 kernel and some more hypercalls.

Seems simpler just to get dom0 to do the final setup when it builds the driver domain.

 -- Keir


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