__PRE_XEN_DOMCTL_READ(set_address_size, address_size, size);
break;
+ case VKI_XEN_DOMCTL_test_assign_device:
+ __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device, machine_sbdf);
+ break;
+ case VKI_XEN_DOMCTL_assign_device:
+ __PRE_XEN_DOMCTL_READ(assign_device, assign_device, machine_sbdf);
+ break;
+ case VKI_XEN_DOMCTL_deassign_device:
+ __PRE_XEN_DOMCTL_READ(deassign_device, assign_device, machine_sbdf);
+ break;
+
case VKI_XEN_DOMCTL_settscinfo:
__PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.tsc_mode);
__PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.gtsc_khz);
case VKI_XEN_DOMCTL_max_mem:
case VKI_XEN_DOMCTL_setvcpuextstate:
case VKI_XEN_DOMCTL_set_address_size:
+ case VKI_XEN_DOMCTL_test_assign_device:
+ case VKI_XEN_DOMCTL_assign_device:
+ case VKI_XEN_DOMCTL_deassign_device:
case VKI_XEN_DOMCTL_settscinfo:
case VKI_XEN_DOMCTL_ioport_permission:
case VKI_XEN_DOMCTL_hypercall_init:
vki_uint32_t size;
};
+struct vki_xen_domctl_assign_device {
+ vki_uint32_t machine_sbdf; /* machine PCI ID of assigned device */
+};
+
struct vki_xen_domctl_debug_op {
vki_uint32_t op; /* IN */
vki_uint32_t vcpu; /* IN */
struct vki_xen_domctl_address_size address_size;
//struct vki_xen_domctl_sendtrigger sendtrigger;
//struct vki_xen_domctl_get_device_group get_device_group;
- //struct vki_xen_domctl_assign_device assign_device;
+ struct vki_xen_domctl_assign_device assign_device;
//struct vki_xen_domctl_bind_pt_irq bind_pt_irq;
//struct vki_xen_domctl_memory_mapping memory_mapping;
//struct vki_xen_domctl_ioport_mapping ioport_mapping;