Xen Test Framework
Data Structures | Macros | Typedefs | Enumerations
xen.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vcpu_time_info
 
struct  vcpu_info
 
struct  shared_info
 
struct  xen_pv_start_info
 
struct  mmu_update
 
struct  multicall_entry
 
struct  mmuext_op
 
struct  guest_handle_64_t
 

Macros

#define __HYPERVISOR_set_trap_table   0
 
#define __HYPERVISOR_mmu_update   1
 
#define __HYPERVISOR_set_gdt   2
 
#define __HYPERVISOR_stack_switch   3
 
#define __HYPERVISOR_set_callbacks   4
 
#define __HYPERVISOR_fpu_taskswitch   5
 
#define __HYPERVISOR_sched_op_compat   6 /* compat since 0x00030101 */
 
#define __HYPERVISOR_platform_op   7
 
#define __HYPERVISOR_set_debugreg   8
 
#define __HYPERVISOR_get_debugreg   9
 
#define __HYPERVISOR_update_descriptor   10
 
#define __HYPERVISOR_memory_op   12
 
#define __HYPERVISOR_multicall   13
 
#define __HYPERVISOR_update_va_mapping   14
 
#define __HYPERVISOR_set_timer_op   15
 
#define __HYPERVISOR_event_channel_op_compat   16 /* compat since 0x00030202 */
 
#define __HYPERVISOR_xen_version   17
 
#define __HYPERVISOR_console_io   18
 
#define __HYPERVISOR_physdev_op_compat   19 /* compat since 0x00030202 */
 
#define __HYPERVISOR_grant_table_op   20
 
#define __HYPERVISOR_vm_assist   21
 
#define __HYPERVISOR_update_va_mapping_otherdomain   22
 
#define __HYPERVISOR_iret   23 /* x86 only */
 
#define __HYPERVISOR_vcpu_op   24
 
#define __HYPERVISOR_set_segment_base   25 /* x86/64 only */
 
#define __HYPERVISOR_mmuext_op   26
 
#define __HYPERVISOR_xsm_op   27
 
#define __HYPERVISOR_nmi_op   28
 
#define __HYPERVISOR_sched_op   29
 
#define __HYPERVISOR_callback_op   30
 
#define __HYPERVISOR_xenoprof_op   31
 
#define __HYPERVISOR_event_channel_op   32
 
#define __HYPERVISOR_physdev_op   33
 
#define __HYPERVISOR_hvm_op   34
 
#define __HYPERVISOR_sysctl   35
 
#define __HYPERVISOR_domctl   36
 
#define __HYPERVISOR_kexec_op   37
 
#define __HYPERVISOR_tmem_op   38
 
#define __HYPERVISOR_argo_op   39
 
#define __HYPERVISOR_xenpmu_op   40
 
#define __HYPERVISOR_arch_0   48
 
#define __HYPERVISOR_arch_1   49
 
#define __HYPERVISOR_arch_2   50
 
#define __HYPERVISOR_arch_3   51
 
#define __HYPERVISOR_arch_4   52
 
#define __HYPERVISOR_arch_5   53
 
#define __HYPERVISOR_arch_6   54
 
#define __HYPERVISOR_arch_7   55
 
#define DOMID_FIRST_RESERVED   (0x7ff0U)
 
#define DOMID_SELF   (0x7ff0U)
 
#define CONSOLEIO_write   0
 
#define VMASST_CMD_enable   0
 
#define VMASST_CMD_disable   1
 
#define VMASST_TYPE_architectural_iopl   4
 
#define MAX_GUEST_CMDLINE   1024
 
#define SIF_PRIVILEGED   (1u << 0) /* Is the domain privileged? */
 
#define SIF_INITDOMAIN   (1u << 1) /* Is this the initial control domain? */
 
#define MMU_NORMAL_PT_UPDATE   0 /* checked '*ptr = val'. ptr is MA. */
 
#define MMU_MACHPHYS_UPDATE   1 /* ptr = MA of frame to modify entry for */
 
#define MMU_PT_UPDATE_PRESERVE_AD   2 /* atomically: *ptr = val | (*ptr&(A|D)) */
 
#define MMUEXT_PIN_L1_TABLE   0
 
#define MMUEXT_PIN_L2_TABLE   1
 
#define MMUEXT_PIN_L3_TABLE   2
 
#define MMUEXT_PIN_L4_TABLE   3
 
#define MMUEXT_UNPIN_TABLE   4
 
#define MMUEXT_NEW_BASEPTR   5
 
#define MMUEXT_TLB_FLUSH_LOCAL   6
 
#define MMUEXT_INVLPG_LOCAL   7
 
#define MMUEXT_TLB_FLUSH_MULTI   8
 
#define MMUEXT_INVLPG_MULTI   9
 
#define MMUEXT_TLB_FLUSH_ALL   10
 
#define MMUEXT_INVLPG_ALL   11
 
#define MMUEXT_FLUSH_CACHE   12
 
#define MMUEXT_SET_LDT   13
 
#define MMUEXT_NEW_USER_BASEPTR   15
 
#define MMUEXT_CLEAR_PAGE   16
 
#define MMUEXT_COPY_PAGE   17
 
#define MMUEXT_FLUSH_CACHE_GLOBAL   18
 
#define MMUEXT_MARK_SUPER   19
 
#define MMUEXT_UNMARK_SUPER   20
 

Typedefs

typedef uint16_t domid_t
 
typedef struct vcpu_time_info vcpu_time_info_t
 
typedef struct shared_info shared_info_t
 
typedef struct xen_pv_start_info xen_pv_start_info_t
 
typedef struct mmu_update mmu_update_t
 
typedef struct multicall_entry multicall_entry_t
 
typedef struct mmuext_op mmuext_op_t
 

Enumerations

enum  XEN_UVMF {
  UVMF_NONE = 0 << 0, UVMF_TLB_FLUSH = 1 << 0, UVMF_INVLPG = 2 << 0, UVMF_FLUSHTYPE_MASK = 3 << 0,
  UVMF_MULTI = 0 << 2, UVMF_LOCAL = 0 << 2, UVMF_ALL = 1 << 2
}
 

Macro Definition Documentation

◆ __HYPERVISOR_set_trap_table

#define __HYPERVISOR_set_trap_table   0

Definition at line 14 of file xen.h.

◆ __HYPERVISOR_mmu_update

#define __HYPERVISOR_mmu_update   1

Definition at line 15 of file xen.h.

◆ __HYPERVISOR_set_gdt

#define __HYPERVISOR_set_gdt   2

Definition at line 16 of file xen.h.

◆ __HYPERVISOR_stack_switch

#define __HYPERVISOR_stack_switch   3

Definition at line 17 of file xen.h.

◆ __HYPERVISOR_set_callbacks

#define __HYPERVISOR_set_callbacks   4

Definition at line 18 of file xen.h.

◆ __HYPERVISOR_fpu_taskswitch

#define __HYPERVISOR_fpu_taskswitch   5

Definition at line 19 of file xen.h.

◆ __HYPERVISOR_sched_op_compat

#define __HYPERVISOR_sched_op_compat   6 /* compat since 0x00030101 */

Definition at line 20 of file xen.h.

◆ __HYPERVISOR_platform_op

#define __HYPERVISOR_platform_op   7

Definition at line 21 of file xen.h.

◆ __HYPERVISOR_set_debugreg

#define __HYPERVISOR_set_debugreg   8

Definition at line 22 of file xen.h.

◆ __HYPERVISOR_get_debugreg

#define __HYPERVISOR_get_debugreg   9

Definition at line 23 of file xen.h.

◆ __HYPERVISOR_update_descriptor

#define __HYPERVISOR_update_descriptor   10

Definition at line 24 of file xen.h.

◆ __HYPERVISOR_memory_op

#define __HYPERVISOR_memory_op   12

Definition at line 25 of file xen.h.

◆ __HYPERVISOR_multicall

#define __HYPERVISOR_multicall   13

Definition at line 26 of file xen.h.

◆ __HYPERVISOR_update_va_mapping

#define __HYPERVISOR_update_va_mapping   14

Definition at line 27 of file xen.h.

◆ __HYPERVISOR_set_timer_op

#define __HYPERVISOR_set_timer_op   15

Definition at line 28 of file xen.h.

◆ __HYPERVISOR_event_channel_op_compat

#define __HYPERVISOR_event_channel_op_compat   16 /* compat since 0x00030202 */

Definition at line 29 of file xen.h.

◆ __HYPERVISOR_xen_version

#define __HYPERVISOR_xen_version   17

Definition at line 30 of file xen.h.

◆ __HYPERVISOR_console_io

#define __HYPERVISOR_console_io   18

Definition at line 31 of file xen.h.

◆ __HYPERVISOR_physdev_op_compat

#define __HYPERVISOR_physdev_op_compat   19 /* compat since 0x00030202 */

Definition at line 32 of file xen.h.

◆ __HYPERVISOR_grant_table_op

#define __HYPERVISOR_grant_table_op   20

Definition at line 33 of file xen.h.

◆ __HYPERVISOR_vm_assist

#define __HYPERVISOR_vm_assist   21

Definition at line 34 of file xen.h.

◆ __HYPERVISOR_update_va_mapping_otherdomain

#define __HYPERVISOR_update_va_mapping_otherdomain   22

Definition at line 35 of file xen.h.

◆ __HYPERVISOR_iret

#define __HYPERVISOR_iret   23 /* x86 only */

Definition at line 36 of file xen.h.

◆ __HYPERVISOR_vcpu_op

#define __HYPERVISOR_vcpu_op   24

Definition at line 37 of file xen.h.

◆ __HYPERVISOR_set_segment_base

#define __HYPERVISOR_set_segment_base   25 /* x86/64 only */

Definition at line 38 of file xen.h.

◆ __HYPERVISOR_mmuext_op

#define __HYPERVISOR_mmuext_op   26

Definition at line 39 of file xen.h.

◆ __HYPERVISOR_xsm_op

#define __HYPERVISOR_xsm_op   27

Definition at line 40 of file xen.h.

◆ __HYPERVISOR_nmi_op

#define __HYPERVISOR_nmi_op   28

Definition at line 41 of file xen.h.

◆ __HYPERVISOR_sched_op

#define __HYPERVISOR_sched_op   29

Definition at line 42 of file xen.h.

◆ __HYPERVISOR_callback_op

#define __HYPERVISOR_callback_op   30

Definition at line 43 of file xen.h.

◆ __HYPERVISOR_xenoprof_op

#define __HYPERVISOR_xenoprof_op   31

Definition at line 44 of file xen.h.

◆ __HYPERVISOR_event_channel_op

#define __HYPERVISOR_event_channel_op   32

Definition at line 45 of file xen.h.

◆ __HYPERVISOR_physdev_op

#define __HYPERVISOR_physdev_op   33

Definition at line 46 of file xen.h.

◆ __HYPERVISOR_hvm_op

#define __HYPERVISOR_hvm_op   34

Definition at line 47 of file xen.h.

◆ __HYPERVISOR_sysctl

#define __HYPERVISOR_sysctl   35

Definition at line 48 of file xen.h.

◆ __HYPERVISOR_domctl

#define __HYPERVISOR_domctl   36

Definition at line 49 of file xen.h.

◆ __HYPERVISOR_kexec_op

#define __HYPERVISOR_kexec_op   37

Definition at line 50 of file xen.h.

◆ __HYPERVISOR_tmem_op

#define __HYPERVISOR_tmem_op   38

Definition at line 51 of file xen.h.

◆ __HYPERVISOR_argo_op

#define __HYPERVISOR_argo_op   39

Definition at line 52 of file xen.h.

◆ __HYPERVISOR_xenpmu_op

#define __HYPERVISOR_xenpmu_op   40

Definition at line 53 of file xen.h.

◆ __HYPERVISOR_arch_0

#define __HYPERVISOR_arch_0   48

Definition at line 56 of file xen.h.

◆ __HYPERVISOR_arch_1

#define __HYPERVISOR_arch_1   49

Definition at line 57 of file xen.h.

◆ __HYPERVISOR_arch_2

#define __HYPERVISOR_arch_2   50

Definition at line 58 of file xen.h.

◆ __HYPERVISOR_arch_3

#define __HYPERVISOR_arch_3   51

Definition at line 59 of file xen.h.

◆ __HYPERVISOR_arch_4

#define __HYPERVISOR_arch_4   52

Definition at line 60 of file xen.h.

◆ __HYPERVISOR_arch_5

#define __HYPERVISOR_arch_5   53

Definition at line 61 of file xen.h.

◆ __HYPERVISOR_arch_6

#define __HYPERVISOR_arch_6   54

Definition at line 62 of file xen.h.

◆ __HYPERVISOR_arch_7

#define __HYPERVISOR_arch_7   55

Definition at line 63 of file xen.h.

◆ DOMID_FIRST_RESERVED

#define DOMID_FIRST_RESERVED   (0x7ff0U)

Definition at line 69 of file xen.h.

◆ DOMID_SELF

#define DOMID_SELF   (0x7ff0U)

Definition at line 70 of file xen.h.

◆ CONSOLEIO_write

#define CONSOLEIO_write   0

Definition at line 73 of file xen.h.

◆ VMASST_CMD_enable

#define VMASST_CMD_enable   0

Definition at line 78 of file xen.h.

◆ VMASST_CMD_disable

#define VMASST_CMD_disable   1

Definition at line 79 of file xen.h.

◆ VMASST_TYPE_architectural_iopl

#define VMASST_TYPE_architectural_iopl   4

Definition at line 87 of file xen.h.

◆ MAX_GUEST_CMDLINE

#define MAX_GUEST_CMDLINE   1024

Definition at line 230 of file xen.h.

◆ SIF_PRIVILEGED

#define SIF_PRIVILEGED   (1u << 0) /* Is the domain privileged? */

Definition at line 240 of file xen.h.

◆ SIF_INITDOMAIN

#define SIF_INITDOMAIN   (1u << 1) /* Is this the initial control domain? */

Definition at line 241 of file xen.h.

◆ MMU_NORMAL_PT_UPDATE

#define MMU_NORMAL_PT_UPDATE   0 /* checked '*ptr = val'. ptr is MA. */

Definition at line 246 of file xen.h.

◆ MMU_MACHPHYS_UPDATE

#define MMU_MACHPHYS_UPDATE   1 /* ptr = MA of frame to modify entry for */

Definition at line 247 of file xen.h.

◆ MMU_PT_UPDATE_PRESERVE_AD

#define MMU_PT_UPDATE_PRESERVE_AD   2 /* atomically: *ptr = val | (*ptr&(A|D)) */

Definition at line 248 of file xen.h.

◆ MMUEXT_PIN_L1_TABLE

#define MMUEXT_PIN_L1_TABLE   0

Definition at line 333 of file xen.h.

◆ MMUEXT_PIN_L2_TABLE

#define MMUEXT_PIN_L2_TABLE   1

Definition at line 334 of file xen.h.

◆ MMUEXT_PIN_L3_TABLE

#define MMUEXT_PIN_L3_TABLE   2

Definition at line 335 of file xen.h.

◆ MMUEXT_PIN_L4_TABLE

#define MMUEXT_PIN_L4_TABLE   3

Definition at line 336 of file xen.h.

◆ MMUEXT_UNPIN_TABLE

#define MMUEXT_UNPIN_TABLE   4

Definition at line 337 of file xen.h.

◆ MMUEXT_NEW_BASEPTR

#define MMUEXT_NEW_BASEPTR   5

Definition at line 338 of file xen.h.

◆ MMUEXT_TLB_FLUSH_LOCAL

#define MMUEXT_TLB_FLUSH_LOCAL   6

Definition at line 339 of file xen.h.

◆ MMUEXT_INVLPG_LOCAL

#define MMUEXT_INVLPG_LOCAL   7

Definition at line 340 of file xen.h.

◆ MMUEXT_TLB_FLUSH_MULTI

#define MMUEXT_TLB_FLUSH_MULTI   8

Definition at line 341 of file xen.h.

◆ MMUEXT_INVLPG_MULTI

#define MMUEXT_INVLPG_MULTI   9

Definition at line 342 of file xen.h.

◆ MMUEXT_TLB_FLUSH_ALL

#define MMUEXT_TLB_FLUSH_ALL   10

Definition at line 343 of file xen.h.

◆ MMUEXT_INVLPG_ALL

#define MMUEXT_INVLPG_ALL   11

Definition at line 344 of file xen.h.

◆ MMUEXT_FLUSH_CACHE

#define MMUEXT_FLUSH_CACHE   12

Definition at line 345 of file xen.h.

◆ MMUEXT_SET_LDT

#define MMUEXT_SET_LDT   13

Definition at line 346 of file xen.h.

◆ MMUEXT_NEW_USER_BASEPTR

#define MMUEXT_NEW_USER_BASEPTR   15

Definition at line 347 of file xen.h.

◆ MMUEXT_CLEAR_PAGE

#define MMUEXT_CLEAR_PAGE   16

Definition at line 348 of file xen.h.

◆ MMUEXT_COPY_PAGE

#define MMUEXT_COPY_PAGE   17

Definition at line 349 of file xen.h.

◆ MMUEXT_FLUSH_CACHE_GLOBAL

#define MMUEXT_FLUSH_CACHE_GLOBAL   18

Definition at line 350 of file xen.h.

◆ MMUEXT_MARK_SUPER

#define MMUEXT_MARK_SUPER   19

Definition at line 351 of file xen.h.

◆ MMUEXT_UNMARK_SUPER

#define MMUEXT_UNMARK_SUPER   20

Definition at line 352 of file xen.h.

Typedef Documentation

◆ domid_t

typedef uint16_t domid_t

Definition at line 66 of file xen.h.

◆ vcpu_time_info_t

Definition at line 117 of file xen.h.

◆ shared_info_t

typedef struct shared_info shared_info_t

Definition at line 202 of file xen.h.

◆ xen_pv_start_info_t

Definition at line 236 of file xen.h.

◆ mmu_update_t

typedef struct mmu_update mmu_update_t

Definition at line 252 of file xen.h.

◆ multicall_entry_t

Definition at line 267 of file xen.h.

◆ mmuext_op_t

typedef struct mmuext_op mmuext_op_t

Definition at line 373 of file xen.h.

Enumeration Type Documentation

◆ XEN_UVMF

enum XEN_UVMF
Enumerator
UVMF_NONE 
UVMF_TLB_FLUSH 
UVMF_INVLPG 
UVMF_FLUSHTYPE_MASK 
UVMF_MULTI 
UVMF_LOCAL 
UVMF_ALL 

Definition at line 380 of file xen.h.