|   xen-devel
Re: [Xen-devel] [PATCH 3/7] xen/hvm: Xen PV extension of  HVM	initializa 
| To: | Jeremy Fitzhardinge <jeremy@xxxxxxxx> |  
| Subject: | Re: [Xen-devel] [PATCH 3/7] xen/hvm: Xen PV extension of  HVM	initialization |  
| From: | Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> |  
| Date: | Wed, 3 Mar 2010 11:35:52 +0000 |  
| Cc: | Fitzhardinge <Jeremy.Fitzhardinge@xxxxxxxxxx>, Jeremy,	Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>,	"Yaozu \(Eddie\) Dong" <eddie.dong@xxxxxxxxx>,	"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,	Stefano, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>,	Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx>,	xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>,	Keir Fraser <Keir.Fraser@xxxxxxxxxxxxx>, Sheng Yang <sheng@xxxxxxxxxxxxxxx> |  
| Delivery-date: | Wed, 03 Mar 2010 03:32:28 -0800 |  
| Envelope-to: | www-data@xxxxxxxxxxxxxxxxxxx |  
| In-reply-to: | <4B8D7248.5070807@xxxxxxxx> |  
| 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/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |  
| List-unsubscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |  
| References: | <1267436315-24486-1-git-send-email-sheng@xxxxxxxxxxxxxxx>	<1267436315-24486-4-git-send-email-sheng@xxxxxxxxxxxxxxx>	<4B8C63B0.2090507@xxxxxxxx>	<201003020938.53630.sheng@xxxxxxxxxxxxxxx>	<1267521735.11737.23107.camel@xxxxxxxxxxxxxxxxxxxxxx>	<4B8D7248.5070807@xxxxxxxx> |  
| Sender: | xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |  
| User-agent: | Alpine 2.00 (DEB 1167 2008-08-23) |  
| On Tue, 2 Mar 2010, Jeremy Fitzhardinge wrote:
> On 03/02/2010 01:22 AM, Ian Campbell wrote:
> > On Tue, 2010-03-02 at 01:38 +0000, Sheng Yang wrote:
> >    
> >> A annoy thing in pv drivers is that it would test if the domain type
> >> is _NOT_ XEN_NATIVE. So set the domain to XEN_HVM_DOMAIN would result
> >> in PV driver initialization then probably panic.
> >>      
> > What _actually_ panics?
> >
> > Registration of the frontend devices should be completely harmless
> > (apart from a little wasted RAM) unless a xenbus driver manages to come
> > up and enumerate the xen bus and cause the ->probe function run.
> >
> > You should be gating the xenbus startup on the availability of PV
> > functionality not the individual driver registrations. This keeps the
> > test in a single easy to maintain place.
> >
> > Compare with pci_register_driver and all of the callers of that function
> > -- not a single one of them has an "is_pci_available" test anywhere.
> >    
> 
> The problem is that it currently assumes xenbus is initialized by the 
> time the PV drivers init, because in a PV boot xenbus gets initted very 
> early.  We need to change it so that it can cope with drivers being 
> initialized and registering with xenbus before it has been initialized.
> 
> We have the same problem with plain PV-on-HVM drivers as xenbus only 
> comes up as a result of probing the Xen PCI platform device, which may 
> be after the PV drivers' init functions have been called.
Give a look at the fourth patch of the series I just posted: it
introduces a simple driver for the Xen PCI platform device to initialize
xenbus and gran table later on when running in a HVM domain, at the same
time leaving the PV case as it is.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 |  |