Paul Durrant
2013-Jun-14 10:38 UTC
Re: [Qemu-devel] [PATCH] Remove hardcoded xen-platform device initialization
> -----Original Message----- > From: qemu-devel-bounces+paul.durrant=citrix.com@nongnu.org > [mailto:qemu-devel-bounces+paul.durrant=citrix.com@nongnu.org] On > Behalf Of Paul Durrant > Sent: 14 June 2013 10:01 > To: Paolo Bonzini; Ian Campbell > Cc: xen-devel@lists.xen.org; qemu-devel@nongnu.org; Stefano Stabellini > Subject: Re: [Qemu-devel] [Xen-devel] [PATCH] Remove hardcoded xen- > platform device initialization > > > -----Original Message----- > > From: Paolo Bonzini [mailto:paolo.bonzini@gmail.com] On Behalf Of Paolo > > Bonzini > > Sent: 13 June 2013 19:03 > > To: Ian Campbell > > Cc: Stefano Stabellini; Paul Durrant; qemu-devel@nongnu.org; xen- > > devel@lists.xen.org > > Subject: Re: [Xen-devel] [PATCH] Remove hardcoded xen-platform device > > initialization > > > > Il 13/06/2013 13:44, Ian Campbell ha scritto: > > > On Thu, 2013-06-13 at 18:33 +0100, Stefano Stabellini wrote: > > >> On Thu, 13 Jun 2013, Paul Durrant wrote: > > >>> The xen-platform device should be initialized by the Xen toolstack by > > >>> passing the appropriate -device argument on the command line. > > >>> > > >>> Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > > >> > > >> This patch is problematic because we can''t know for sure the version of > > >> upstream QEMU that is going to be used with Xen. > > >> If we apply this patch and QEMU 1.5 is going to be used with Xen 4.2, > > >> guests won''t be able to use PV drivers. > > > > > > Is the right answer a lever to disable, rather than enable, it? > > > > > > A workaround for the situation you envisage is to use the > > > device_model_args config option, not ideal though. > > > > I think the right solution for this is to move towards using the normal > > "-M pc" machine. libxl can simply use "-M pc -machine accel=xen -device > > xen-platform-pv"; older versions that use the xenfv machine will still work. > > > > And if you do this, you will also get the benefit of versioned machine > > types. > > > > Thanks. I''ll have a look at that. >It''s a little more complicated than I thought. There are two machine types, xenpv and xenfv (i.e. HVM), and they share the accel=xen option. Thus QEMU attaches to the VM in the machine code rather than the accelerator init code. Using -M pc is therefore not an option, unless we perhaps have separate accel options. Either way this doesn''t address the backwards compatibility issue. I think QEMU is going to need to know which version of the Xen toolstack invoked it unless we specify a compatibility matrix. Paul