1 #ifndef __VKI_XEN_HVM_H 2 #define __VKI_XEN_HVM_H 3 4 /* Get/set subcommands: extra argument == pointer to xen_hvm_param struct. */ 5 #define VKI_XEN_HVMOP_set_param 0 6 #define VKI_XEN_HVMOP_get_param 1 7 struct vki_xen_hvm_param { 8 vki_xen_domid_t domid; /* IN */ 9 vki_uint32_t index; /* IN */ 10 vki_uint64_t value; /* IN/OUT */ 11 }; 12 13 #define VKI_XEN_HVMOP_set_isa_irq_level 3 14 struct vki_xen_hvm_set_isa_irq_level { 15 vki_xen_domid_t domid; 16 vki_uint8_t isa_irq; 17 vki_uint8_t level; 18 }; 19 typedef struct vki_xen_hvm_set_isa_irq_level vki_xen_hvm_set_isa_irq_level_t; 20 21 #define VKI_XEN_HVMOP_set_pci_link_route 4 22 struct vki_xen_hvm_set_pci_link_route { 23 vki_xen_domid_t domid; 24 vki_uint8_t link; 25 vki_uint8_t isa_irq; 26 }; 27 typedef struct vki_xen_hvm_set_pci_link_route vki_xen_hvm_set_pci_link_route_t; 28 29 #define VKI_XEN_HVMOP_set_mem_type 8 30 struct vki_xen_hvm_set_mem_type { 31 vki_xen_domid_t domid; 32 vki_uint16_t hvmmem_type; 33 vki_uint32_t nr; 34 vki_uint64_t first_pfn; 35 }; 36 typedef struct vki_xen_hvm_set_mem_type vki_xen_hvm_set_mem_type_t; 37 38 #define VKI_XEN_HVMOP_set_mem_access 12 39 struct vki_xen_hvm_set_mem_access { 40 vki_xen_domid_t domid; 41 vki_uint16_t hvmmem_access; 42 vki_uint32_t nr; 43 vki_uint64_t first_pfn; 44 }; 45 typedef struct vki_xen_hvm_set_mem_access vki_xen_hvm_set_mem_access_t; 46 47 #define VKI_XEN_HVMOP_get_mem_access 13 48 struct vki_xen_hvm_get_mem_access { 49 vki_xen_domid_t domid; 50 vki_uint16_t hvmmem_access; /* OUT */ 51 vki_uint64_t pfn; 52 }; 53 typedef struct vki_xen_hvm_get_mem_access vki_xen_hvm_get_mem_access_t; 54 55 #define VKI_XEN_HVMOP_inject_trap 14 56 struct vki_xen_hvm_inject_trap { 57 vki_xen_domid_t domid; 58 vki_uint32_t vcpuid; 59 vki_uint32_t vector; 60 vki_uint32_t type; 61 vki_uint32_t error_code; 62 vki_uint32_t insn_len; 63 vki_uint64_t cr2; 64 }; 65 typedef struct vki_xen_hvm_inject_trap vki_xen_hvm_inject_trap_t; 66 67 #endif // __VKI_XEN_HVM_H 68 69 /*--------------------------------------------------------------------*/ 70 /*--- end ---*/ 71 /*--------------------------------------------------------------------*/ 72