]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
xen: implement VKI_XEN_DOMCTL_irq_permission
authorBart Van Assche <bvanassche@acm.org>
Sun, 28 Jun 2015 16:42:38 +0000 (16:42 +0000)
committerBart Van Assche <bvanassche@acm.org>
Sun, 28 Jun 2015 16:42:38 +0000 (16:42 +0000)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15375

coregrind/m_syswrap/syswrap-xen.c
include/vki/vki-xen-domctl.h

index ed948a041dc5f08b5a51e4949b9705694359392c..55963de0755feeb2b7bbd4d0db4209306ea1aa6a 100644 (file)
@@ -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:
index 8d18b98766ff394c03903d2826f6bef026b17074..7b98e243e838772f0577483498d9c5723a438f44 100644 (file)
@@ -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;