Re: [Xen-devel] [PATCH v11 02/12] xen/pvh: Define what an PVH guestis.
From: Stefano Stabellini
Date: Wed Dec 18 2013 - 09:55:43 EST
On Wed, 18 Dec 2013, Stefano Stabellini wrote:
> On Tue, 17 Dec 2013, Konrad Rzeszutek Wilk wrote:
> > From: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
> >
> > Which is a PV guest with auto page translation enabled
> > and with vector callback. It is a cross between PVHVM and PV.
> >
> > The Xen side defines PVH as (from docs/misc/pvh-readme.txt,
> > with modifications):
> >
> > "* the guest uses auto translate:
> > - p2m is managed by Xen
> > - pagetables are owned by the guest
> > - mmu_update hypercall not available
> > * it uses event callback and not vlapic emulation,
> > * IDT is native, so set_trap_table hcall is also N/A for a PVH guest.
> >
> > For a full list of hcalls supported for PVH, see pvh_hypercall64_table
> > in arch/x86/hvm/hvm.c in xen. From the ABI prespective, it's mostly a
> > PV guest with auto translate, although it does use hvm_op for setting
> > callback vector."
> >
> > We don't have yet a Kconfig entry setup as we do not
> > have all the parts ready for it - so we piggyback
> > on the PVHVM config option. This scaffolding will
> > be removed later.
> >
> > Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>
> Could you please add an "&& CONFIG_X86"?
On second thought, given that it is just temporary and that PVHVM is not
defined on ARM, it could be OK. But maybe it is worth adding a small
comment on the fact that this is an x86-only option.
> > include/xen/xen.h | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/include/xen/xen.h b/include/xen/xen.h
> > index a74d436..1d6a237 100644
> > --- a/include/xen/xen.h
> > +++ b/include/xen/xen.h
> > @@ -29,4 +29,13 @@ extern enum xen_domain_type xen_domain_type;
> > #define xen_initial_domain() (0)
> > #endif /* CONFIG_XEN_DOM0 */
> >
> > +#ifdef CONFIG_XEN_PVHVM
> > +/* Temporarily under XEN_PVHVM, but will be under CONFIG_XEN_PVH */
> > +#include <xen/features.h>
> > +#define xen_pvh_domain() (xen_pv_domain() && \
> > + xen_feature(XENFEAT_auto_translated_physmap) && \
> > + xen_have_vector_callback)
> > +#else
> > +#define xen_pvh_domain() (0)
> > +#endif
> > #endif /* _XEN_XEN_H */
> > --
> > 1.8.3.1
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxx
> > http://lists.xen.org/xen-devel
> >
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
>
--
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/