From: Bart Van Assche Date: Sun, 28 Jun 2015 16:42:38 +0000 (+0000) Subject: xen: implement VKI_XEN_DOMCTL_irq_permission X-Git-Tag: svn/VALGRIND_3_11_0~269 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04c609b9987de6ffde4f701eaee4c8e95c9b4d7e;p=thirdparty%2Fvalgrind.git xen: implement VKI_XEN_DOMCTL_irq_permission Signed-off-by: Ian Campbell git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15375 --- diff --git a/coregrind/m_syswrap/syswrap-xen.c b/coregrind/m_syswrap/syswrap-xen.c index ed948a041d..55963de075 100644 --- a/coregrind/m_syswrap/syswrap-xen.c +++ b/coregrind/m_syswrap/syswrap-xen.c @@ -680,6 +680,11 @@ PRE(domctl) __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.elapsed_nsec); break; + case VKI_XEN_DOMCTL_irq_permission: + PRE_XEN_DOMCTL_READ(irq_permission, pirq); + PRE_XEN_DOMCTL_READ(irq_permission, allow_access); + break; + case VKI_XEN_DOMCTL_iomem_permission: PRE_XEN_DOMCTL_READ(iomem_permission, first_mfn); PRE_XEN_DOMCTL_READ(iomem_permission, nr_mfns); @@ -1453,6 +1458,7 @@ POST(domctl){ case VKI_XEN_DOMCTL_assign_device: case VKI_XEN_DOMCTL_deassign_device: case VKI_XEN_DOMCTL_settscinfo: + case VKI_XEN_DOMCTL_irq_permission: case VKI_XEN_DOMCTL_iomem_permission: case VKI_XEN_DOMCTL_ioport_permission: case VKI_XEN_DOMCTL_hypercall_init: diff --git a/include/vki/vki-xen-domctl.h b/include/vki/vki-xen-domctl.h index 8d18b98766..7b98e243e8 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 */ }; +/* XEN_DOMCTL_irq_permission */ +struct vki_xen_domctl_irq_permission { + vki_uint8_t pirq; + vki_uint8_t allow_access; /* flag to specify enable/disable of IRQ access */ +}; + 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) */ @@ -459,7 +465,7 @@ struct vki_xen_domctl { struct vki_xen_domctl_scheduler_op scheduler_op; //struct vki_xen_domctl_setdomainhandle setdomainhandle; //struct vki_xen_domctl_setdebugging setdebugging; - //struct vki_xen_domctl_irq_permission irq_permission; + struct vki_xen_domctl_irq_permission irq_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;