Re: [Xen-devel] [PATCH v11 09/12] xen/pvh: Piggyback on PVHVMXenBus and event channels for PVH.

From: Mukesh Rathor
Date: Fri Jan 03 2014 - 19:30:29 EST


On Fri, 3 Jan 2014 15:04:27 +0000
Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> wrote:

> On Tue, 31 Dec 2013, Konrad Rzeszutek Wilk wrote:
> > > > --- a/drivers/xen/xenbus/xenbus_client.c
> > > > +++ b/drivers/xen/xenbus/xenbus_client.c
> > > > @@ -45,6 +45,7 @@
> > > > #include <xen/grant_table.h>
> > > > #include <xen/xenbus.h>
> > > > #include <xen/xen.h>
> > > > +#include <xen/features.h>
> > > >
> > > > #include "xenbus_probe.h"
> > > >
> > > > @@ -743,7 +744,7 @@ static const struct xenbus_ring_ops
> > > > ring_ops_hvm = {
> > > > void __init xenbus_ring_ops_init(void)
> > > > {
> > > > - if (xen_pv_domain())
> > > > + if (xen_pv_domain()
> > > > && !xen_feature(XENFEAT_auto_translated_physmap))
> > >
> > > Can we just change this test to
> > >
> > > if (!xen_feature(XENFEAT_auto_translated_physmap))
> > >
> > > ?
> >
> > No. If we do then the HVM domains (which are also !auto-xlat)
> > will end up using the PV version of ring_ops.
>
> Actually HVM guests have XENFEAT_auto_translated_physmap, so in this
> case they would get &ring_ops_hvm.

Right. Back then I was confused about all the other PV modes, like
shadow, supervisor, ... but looks like they are all obsolete. It could
just be:

if (!xen_feature(XENFEAT_auto_translated_physmap))
ring_ops = &ring_ops_pv;
else
ring_ops = &ring_ops_hvm;

thanks,
Mukesh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/