Home | History | Annotate | Download | only in vki
      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