diff options
author | Joe Epstein <jepstein98@gmail.com> | 2011-01-07 11:54:45 +0000 |
---|---|---|
committer | Joe Epstein <jepstein98@gmail.com> | 2011-01-07 11:54:45 +0000 |
commit | 81f8af44baecf94a72d08cde1619f5af63c1b3a7 (patch) | |
tree | e4567ecb0212bfbd8ca85dd0c2cf01e601ec14c4 /tools/libxc/xc_mem_access.c | |
parent | b405792883f6e2f3001328865af6960968441ad6 (diff) | |
download | xen-81f8af44baecf94a72d08cde1619f5af63c1b3a7.tar.gz xen-81f8af44baecf94a72d08cde1619f5af63c1b3a7.tar.bz2 xen-81f8af44baecf94a72d08cde1619f5af63c1b3a7.zip |
mem_access: HVMOPs for setting mem access
* Creates HVMOPs for setting and getting memory access. The hypercalls
can set individual pages or the default access for new/refreshed
pages.
* Added functions to libxc to access these hypercalls.
Signed-off-by: Joe Epstein <jepstein98@gmail.com>
Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
Diffstat (limited to 'tools/libxc/xc_mem_access.c')
-rw-r--r-- | tools/libxc/xc_mem_access.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/libxc/xc_mem_access.c b/tools/libxc/xc_mem_access.c new file mode 100644 index 0000000000..b9e66bbd07 --- /dev/null +++ b/tools/libxc/xc_mem_access.c @@ -0,0 +1,42 @@ +/****************************************************************************** + * + * tools/libxc/xc_mem_access.c + * + * Interface to low-level memory access mode functionality + * + * Copyright (c) 2011 Virtuata, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "xc_private.h" + + +int xc_mem_access_resume(xc_interface *xch, domid_t domain_id, unsigned long gfn) +{ + return xc_mem_event_control(xch, domain_id, + XEN_DOMCTL_MEM_EVENT_OP_ACCESS_RESUME, + XEN_DOMCTL_MEM_EVENT_OP_ACCESS, NULL, NULL, + gfn); +} + +/* + * Local variables: + * mode: C + * c-set-style: "BSD" + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */ |