__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);
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:
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) */
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;