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