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

Re: [Xen-devel] [PATCH v2 2/3] mem_event: Added new helper API to teardown mem event setup and unmap ring_page.





On Tue, Aug 26, 2014 at 4:23 AM, Aravindh Puthiyaparambil (aravindp) <aravindp@xxxxxxxxx> wrote:
>tools/libxc/xc_mem_event.c: Added new generic API to teardown mem
>event setup,
>the API supports hvm params PAGING, ACCESS and SHARING and also
>completes the
>obvious job of unmapping ring_page.
>
>tools/libxc/xc_mem_access.c: Modified mem_event_disable to use the new
>teardown API.
>
>tools/tests/xen-access/: Updated code to use the new API's.
>
>Signed-off-by: Dushyant Behl <myselfdushyantbehl@xxxxxxxxx>
>---
> tools/libxc/xc_mem_access.c    Â| 9 +++----
> tools/libxc/xc_mem_event.c     | 53
>+++++++++++++++++++++++++++++++++++++
> tools/libxc/xc_private.h      | 8 ++++++
> tools/libxc/xenctrl.h       Â| 5 ++--
> tools/tests/xen-access/xen-access.c |Â 6 ++---
> 5 files changed, 69 insertions(+), 12 deletions(-)
>
>diff --git a/tools/libxc/xc_mem_access.c b/tools/libxc/xc_mem_access.c
>index 89050be..29835c3 100644
>--- a/tools/libxc/xc_mem_access.c
>+++ b/tools/libxc/xc_mem_access.c
>@@ -33,12 +33,11 @@ int xc_mem_access_enable(xc_interface *xch,
>domid_t domain_id,
>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â port, ring_page, back_ring);
> }
>
>-int xc_mem_access_disable(xc_interface *xch, domid_t domain_id)
>+int xc_mem_access_disable(xc_interface *xch, domid_t domain_id, void
>*ring_page)
> {
>-Â Â return xc_mem_event_control(xch, domain_id,
>-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â XEN_DOMCTL_MEM_EVENT_OP_ACCESS_DISABLE,
>-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â XEN_DOMCTL_MEM_EVENT_OP_ACCESS,
>-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL);
>+Â Â return xc_mem_event_disable(xch, domain_id,
>+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â HVM_PARAM_ACCESS_RING_PFN,
>+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ring_page);
> }
>
> int xc_mem_access_resume(xc_interface *xch, domid_t domain_id)
>diff --git a/tools/libxc/xc_mem_event.c b/tools/libxc/xc_mem_event.c
>index cdbeca8..b6ae7d0 100644
>--- a/tools/libxc/xc_mem_event.c
>+++ b/tools/libxc/xc_mem_event.c
>@@ -200,3 +200,56 @@ int xc_mem_event_enable(xc_interface *xch,
>domid_t domain_id, int param,
>
>Â Â Âreturn rc1;
> }
>+
>+/*
>+ * Disable mem_event.
>+ * Returns 0 on success, if failure returns -1 with errno properly set.
>+ * param can be HVM_PARAM_PAGING/ACCESS/SHARING_RING_PFN
>+ */
>+int xc_mem_event_disable(xc_interface *xch, domid_t domain_id,
>+Â Â Â Â Â Â Â Â Â Â Â Â Âint param, void *ring_page)
>+{
>+Â Â int rc;
>+Â Â unsigned int op, mode;
>+
>+Â Â switch ( param )
>+Â Â {
>+Â Â Â Â case HVM_PARAM_PAGING_RING_PFN:
>+Â Â Â Â Â Â op = XEN_DOMCTL_MEM_EVENT_OP_PAGING_DISABLE;
>+Â Â Â Â Â Â mode = XEN_DOMCTL_MEM_EVENT_OP_PAGING;
>+Â Â Â Â Â Â break;
>+
>+Â Â Â Â case HVM_PARAM_ACCESS_RING_PFN:
>+Â Â Â Â Â Â op = XEN_DOMCTL_MEM_EVENT_OP_ACCESS_DISABLE;
>+Â Â Â Â Â Â mode = XEN_DOMCTL_MEM_EVENT_OP_ACCESS;
>+Â Â Â Â Â Â break;
>+
>+Â Â Â Â case HVM_PARAM_SHARING_RING_PFN:
>+Â Â Â Â Â Â op = XEN_DOMCTL_MEM_EVENT_OP_SHARING_DISABLE;
>+Â Â Â Â Â Â mode = XEN_DOMCTL_MEM_EVENT_OP_SHARING;
>+Â Â Â Â Â Â break;
>+
>+Â Â Â Â /*
>+Â Â Â Â Â* This is for the outside chance that the HVM_PARAM is valid but is
>invalid
>+Â Â Â Â Â* as far as mem_event goes.
>+Â Â Â Â Â*/
>+Â Â Â Â default:
>+Â Â Â Â Â Â errno = EINVAL;
>+Â Â Â Â Â Â rc = -1;
>+Â Â Â Â Â Â goto out;
>+Â Â }

Sorry, I should have caught this in my previous review. I think the Xen coding style places the case statement with the same indent as the switch.
No problem, I'll update the patch.Â

Thanks,
Dushyant
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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