From: Bart Van Assche Date: Sun, 28 Jun 2015 16:42:05 +0000 (+0000) Subject: xen: support for XEN_DOMCTL_iomem_permission X-Git-Tag: svn/VALGRIND_3_11_0~270 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=278a3d1df5450fdd9ca08d1bcfbcbbbca5715be9;p=thirdparty%2Fvalgrind.git xen: support for XEN_DOMCTL_iomem_permission Signed-off-by: Ian Campbell git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15374 --- diff --git a/coregrind/m_syswrap/syswrap-xen.c b/coregrind/m_syswrap/syswrap-xen.c index 548649a0dc..ed948a041d 100644 --- a/coregrind/m_syswrap/syswrap-xen.c +++ b/coregrind/m_syswrap/syswrap-xen.c @@ -680,6 +680,12 @@ PRE(domctl) __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.elapsed_nsec); break; + case VKI_XEN_DOMCTL_iomem_permission: + PRE_XEN_DOMCTL_READ(iomem_permission, first_mfn); + PRE_XEN_DOMCTL_READ(iomem_permission, nr_mfns); + PRE_XEN_DOMCTL_READ(iomem_permission, allow_access); + break; + case VKI_XEN_DOMCTL_ioport_permission: PRE_XEN_DOMCTL_READ(ioport_permission, first_port); PRE_XEN_DOMCTL_READ(ioport_permission, nr_ports); @@ -1447,6 +1453,7 @@ POST(domctl){ case VKI_XEN_DOMCTL_assign_device: case VKI_XEN_DOMCTL_deassign_device: case VKI_XEN_DOMCTL_settscinfo: + case VKI_XEN_DOMCTL_iomem_permission: case VKI_XEN_DOMCTL_ioport_permission: case VKI_XEN_DOMCTL_hypercall_init: case VKI_XEN_DOMCTL_setvcpucontext: diff --git a/include/vki/vki-xen-domctl.h b/include/vki/vki-xen-domctl.h index 6bb872ac8e..8d18b98766 100644 --- a/include/vki/vki-xen-domctl.h +++ b/include/vki/vki-xen-domctl.h @@ -280,6 +280,12 @@ struct vki_xen_domctl_max_vcpus { vki_uint32_t max; /* maximum number of vcpus */ }; +struct vki_xen_domctl_iomem_permission { + vki_xen_uint64_aligned_t first_mfn;/* first page (physical page number) in range */ + vki_xen_uint64_aligned_t nr_mfns; /* number of pages in range (>0) */ + vki_uint8_t allow_access; /* allow (!0) or deny (0) access to range? */ +}; + struct vki_xen_domctl_ioport_permission { vki_uint32_t first_port; /* IN */ vki_uint32_t nr_ports; /* IN */ @@ -454,7 +460,7 @@ struct vki_xen_domctl { //struct vki_xen_domctl_setdomainhandle setdomainhandle; //struct vki_xen_domctl_setdebugging setdebugging; //struct vki_xen_domctl_irq_permission irq_permission; - //struct vki_xen_domctl_iomem_permission iomem_permission; + struct vki_xen_domctl_iomem_permission iomem_permission; struct vki_xen_domctl_ioport_permission ioport_permission; struct vki_xen_domctl_hypercall_init hypercall_init; //struct vki_xen_domctl_arch_setup arch_setup;