[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 2/2] x86/altp2m: Add a hvmop for setting the suppress #VE bit



On Mon, Jun 12, 2017 at 04:51:48PM +0100, Wei Liu wrote:
> On Fri, Jun 09, 2017 at 07:51:54PM +0300, Adrian Pop wrote:
> > Introduce a new hvmop, HVMOP_altp2m_set_suppress_ve, which allows a
> > privileged domain to change the value of the #VE suppress bit for a
> > page.
> > 
> > Add a libxc wrapper for invoking this hvmop.
> > 
> > Signed-off-by: Adrian Pop <apop@xxxxxxxxxxxxxxx>
> > ---
> >  tools/libxc/include/xenctrl.h   |  2 ++
> >  tools/libxc/xc_altp2m.c         | 24 +++++++++++++++++++
> >  xen/arch/x86/hvm/hvm.c          | 14 +++++++++++
> >  xen/arch/x86/mm/mem_access.c    | 52 
> > +++++++++++++++++++++++++++++++++++++++++
> >  xen/include/public/hvm/hvm_op.h | 15 ++++++++++++
> >  xen/include/xen/mem_access.h    |  3 +++
> >  6 files changed, 110 insertions(+)
> > 
> > diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
> > index 1629f412dd..f6ba8635bf 100644
> > --- a/tools/libxc/include/xenctrl.h
> > +++ b/tools/libxc/include/xenctrl.h
> > @@ -1926,6 +1926,8 @@ int xc_altp2m_destroy_view(xc_interface *handle, 
> > domid_t domid,
> >  /* Switch all vCPUs of the domain to the specified altp2m view */
> >  int xc_altp2m_switch_to_view(xc_interface *handle, domid_t domid,
> >                               uint16_t view_id);
> > +int xc_altp2m_set_suppress_ve(xc_interface *handle, domid_t domid,
> > +                              uint16_t view_id, xen_pfn_t gfn, bool sve);
> >  int xc_altp2m_set_mem_access(xc_interface *handle, domid_t domid,
> >                               uint16_t view_id, xen_pfn_t gfn,
> >                               xenmem_access_t access);
> > diff --git a/tools/libxc/xc_altp2m.c b/tools/libxc/xc_altp2m.c
> > index 0639632477..4710133918 100644
> > --- a/tools/libxc/xc_altp2m.c
> > +++ b/tools/libxc/xc_altp2m.c
> > @@ -163,6 +163,30 @@ int xc_altp2m_switch_to_view(xc_interface *handle, 
> > domid_t domid,
> >      return rc;
> >  }
> >  
> > +int xc_altp2m_set_suppress_ve(xc_interface *handle, domid_t domid,
> > +                              uint16_t view_id, xen_pfn_t gfn, bool sve)
> > +{
> > +    int rc;
> > +    DECLARE_HYPERCALL_BUFFER(xen_hvm_altp2m_op_t, arg);
> > +
> > +    arg = xc_hypercall_buffer_alloc(handle, arg, sizeof(*arg));
> > +    if ( arg == NULL )
> > +        return -1;
> > +
> > +    arg->version = HVMOP_ALTP2M_INTERFACE_VERSION;
> > +    arg->cmd = HVMOP_altp2m_set_suppress_ve;
> > +    arg->domain = domid;
> > +    arg->u.set_suppress_ve.view = view_id;
> > +    arg->u.set_suppress_ve.gfn = gfn;
> > +    arg->u.set_suppress_ve.suppress_ve = sve;
> > +
> > +    rc = xencall2(handle->xcall, __HYPERVISOR_hvm_op, HVMOP_altp2m,
> > +             HYPERCALL_BUFFER_AS_ARG(arg));
> 
> Indentation.

Oh, missed that.
 
> With that fixed, the change to libxc looks good:
> 
> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>

Thank you!

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.