iPXE
Data Structures | Macros | Typedefs | Functions
xen.h File Reference
#include "xen-compat.h"
#include <bits/xen.h>

Go to the source code of this file.

Data Structures

struct  mmuext_op
 
struct  mmu_update
 
struct  multicall_entry
 
struct  vcpu_time_info
 
struct  vcpu_info
 
struct  shared_info
 
struct  xen_multiboot_mod_list
 
struct  dom0_vga_console_info
 
struct  xen_uuid_t
 

Macros

#define XEN_FLEX_ARRAY_DIM   1 /* variable size */
 
#define __xen_mk_uint(x)   x ## U
 
#define __xen_mk_ulong(x)   x ## UL
 
#define __xen_mk_ullong(x)   x ## ULL
 
#define xen_mk_uint(x)   __xen_mk_uint(x)
 
#define xen_mk_ulong(x)   __xen_mk_ulong(x)
 
#define xen_mk_ullong(x)   __xen_mk_ullong(x)
 
#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_dm_op   41
 
#define __HYPERVISOR_hypfs_op   42
 
#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 __HYPERVISOR_sched_op   __HYPERVISOR_sched_op_compat
 
#define __HYPERVISOR_event_channel_op   __HYPERVISOR_event_channel_op_compat
 
#define __HYPERVISOR_physdev_op   __HYPERVISOR_physdev_op_compat
 
#define __HYPERVISOR_dom0_op   __HYPERVISOR_platform_op
 
#define VIRQ_TIMER   0 /* V. Timebase update, and/or requested timeout. */
 
#define VIRQ_DEBUG   1 /* V. Request guest to dump debug info. */
 
#define VIRQ_CONSOLE   2 /* G. (DOM0) Bytes received on emergency console. */
 
#define VIRQ_DOM_EXC   3 /* G. (DOM0) Exceptional event for some domain. */
 
#define VIRQ_TBUF   4 /* G. (DOM0) Trace buffer has records available. */
 
#define VIRQ_DEBUGGER   6 /* G. (DOM0) A domain has paused for debugging. */
 
#define VIRQ_XENOPROF   7 /* V. XenOprofile interrupt: new sample available */
 
#define VIRQ_CON_RING   8 /* G. (DOM0) Bytes received on console */
 
#define VIRQ_PCPU_STATE   9 /* G. (DOM0) PCPU state changed */
 
#define VIRQ_MEM_EVENT   10 /* G. (DOM0) A memory event has occurred */
 
#define VIRQ_ARGO   11 /* G. Argo interdomain message notification */
 
#define VIRQ_ENOMEM   12 /* G. (DOM0) Low on heap memory */
 
#define VIRQ_XENPMU   13 /* V. PMC interrupt */
 
#define VIRQ_ARCH_0   16
 
#define VIRQ_ARCH_1   17
 
#define VIRQ_ARCH_2   18
 
#define VIRQ_ARCH_3   19
 
#define VIRQ_ARCH_4   20
 
#define VIRQ_ARCH_5   21
 
#define VIRQ_ARCH_6   22
 
#define VIRQ_ARCH_7   23
 
#define NR_VIRQS   24
 
#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 MMU_PT_UPDATE_NO_TRANSLATE   3 /* checked '*ptr = val'. ptr is MA. */
 
#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
 
#define UVMF_NONE   (xen_mk_ulong(0)<<0) /* No flushing at all. */
 
#define UVMF_TLB_FLUSH   (xen_mk_ulong(1)<<0) /* Flush entire TLB(s). */
 
#define UVMF_INVLPG   (xen_mk_ulong(2)<<0) /* Flush only one entry. */
 
#define UVMF_FLUSHTYPE_MASK   (xen_mk_ulong(3)<<0)
 
#define UVMF_MULTI   (xen_mk_ulong(0)<<2) /* Flush subset of TLBs. */
 
#define UVMF_LOCAL   (xen_mk_ulong(0)<<2) /* Flush local TLB. */
 
#define UVMF_ALL   (xen_mk_ulong(1)<<2) /* Flush all TLBs. */
 
#define CONSOLEIO_write   0
 
#define CONSOLEIO_read   1
 
#define VMASST_CMD_enable   0
 
#define VMASST_CMD_disable   1
 
#define VMASST_TYPE_4gb_segments   0
 
#define VMASST_TYPE_4gb_segments_notify   1
 
#define VMASST_TYPE_writable_pagetables   2
 
#define VMASST_TYPE_pae_extended_cr3   3
 
#define VMASST_TYPE_architectural_iopl   4
 
#define VMASST_TYPE_runstate_update_flag   5
 
#define VMASST_TYPE_m2p_strict   32
 
#define MAX_VMASST_TYPE   3
 
#define DOMID_FIRST_RESERVED   xen_mk_uint(0x7FF0)
 
#define DOMID_SELF   xen_mk_uint(0x7FF0)
 
#define DOMID_IO   xen_mk_uint(0x7FF1)
 
#define DOMID_XEN   xen_mk_uint(0x7FF2)
 
#define DOMID_COW   xen_mk_uint(0x7FF3)
 
#define DOMID_INVALID   xen_mk_uint(0x7FF4)
 
#define DOMID_IDLE   xen_mk_uint(0x7FFF)
 
#define DOMID_MASK   xen_mk_uint(0x7FFF)
 
#define NR_EVENT_CHANNELS   EVTCHN_2L_NR_CHANNELS
 
#define XEN_PVCLOCK_TSC_STABLE_BIT   (1 << 0)
 
#define XEN_PVCLOCK_GUEST_STOPPED   (1 << 1)
 
#define xen_wc_sec_hi   wc_sec_hi
 
#define SIF_PRIVILEGED   (1<<0) /* Is the domain privileged? */
 
#define SIF_INITDOMAIN   (1<<1) /* Is this the initial control domain? */
 
#define SIF_MULTIBOOT_MOD   (1<<2) /* Is mod_start a multiboot module? */
 
#define SIF_MOD_START_PFN   (1<<3) /* Is mod_start a PFN? */
 
#define SIF_VIRT_P2M_4TOOLS   (1<<4) /* Do Xen tools understand a virt. mapped */
 
#define SIF_PM_MASK   (0xFF<<8) /* reserve 1 byte for xen-pm options */
 
#define XEN_VGATYPE_TEXT_MODE_3   0x03
 
#define XEN_VGATYPE_VESA_LFB   0x23
 
#define XEN_VGATYPE_EFI_LFB   0x70
 
#define xen_vga_console_info   dom0_vga_console_info
 
#define xen_vga_console_info_t   dom0_vga_console_info_t
 
#define XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6)
 
#define XEN_DEFINE_UUID(a, b, c, d, e1, e2, e3, e4, e5, e6)   XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6)
 

Typedefs

typedef struct mmuext_op mmuext_op_t
 
typedef uint16_t domid_t
 
typedef struct mmu_update mmu_update_t
 
typedef struct multicall_entry multicall_entry_t
 
typedef struct vcpu_time_info vcpu_time_info_t
 
typedef struct vcpu_info vcpu_info_t
 
typedef struct shared_info shared_info_t
 
typedef struct dom0_vga_console_info dom0_vga_console_info_t
 
typedef uint8_t xen_domain_handle_t[16]
 

Functions

 FILE_LICENCE (MIT)
 
 DEFINE_XEN_GUEST_HANDLE (char)
 
 __DEFINE_XEN_GUEST_HANDLE (uchar, unsigned char)
 
 DEFINE_XEN_GUEST_HANDLE (int)
 
 __DEFINE_XEN_GUEST_HANDLE (uint, unsigned int)
 
 DEFINE_XEN_GUEST_HANDLE (long)
 
 __DEFINE_XEN_GUEST_HANDLE (ulong, unsigned long)
 
 DEFINE_XEN_GUEST_HANDLE (void)
 
 DEFINE_XEN_GUEST_HANDLE (uint64_t)
 
 DEFINE_XEN_GUEST_HANDLE (xen_pfn_t)
 
 DEFINE_XEN_GUEST_HANDLE (mmuext_op_t)
 
 DEFINE_XEN_GUEST_HANDLE (mmu_update_t)
 
 DEFINE_XEN_GUEST_HANDLE (multicall_entry_t)
 
 __DEFINE_XEN_GUEST_HANDLE (uint8, uint8_t)
 
 __DEFINE_XEN_GUEST_HANDLE (uint16, uint16_t)
 
 __DEFINE_XEN_GUEST_HANDLE (uint32, uint32_t)
 
 __DEFINE_XEN_GUEST_HANDLE (uint64, uint64_t)
 

Macro Definition Documentation

◆ XEN_FLEX_ARRAY_DIM

#define XEN_FLEX_ARRAY_DIM   1 /* variable size */

Definition at line 47 of file xen.h.

◆ __xen_mk_uint

#define __xen_mk_uint (   x)    x ## U

Definition at line 51 of file xen.h.

◆ __xen_mk_ulong

#define __xen_mk_ulong (   x)    x ## UL

Definition at line 52 of file xen.h.

◆ __xen_mk_ullong

#define __xen_mk_ullong (   x)    x ## ULL

Definition at line 54 of file xen.h.

◆ xen_mk_uint

#define xen_mk_uint (   x)    __xen_mk_uint(x)

Definition at line 56 of file xen.h.

◆ xen_mk_ulong

#define xen_mk_ulong (   x)    __xen_mk_ulong(x)

Definition at line 57 of file xen.h.

◆ xen_mk_ullong

#define xen_mk_ullong (   x)    __xen_mk_ullong(x)

Definition at line 58 of file xen.h.

◆ __HYPERVISOR_set_trap_table

#define __HYPERVISOR_set_trap_table   0

Definition at line 77 of file xen.h.

◆ __HYPERVISOR_mmu_update

#define __HYPERVISOR_mmu_update   1

Definition at line 78 of file xen.h.

◆ __HYPERVISOR_set_gdt

#define __HYPERVISOR_set_gdt   2

Definition at line 79 of file xen.h.

◆ __HYPERVISOR_stack_switch

#define __HYPERVISOR_stack_switch   3

Definition at line 80 of file xen.h.

◆ __HYPERVISOR_set_callbacks

#define __HYPERVISOR_set_callbacks   4

Definition at line 81 of file xen.h.

◆ __HYPERVISOR_fpu_taskswitch

#define __HYPERVISOR_fpu_taskswitch   5

Definition at line 82 of file xen.h.

◆ __HYPERVISOR_sched_op_compat

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

Definition at line 83 of file xen.h.

◆ __HYPERVISOR_platform_op

#define __HYPERVISOR_platform_op   7

Definition at line 84 of file xen.h.

◆ __HYPERVISOR_set_debugreg

#define __HYPERVISOR_set_debugreg   8

Definition at line 85 of file xen.h.

◆ __HYPERVISOR_get_debugreg

#define __HYPERVISOR_get_debugreg   9

Definition at line 86 of file xen.h.

◆ __HYPERVISOR_update_descriptor

#define __HYPERVISOR_update_descriptor   10

Definition at line 87 of file xen.h.

◆ __HYPERVISOR_memory_op

#define __HYPERVISOR_memory_op   12

Definition at line 88 of file xen.h.

◆ __HYPERVISOR_multicall

#define __HYPERVISOR_multicall   13

Definition at line 89 of file xen.h.

◆ __HYPERVISOR_update_va_mapping

#define __HYPERVISOR_update_va_mapping   14

Definition at line 90 of file xen.h.

◆ __HYPERVISOR_set_timer_op

#define __HYPERVISOR_set_timer_op   15

Definition at line 91 of file xen.h.

◆ __HYPERVISOR_event_channel_op_compat

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

Definition at line 92 of file xen.h.

◆ __HYPERVISOR_xen_version

#define __HYPERVISOR_xen_version   17

Definition at line 93 of file xen.h.

◆ __HYPERVISOR_console_io

#define __HYPERVISOR_console_io   18

Definition at line 94 of file xen.h.

◆ __HYPERVISOR_physdev_op_compat

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

Definition at line 95 of file xen.h.

◆ __HYPERVISOR_grant_table_op

#define __HYPERVISOR_grant_table_op   20

Definition at line 96 of file xen.h.

◆ __HYPERVISOR_vm_assist

#define __HYPERVISOR_vm_assist   21

Definition at line 97 of file xen.h.

◆ __HYPERVISOR_update_va_mapping_otherdomain

#define __HYPERVISOR_update_va_mapping_otherdomain   22

Definition at line 98 of file xen.h.

◆ __HYPERVISOR_iret

#define __HYPERVISOR_iret   23 /* x86 only */

Definition at line 99 of file xen.h.

◆ __HYPERVISOR_vcpu_op

#define __HYPERVISOR_vcpu_op   24

Definition at line 100 of file xen.h.

◆ __HYPERVISOR_set_segment_base

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

Definition at line 101 of file xen.h.

◆ __HYPERVISOR_mmuext_op

#define __HYPERVISOR_mmuext_op   26

Definition at line 102 of file xen.h.

◆ __HYPERVISOR_xsm_op

#define __HYPERVISOR_xsm_op   27

Definition at line 103 of file xen.h.

◆ __HYPERVISOR_nmi_op

#define __HYPERVISOR_nmi_op   28

Definition at line 104 of file xen.h.

◆ __HYPERVISOR_sched_op [1/2]

#define __HYPERVISOR_sched_op   29

Definition at line 139 of file xen.h.

◆ __HYPERVISOR_callback_op

#define __HYPERVISOR_callback_op   30

Definition at line 106 of file xen.h.

◆ __HYPERVISOR_xenoprof_op

#define __HYPERVISOR_xenoprof_op   31

Definition at line 107 of file xen.h.

◆ __HYPERVISOR_event_channel_op [1/2]

#define __HYPERVISOR_event_channel_op   32

Definition at line 145 of file xen.h.

◆ __HYPERVISOR_physdev_op [1/2]

#define __HYPERVISOR_physdev_op   33

Definition at line 147 of file xen.h.

◆ __HYPERVISOR_hvm_op

#define __HYPERVISOR_hvm_op   34

Definition at line 110 of file xen.h.

◆ __HYPERVISOR_sysctl

#define __HYPERVISOR_sysctl   35

Definition at line 111 of file xen.h.

◆ __HYPERVISOR_domctl

#define __HYPERVISOR_domctl   36

Definition at line 112 of file xen.h.

◆ __HYPERVISOR_kexec_op

#define __HYPERVISOR_kexec_op   37

Definition at line 113 of file xen.h.

◆ __HYPERVISOR_tmem_op

#define __HYPERVISOR_tmem_op   38

Definition at line 114 of file xen.h.

◆ __HYPERVISOR_argo_op

#define __HYPERVISOR_argo_op   39

Definition at line 115 of file xen.h.

◆ __HYPERVISOR_xenpmu_op

#define __HYPERVISOR_xenpmu_op   40

Definition at line 116 of file xen.h.

◆ __HYPERVISOR_dm_op

#define __HYPERVISOR_dm_op   41

Definition at line 117 of file xen.h.

◆ __HYPERVISOR_hypfs_op

#define __HYPERVISOR_hypfs_op   42

Definition at line 118 of file xen.h.

◆ __HYPERVISOR_arch_0

#define __HYPERVISOR_arch_0   48

Definition at line 121 of file xen.h.

◆ __HYPERVISOR_arch_1

#define __HYPERVISOR_arch_1   49

Definition at line 122 of file xen.h.

◆ __HYPERVISOR_arch_2

#define __HYPERVISOR_arch_2   50

Definition at line 123 of file xen.h.

◆ __HYPERVISOR_arch_3

#define __HYPERVISOR_arch_3   51

Definition at line 124 of file xen.h.

◆ __HYPERVISOR_arch_4

#define __HYPERVISOR_arch_4   52

Definition at line 125 of file xen.h.

◆ __HYPERVISOR_arch_5

#define __HYPERVISOR_arch_5   53

Definition at line 126 of file xen.h.

◆ __HYPERVISOR_arch_6

#define __HYPERVISOR_arch_6   54

Definition at line 127 of file xen.h.

◆ __HYPERVISOR_arch_7

#define __HYPERVISOR_arch_7   55

Definition at line 128 of file xen.h.

◆ __HYPERVISOR_sched_op [2/2]

#define __HYPERVISOR_sched_op   __HYPERVISOR_sched_op_compat

Definition at line 139 of file xen.h.

◆ __HYPERVISOR_event_channel_op [2/2]

#define __HYPERVISOR_event_channel_op   __HYPERVISOR_event_channel_op_compat

Definition at line 145 of file xen.h.

◆ __HYPERVISOR_physdev_op [2/2]

#define __HYPERVISOR_physdev_op   __HYPERVISOR_physdev_op_compat

Definition at line 147 of file xen.h.

◆ __HYPERVISOR_dom0_op

#define __HYPERVISOR_dom0_op   __HYPERVISOR_platform_op

Definition at line 152 of file xen.h.

◆ VIRQ_TIMER

#define VIRQ_TIMER   0 /* V. Timebase update, and/or requested timeout. */

Definition at line 166 of file xen.h.

◆ VIRQ_DEBUG

#define VIRQ_DEBUG   1 /* V. Request guest to dump debug info. */

Definition at line 167 of file xen.h.

◆ VIRQ_CONSOLE

#define VIRQ_CONSOLE   2 /* G. (DOM0) Bytes received on emergency console. */

Definition at line 168 of file xen.h.

◆ VIRQ_DOM_EXC

#define VIRQ_DOM_EXC   3 /* G. (DOM0) Exceptional event for some domain. */

Definition at line 169 of file xen.h.

◆ VIRQ_TBUF

#define VIRQ_TBUF   4 /* G. (DOM0) Trace buffer has records available. */

Definition at line 170 of file xen.h.

◆ VIRQ_DEBUGGER

#define VIRQ_DEBUGGER   6 /* G. (DOM0) A domain has paused for debugging. */

Definition at line 171 of file xen.h.

◆ VIRQ_XENOPROF

#define VIRQ_XENOPROF   7 /* V. XenOprofile interrupt: new sample available */

Definition at line 172 of file xen.h.

◆ VIRQ_CON_RING

#define VIRQ_CON_RING   8 /* G. (DOM0) Bytes received on console */

Definition at line 173 of file xen.h.

◆ VIRQ_PCPU_STATE

#define VIRQ_PCPU_STATE   9 /* G. (DOM0) PCPU state changed */

Definition at line 174 of file xen.h.

◆ VIRQ_MEM_EVENT

#define VIRQ_MEM_EVENT   10 /* G. (DOM0) A memory event has occurred */

Definition at line 175 of file xen.h.

◆ VIRQ_ARGO

#define VIRQ_ARGO   11 /* G. Argo interdomain message notification */

Definition at line 176 of file xen.h.

◆ VIRQ_ENOMEM

#define VIRQ_ENOMEM   12 /* G. (DOM0) Low on heap memory */

Definition at line 177 of file xen.h.

◆ VIRQ_XENPMU

#define VIRQ_XENPMU   13 /* V. PMC interrupt */

Definition at line 178 of file xen.h.

◆ VIRQ_ARCH_0

#define VIRQ_ARCH_0   16

Definition at line 181 of file xen.h.

◆ VIRQ_ARCH_1

#define VIRQ_ARCH_1   17

Definition at line 182 of file xen.h.

◆ VIRQ_ARCH_2

#define VIRQ_ARCH_2   18

Definition at line 183 of file xen.h.

◆ VIRQ_ARCH_3

#define VIRQ_ARCH_3   19

Definition at line 184 of file xen.h.

◆ VIRQ_ARCH_4

#define VIRQ_ARCH_4   20

Definition at line 185 of file xen.h.

◆ VIRQ_ARCH_5

#define VIRQ_ARCH_5   21

Definition at line 186 of file xen.h.

◆ VIRQ_ARCH_6

#define VIRQ_ARCH_6   22

Definition at line 187 of file xen.h.

◆ VIRQ_ARCH_7

#define VIRQ_ARCH_7   23

Definition at line 188 of file xen.h.

◆ NR_VIRQS

#define NR_VIRQS   24

Definition at line 191 of file xen.h.

◆ MMU_NORMAL_PT_UPDATE

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

Definition at line 336 of file xen.h.

◆ MMU_MACHPHYS_UPDATE

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

Definition at line 337 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 338 of file xen.h.

◆ MMU_PT_UPDATE_NO_TRANSLATE

#define MMU_PT_UPDATE_NO_TRANSLATE   3 /* checked '*ptr = val'. ptr is MA. */

Definition at line 339 of file xen.h.

◆ MMUEXT_PIN_L1_TABLE

#define MMUEXT_PIN_L1_TABLE   0

Definition at line 407 of file xen.h.

◆ MMUEXT_PIN_L2_TABLE

#define MMUEXT_PIN_L2_TABLE   1

Definition at line 408 of file xen.h.

◆ MMUEXT_PIN_L3_TABLE

#define MMUEXT_PIN_L3_TABLE   2

Definition at line 409 of file xen.h.

◆ MMUEXT_PIN_L4_TABLE

#define MMUEXT_PIN_L4_TABLE   3

Definition at line 410 of file xen.h.

◆ MMUEXT_UNPIN_TABLE

#define MMUEXT_UNPIN_TABLE   4

Definition at line 411 of file xen.h.

◆ MMUEXT_NEW_BASEPTR

#define MMUEXT_NEW_BASEPTR   5

Definition at line 412 of file xen.h.

◆ MMUEXT_TLB_FLUSH_LOCAL

#define MMUEXT_TLB_FLUSH_LOCAL   6

Definition at line 413 of file xen.h.

◆ MMUEXT_INVLPG_LOCAL

#define MMUEXT_INVLPG_LOCAL   7

Definition at line 414 of file xen.h.

◆ MMUEXT_TLB_FLUSH_MULTI

#define MMUEXT_TLB_FLUSH_MULTI   8

Definition at line 415 of file xen.h.

◆ MMUEXT_INVLPG_MULTI

#define MMUEXT_INVLPG_MULTI   9

Definition at line 416 of file xen.h.

◆ MMUEXT_TLB_FLUSH_ALL

#define MMUEXT_TLB_FLUSH_ALL   10

Definition at line 417 of file xen.h.

◆ MMUEXT_INVLPG_ALL

#define MMUEXT_INVLPG_ALL   11

Definition at line 418 of file xen.h.

◆ MMUEXT_FLUSH_CACHE

#define MMUEXT_FLUSH_CACHE   12

Definition at line 419 of file xen.h.

◆ MMUEXT_SET_LDT

#define MMUEXT_SET_LDT   13

Definition at line 420 of file xen.h.

◆ MMUEXT_NEW_USER_BASEPTR

#define MMUEXT_NEW_USER_BASEPTR   15

Definition at line 421 of file xen.h.

◆ MMUEXT_CLEAR_PAGE

#define MMUEXT_CLEAR_PAGE   16

Definition at line 422 of file xen.h.

◆ MMUEXT_COPY_PAGE

#define MMUEXT_COPY_PAGE   17

Definition at line 423 of file xen.h.

◆ MMUEXT_FLUSH_CACHE_GLOBAL

#define MMUEXT_FLUSH_CACHE_GLOBAL   18

Definition at line 424 of file xen.h.

◆ MMUEXT_MARK_SUPER

#define MMUEXT_MARK_SUPER   19

Definition at line 425 of file xen.h.

◆ MMUEXT_UNMARK_SUPER

#define MMUEXT_UNMARK_SUPER   20

Definition at line 426 of file xen.h.

◆ UVMF_NONE

#define UVMF_NONE   (xen_mk_ulong(0)<<0) /* No flushing at all. */

Definition at line 474 of file xen.h.

◆ UVMF_TLB_FLUSH

#define UVMF_TLB_FLUSH   (xen_mk_ulong(1)<<0) /* Flush entire TLB(s). */

Definition at line 475 of file xen.h.

◆ UVMF_INVLPG

#define UVMF_INVLPG   (xen_mk_ulong(2)<<0) /* Flush only one entry. */

Definition at line 476 of file xen.h.

◆ UVMF_FLUSHTYPE_MASK

#define UVMF_FLUSHTYPE_MASK   (xen_mk_ulong(3)<<0)

Definition at line 477 of file xen.h.

◆ UVMF_MULTI

#define UVMF_MULTI   (xen_mk_ulong(0)<<2) /* Flush subset of TLBs. */

Definition at line 478 of file xen.h.

◆ UVMF_LOCAL

#define UVMF_LOCAL   (xen_mk_ulong(0)<<2) /* Flush local TLB. */

Definition at line 479 of file xen.h.

◆ UVMF_ALL

#define UVMF_ALL   (xen_mk_ulong(1)<<2) /* Flush all TLBs. */

Definition at line 480 of file xen.h.

◆ CONSOLEIO_write

#define CONSOLEIO_write   0

Definition at line 507 of file xen.h.

◆ CONSOLEIO_read

#define CONSOLEIO_read   1

Definition at line 508 of file xen.h.

◆ VMASST_CMD_enable

#define VMASST_CMD_enable   0

Definition at line 513 of file xen.h.

◆ VMASST_CMD_disable

#define VMASST_CMD_disable   1

Definition at line 514 of file xen.h.

◆ VMASST_TYPE_4gb_segments

#define VMASST_TYPE_4gb_segments   0

Definition at line 517 of file xen.h.

◆ VMASST_TYPE_4gb_segments_notify

#define VMASST_TYPE_4gb_segments_notify   1

Definition at line 520 of file xen.h.

◆ VMASST_TYPE_writable_pagetables

#define VMASST_TYPE_writable_pagetables   2

Definition at line 527 of file xen.h.

◆ VMASST_TYPE_pae_extended_cr3

#define VMASST_TYPE_pae_extended_cr3   3

Definition at line 530 of file xen.h.

◆ VMASST_TYPE_architectural_iopl

#define VMASST_TYPE_architectural_iopl   4

Definition at line 538 of file xen.h.

◆ VMASST_TYPE_runstate_update_flag

#define VMASST_TYPE_runstate_update_flag   5

Definition at line 545 of file xen.h.

◆ VMASST_TYPE_m2p_strict

#define VMASST_TYPE_m2p_strict   32

Definition at line 557 of file xen.h.

◆ MAX_VMASST_TYPE

#define MAX_VMASST_TYPE   3

Definition at line 560 of file xen.h.

◆ DOMID_FIRST_RESERVED

#define DOMID_FIRST_RESERVED   xen_mk_uint(0x7FF0)

Definition at line 564 of file xen.h.

◆ DOMID_SELF

#define DOMID_SELF   xen_mk_uint(0x7FF0)

Definition at line 567 of file xen.h.

◆ DOMID_IO

#define DOMID_IO   xen_mk_uint(0x7FF1)

Definition at line 580 of file xen.h.

◆ DOMID_XEN

#define DOMID_XEN   xen_mk_uint(0x7FF2)

Definition at line 591 of file xen.h.

◆ DOMID_COW

#define DOMID_COW   xen_mk_uint(0x7FF3)

Definition at line 595 of file xen.h.

◆ DOMID_INVALID

#define DOMID_INVALID   xen_mk_uint(0x7FF4)

Definition at line 598 of file xen.h.

◆ DOMID_IDLE

#define DOMID_IDLE   xen_mk_uint(0x7FFF)

Definition at line 601 of file xen.h.

◆ DOMID_MASK

#define DOMID_MASK   xen_mk_uint(0x7FFF)

Definition at line 604 of file xen.h.

◆ NR_EVENT_CHANNELS

#define NR_EVENT_CHANNELS   EVTCHN_2L_NR_CHANNELS

Definition at line 642 of file xen.h.

◆ XEN_PVCLOCK_TSC_STABLE_BIT

#define XEN_PVCLOCK_TSC_STABLE_BIT   (1 << 0)

Definition at line 677 of file xen.h.

◆ XEN_PVCLOCK_GUEST_STOPPED

#define XEN_PVCLOCK_GUEST_STOPPED   (1 << 1)

Definition at line 678 of file xen.h.

◆ xen_wc_sec_hi

#define xen_wc_sec_hi   wc_sec_hi

Definition at line 780 of file xen.h.

◆ SIF_PRIVILEGED

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

Definition at line 872 of file xen.h.

◆ SIF_INITDOMAIN

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

Definition at line 873 of file xen.h.

◆ SIF_MULTIBOOT_MOD

#define SIF_MULTIBOOT_MOD   (1<<2) /* Is mod_start a multiboot module? */

Definition at line 874 of file xen.h.

◆ SIF_MOD_START_PFN

#define SIF_MOD_START_PFN   (1<<3) /* Is mod_start a PFN? */

Definition at line 875 of file xen.h.

◆ SIF_VIRT_P2M_4TOOLS

#define SIF_VIRT_P2M_4TOOLS   (1<<4) /* Do Xen tools understand a virt. mapped */

Definition at line 876 of file xen.h.

◆ SIF_PM_MASK

#define SIF_PM_MASK   (0xFF<<8) /* reserve 1 byte for xen-pm options */

Definition at line 878 of file xen.h.

◆ XEN_VGATYPE_TEXT_MODE_3

#define XEN_VGATYPE_TEXT_MODE_3   0x03

Definition at line 915 of file xen.h.

◆ XEN_VGATYPE_VESA_LFB

#define XEN_VGATYPE_VESA_LFB   0x23

Definition at line 916 of file xen.h.

◆ XEN_VGATYPE_EFI_LFB

#define XEN_VGATYPE_EFI_LFB   0x70

Definition at line 917 of file xen.h.

◆ xen_vga_console_info

#define xen_vga_console_info   dom0_vga_console_info

Definition at line 958 of file xen.h.

◆ xen_vga_console_info_t

#define xen_vga_console_info_t   dom0_vga_console_info_t

Definition at line 959 of file xen.h.

◆ XEN_DEFINE_UUID_

#define XEN_DEFINE_UUID_ (   a,
  b,
  c,
  d,
  e1,
  e2,
  e3,
  e4,
  e5,
  e6 
)
Value:
{{((a) >> 24) & 0xFF, ((a) >> 16) & 0xFF, \
((a) >> 8) & 0xFF, ((a) >> 0) & 0xFF, \
((b) >> 8) & 0xFF, ((b) >> 0) & 0xFF, \
((c) >> 8) & 0xFF, ((c) >> 0) & 0xFF, \
((d) >> 8) & 0xFF, ((d) >> 0) & 0xFF, \
e1, e2, e3, e4, e5, e6}}
uint32_t c
Definition: md4.c:30
uint32_t a
Definition: md4.c:28
uint32_t b
Definition: md4.c:29
uint32_t d
Definition: md4.c:31

Definition at line 983 of file xen.h.

◆ XEN_DEFINE_UUID

#define XEN_DEFINE_UUID (   a,
  b,
  c,
  d,
  e1,
  e2,
  e3,
  e4,
  e5,
  e6 
)    XEN_DEFINE_UUID_(a, b, c, d, e1, e2, e3, e4, e5, e6)

Definition at line 995 of file xen.h.

Typedef Documentation

◆ mmuext_op_t

typedef struct mmuext_op mmuext_op_t

Definition at line 452 of file xen.h.

◆ domid_t

typedef uint16_t domid_t

Definition at line 608 of file xen.h.

◆ mmu_update_t

typedef struct mmu_update mmu_update_t

Definition at line 618 of file xen.h.

◆ multicall_entry_t

Definition at line 634 of file xen.h.

◆ vcpu_time_info_t

Definition at line 675 of file xen.h.

◆ vcpu_info_t

typedef struct vcpu_info vcpu_info_t

Definition at line 717 of file xen.h.

◆ shared_info_t

typedef struct shared_info shared_info_t

Definition at line 789 of file xen.h.

◆ dom0_vga_console_info_t

◆ xen_domain_handle_t

typedef uint8_t xen_domain_handle_t[16]

Definition at line 961 of file xen.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT  )

◆ DEFINE_XEN_GUEST_HANDLE() [1/9]

DEFINE_XEN_GUEST_HANDLE ( char  )

◆ __DEFINE_XEN_GUEST_HANDLE() [1/7]

__DEFINE_XEN_GUEST_HANDLE ( uchar  ,
unsigned char   
)

◆ DEFINE_XEN_GUEST_HANDLE() [2/9]

DEFINE_XEN_GUEST_HANDLE ( int  )

◆ __DEFINE_XEN_GUEST_HANDLE() [2/7]

__DEFINE_XEN_GUEST_HANDLE ( uint  ,
unsigned int   
)

◆ DEFINE_XEN_GUEST_HANDLE() [3/9]

DEFINE_XEN_GUEST_HANDLE ( long  )

◆ __DEFINE_XEN_GUEST_HANDLE() [3/7]

__DEFINE_XEN_GUEST_HANDLE ( ulong  ,
unsigned long   
)

◆ DEFINE_XEN_GUEST_HANDLE() [4/9]

DEFINE_XEN_GUEST_HANDLE ( void  )

◆ DEFINE_XEN_GUEST_HANDLE() [5/9]

DEFINE_XEN_GUEST_HANDLE ( uint64_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [6/9]

DEFINE_XEN_GUEST_HANDLE ( xen_pfn_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [7/9]

DEFINE_XEN_GUEST_HANDLE ( mmuext_op_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [8/9]

DEFINE_XEN_GUEST_HANDLE ( mmu_update_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [9/9]

DEFINE_XEN_GUEST_HANDLE ( multicall_entry_t  )

◆ __DEFINE_XEN_GUEST_HANDLE() [4/7]

__DEFINE_XEN_GUEST_HANDLE ( uint8  ,
uint8_t   
)

◆ __DEFINE_XEN_GUEST_HANDLE() [5/7]

__DEFINE_XEN_GUEST_HANDLE ( uint16  ,
uint16_t   
)

◆ __DEFINE_XEN_GUEST_HANDLE() [6/7]

__DEFINE_XEN_GUEST_HANDLE ( uint32  ,
uint32_t   
)

◆ __DEFINE_XEN_GUEST_HANDLE() [7/7]

__DEFINE_XEN_GUEST_HANDLE ( uint64  ,
uint64_t   
)