iPXE
Data Structures | Macros | Typedefs | Functions
xen.h File Reference
#include "xen-compat.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
 

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_xc_reserved_op   39 /* reserved for XenClient */
 
#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 occured */
 
#define VIRQ_XC_RESERVED   11 /* G. Reserved for XenClient */
 
#define VIRQ_ENOMEM   12 /* G. (DOM0) Low on heap memory */
 
#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 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   (0UL<<0) /* No flushing at all. */
 
#define UVMF_TLB_FLUSH   (1UL<<0) /* Flush entire TLB(s). */
 
#define UVMF_INVLPG   (2UL<<0) /* Flush only one entry. */
 
#define UVMF_FLUSHTYPE_MASK   (3UL<<0)
 
#define UVMF_MULTI   (0UL<<2) /* Flush subset of TLBs. */
 
#define UVMF_LOCAL   (0UL<<2) /* Flush local TLB. */
 
#define UVMF_ALL   (1UL<<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 MAX_VMASST_TYPE   3
 
#define DOMID_FIRST_RESERVED   (0x7FF0U)
 
#define DOMID_SELF   (0x7FF0U)
 
#define DOMID_IO   (0x7FF1U)
 
#define DOMID_XEN   (0x7FF2U)
 
#define DOMID_COW   (0x7FF3U)
 
#define DOMID_INVALID   (0x7FF4U)
 
#define DOMID_IDLE   (0x7FFFU)
 
#define NR_EVENT_CHANNELS   EVTCHN_2L_NR_CHANNELS
 
#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_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 __mk_unsigned_long(x)   x ## UL
 
#define mk_unsigned_long(x)   __mk_unsigned_long(x)
 

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 (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

◆ __HYPERVISOR_set_trap_table

#define __HYPERVISOR_set_trap_table   0

Definition at line 67 of file xen.h.

◆ __HYPERVISOR_mmu_update

#define __HYPERVISOR_mmu_update   1

Definition at line 68 of file xen.h.

◆ __HYPERVISOR_set_gdt

#define __HYPERVISOR_set_gdt   2

Definition at line 69 of file xen.h.

◆ __HYPERVISOR_stack_switch

#define __HYPERVISOR_stack_switch   3

Definition at line 70 of file xen.h.

◆ __HYPERVISOR_set_callbacks

#define __HYPERVISOR_set_callbacks   4

Definition at line 71 of file xen.h.

◆ __HYPERVISOR_fpu_taskswitch

#define __HYPERVISOR_fpu_taskswitch   5

Definition at line 72 of file xen.h.

◆ __HYPERVISOR_sched_op_compat

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

Definition at line 73 of file xen.h.

◆ __HYPERVISOR_platform_op

#define __HYPERVISOR_platform_op   7

Definition at line 74 of file xen.h.

◆ __HYPERVISOR_set_debugreg

#define __HYPERVISOR_set_debugreg   8

Definition at line 75 of file xen.h.

◆ __HYPERVISOR_get_debugreg

#define __HYPERVISOR_get_debugreg   9

Definition at line 76 of file xen.h.

◆ __HYPERVISOR_update_descriptor

#define __HYPERVISOR_update_descriptor   10

Definition at line 77 of file xen.h.

◆ __HYPERVISOR_memory_op

#define __HYPERVISOR_memory_op   12

Definition at line 78 of file xen.h.

◆ __HYPERVISOR_multicall

#define __HYPERVISOR_multicall   13

Definition at line 79 of file xen.h.

◆ __HYPERVISOR_update_va_mapping

#define __HYPERVISOR_update_va_mapping   14

Definition at line 80 of file xen.h.

◆ __HYPERVISOR_set_timer_op

#define __HYPERVISOR_set_timer_op   15

Definition at line 81 of file xen.h.

◆ __HYPERVISOR_event_channel_op_compat

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

Definition at line 82 of file xen.h.

◆ __HYPERVISOR_xen_version

#define __HYPERVISOR_xen_version   17

Definition at line 83 of file xen.h.

◆ __HYPERVISOR_console_io

#define __HYPERVISOR_console_io   18

Definition at line 84 of file xen.h.

◆ __HYPERVISOR_physdev_op_compat

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

Definition at line 85 of file xen.h.

◆ __HYPERVISOR_grant_table_op

#define __HYPERVISOR_grant_table_op   20

Definition at line 86 of file xen.h.

◆ __HYPERVISOR_vm_assist

#define __HYPERVISOR_vm_assist   21

Definition at line 87 of file xen.h.

◆ __HYPERVISOR_update_va_mapping_otherdomain

#define __HYPERVISOR_update_va_mapping_otherdomain   22

Definition at line 88 of file xen.h.

◆ __HYPERVISOR_iret

#define __HYPERVISOR_iret   23 /* x86 only */

Definition at line 89 of file xen.h.

◆ __HYPERVISOR_vcpu_op

#define __HYPERVISOR_vcpu_op   24

Definition at line 90 of file xen.h.

◆ __HYPERVISOR_set_segment_base

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

Definition at line 91 of file xen.h.

◆ __HYPERVISOR_mmuext_op

#define __HYPERVISOR_mmuext_op   26

Definition at line 92 of file xen.h.

◆ __HYPERVISOR_xsm_op

#define __HYPERVISOR_xsm_op   27

Definition at line 93 of file xen.h.

◆ __HYPERVISOR_nmi_op

#define __HYPERVISOR_nmi_op   28

Definition at line 94 of file xen.h.

◆ __HYPERVISOR_sched_op [1/2]

#define __HYPERVISOR_sched_op   29

Definition at line 126 of file xen.h.

◆ __HYPERVISOR_callback_op

#define __HYPERVISOR_callback_op   30

Definition at line 96 of file xen.h.

◆ __HYPERVISOR_xenoprof_op

#define __HYPERVISOR_xenoprof_op   31

Definition at line 97 of file xen.h.

◆ __HYPERVISOR_event_channel_op [1/2]

#define __HYPERVISOR_event_channel_op   32

Definition at line 132 of file xen.h.

◆ __HYPERVISOR_physdev_op [1/2]

#define __HYPERVISOR_physdev_op   33

Definition at line 134 of file xen.h.

◆ __HYPERVISOR_hvm_op

#define __HYPERVISOR_hvm_op   34

Definition at line 100 of file xen.h.

◆ __HYPERVISOR_sysctl

#define __HYPERVISOR_sysctl   35

Definition at line 101 of file xen.h.

◆ __HYPERVISOR_domctl

#define __HYPERVISOR_domctl   36

Definition at line 102 of file xen.h.

◆ __HYPERVISOR_kexec_op

#define __HYPERVISOR_kexec_op   37

Definition at line 103 of file xen.h.

◆ __HYPERVISOR_tmem_op

#define __HYPERVISOR_tmem_op   38

Definition at line 104 of file xen.h.

◆ __HYPERVISOR_xc_reserved_op

#define __HYPERVISOR_xc_reserved_op   39 /* reserved for XenClient */

Definition at line 105 of file xen.h.

◆ __HYPERVISOR_arch_0

#define __HYPERVISOR_arch_0   48

Definition at line 108 of file xen.h.

◆ __HYPERVISOR_arch_1

#define __HYPERVISOR_arch_1   49

Definition at line 109 of file xen.h.

◆ __HYPERVISOR_arch_2

#define __HYPERVISOR_arch_2   50

Definition at line 110 of file xen.h.

◆ __HYPERVISOR_arch_3

#define __HYPERVISOR_arch_3   51

Definition at line 111 of file xen.h.

◆ __HYPERVISOR_arch_4

#define __HYPERVISOR_arch_4   52

Definition at line 112 of file xen.h.

◆ __HYPERVISOR_arch_5

#define __HYPERVISOR_arch_5   53

Definition at line 113 of file xen.h.

◆ __HYPERVISOR_arch_6

#define __HYPERVISOR_arch_6   54

Definition at line 114 of file xen.h.

◆ __HYPERVISOR_arch_7

#define __HYPERVISOR_arch_7   55

Definition at line 115 of file xen.h.

◆ __HYPERVISOR_sched_op [2/2]

#define __HYPERVISOR_sched_op   __HYPERVISOR_sched_op_compat

Definition at line 126 of file xen.h.

◆ __HYPERVISOR_event_channel_op [2/2]

#define __HYPERVISOR_event_channel_op   __HYPERVISOR_event_channel_op_compat

Definition at line 132 of file xen.h.

◆ __HYPERVISOR_physdev_op [2/2]

#define __HYPERVISOR_physdev_op   __HYPERVISOR_physdev_op_compat

Definition at line 134 of file xen.h.

◆ __HYPERVISOR_dom0_op

#define __HYPERVISOR_dom0_op   __HYPERVISOR_platform_op

Definition at line 139 of file xen.h.

◆ VIRQ_TIMER

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

Definition at line 153 of file xen.h.

◆ VIRQ_DEBUG

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

Definition at line 154 of file xen.h.

◆ VIRQ_CONSOLE

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

Definition at line 155 of file xen.h.

◆ VIRQ_DOM_EXC

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

Definition at line 156 of file xen.h.

◆ VIRQ_TBUF

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

Definition at line 157 of file xen.h.

◆ VIRQ_DEBUGGER

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

Definition at line 158 of file xen.h.

◆ VIRQ_XENOPROF

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

Definition at line 159 of file xen.h.

◆ VIRQ_CON_RING

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

Definition at line 160 of file xen.h.

◆ VIRQ_PCPU_STATE

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

Definition at line 161 of file xen.h.

◆ VIRQ_MEM_EVENT

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

Definition at line 162 of file xen.h.

◆ VIRQ_XC_RESERVED

#define VIRQ_XC_RESERVED   11 /* G. Reserved for XenClient */

Definition at line 163 of file xen.h.

◆ VIRQ_ENOMEM

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

Definition at line 164 of file xen.h.

◆ VIRQ_ARCH_0

#define VIRQ_ARCH_0   16

Definition at line 167 of file xen.h.

◆ VIRQ_ARCH_1

#define VIRQ_ARCH_1   17

Definition at line 168 of file xen.h.

◆ VIRQ_ARCH_2

#define VIRQ_ARCH_2   18

Definition at line 169 of file xen.h.

◆ VIRQ_ARCH_3

#define VIRQ_ARCH_3   19

Definition at line 170 of file xen.h.

◆ VIRQ_ARCH_4

#define VIRQ_ARCH_4   20

Definition at line 171 of file xen.h.

◆ VIRQ_ARCH_5

#define VIRQ_ARCH_5   21

Definition at line 172 of file xen.h.

◆ VIRQ_ARCH_6

#define VIRQ_ARCH_6   22

Definition at line 173 of file xen.h.

◆ VIRQ_ARCH_7

#define VIRQ_ARCH_7   23

Definition at line 174 of file xen.h.

◆ NR_VIRQS

#define NR_VIRQS   24

Definition at line 177 of file xen.h.

◆ MMU_NORMAL_PT_UPDATE

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

Definition at line 318 of file xen.h.

◆ MMU_MACHPHYS_UPDATE

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

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

◆ MMUEXT_PIN_L1_TABLE

#define MMUEXT_PIN_L1_TABLE   0

Definition at line 387 of file xen.h.

◆ MMUEXT_PIN_L2_TABLE

#define MMUEXT_PIN_L2_TABLE   1

Definition at line 388 of file xen.h.

◆ MMUEXT_PIN_L3_TABLE

#define MMUEXT_PIN_L3_TABLE   2

Definition at line 389 of file xen.h.

◆ MMUEXT_PIN_L4_TABLE

#define MMUEXT_PIN_L4_TABLE   3

Definition at line 390 of file xen.h.

◆ MMUEXT_UNPIN_TABLE

#define MMUEXT_UNPIN_TABLE   4

Definition at line 391 of file xen.h.

◆ MMUEXT_NEW_BASEPTR

#define MMUEXT_NEW_BASEPTR   5

Definition at line 392 of file xen.h.

◆ MMUEXT_TLB_FLUSH_LOCAL

#define MMUEXT_TLB_FLUSH_LOCAL   6

Definition at line 393 of file xen.h.

◆ MMUEXT_INVLPG_LOCAL

#define MMUEXT_INVLPG_LOCAL   7

Definition at line 394 of file xen.h.

◆ MMUEXT_TLB_FLUSH_MULTI

#define MMUEXT_TLB_FLUSH_MULTI   8

Definition at line 395 of file xen.h.

◆ MMUEXT_INVLPG_MULTI

#define MMUEXT_INVLPG_MULTI   9

Definition at line 396 of file xen.h.

◆ MMUEXT_TLB_FLUSH_ALL

#define MMUEXT_TLB_FLUSH_ALL   10

Definition at line 397 of file xen.h.

◆ MMUEXT_INVLPG_ALL

#define MMUEXT_INVLPG_ALL   11

Definition at line 398 of file xen.h.

◆ MMUEXT_FLUSH_CACHE

#define MMUEXT_FLUSH_CACHE   12

Definition at line 399 of file xen.h.

◆ MMUEXT_SET_LDT

#define MMUEXT_SET_LDT   13

Definition at line 400 of file xen.h.

◆ MMUEXT_NEW_USER_BASEPTR

#define MMUEXT_NEW_USER_BASEPTR   15

Definition at line 401 of file xen.h.

◆ MMUEXT_CLEAR_PAGE

#define MMUEXT_CLEAR_PAGE   16

Definition at line 402 of file xen.h.

◆ MMUEXT_COPY_PAGE

#define MMUEXT_COPY_PAGE   17

Definition at line 403 of file xen.h.

◆ MMUEXT_FLUSH_CACHE_GLOBAL

#define MMUEXT_FLUSH_CACHE_GLOBAL   18

Definition at line 404 of file xen.h.

◆ MMUEXT_MARK_SUPER

#define MMUEXT_MARK_SUPER   19

Definition at line 405 of file xen.h.

◆ MMUEXT_UNMARK_SUPER

#define MMUEXT_UNMARK_SUPER   20

Definition at line 406 of file xen.h.

◆ UVMF_NONE

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

Definition at line 454 of file xen.h.

◆ UVMF_TLB_FLUSH

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

Definition at line 455 of file xen.h.

◆ UVMF_INVLPG

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

Definition at line 456 of file xen.h.

◆ UVMF_FLUSHTYPE_MASK

#define UVMF_FLUSHTYPE_MASK   (3UL<<0)

Definition at line 457 of file xen.h.

◆ UVMF_MULTI

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

Definition at line 458 of file xen.h.

◆ UVMF_LOCAL

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

Definition at line 459 of file xen.h.

◆ UVMF_ALL

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

Definition at line 460 of file xen.h.

◆ CONSOLEIO_write

#define CONSOLEIO_write   0

Definition at line 466 of file xen.h.

◆ CONSOLEIO_read

#define CONSOLEIO_read   1

Definition at line 467 of file xen.h.

◆ VMASST_CMD_enable

#define VMASST_CMD_enable   0

Definition at line 472 of file xen.h.

◆ VMASST_CMD_disable

#define VMASST_CMD_disable   1

Definition at line 473 of file xen.h.

◆ VMASST_TYPE_4gb_segments

#define VMASST_TYPE_4gb_segments   0

Definition at line 476 of file xen.h.

◆ VMASST_TYPE_4gb_segments_notify

#define VMASST_TYPE_4gb_segments_notify   1

Definition at line 479 of file xen.h.

◆ VMASST_TYPE_writable_pagetables

#define VMASST_TYPE_writable_pagetables   2

Definition at line 486 of file xen.h.

◆ VMASST_TYPE_pae_extended_cr3

#define VMASST_TYPE_pae_extended_cr3   3

Definition at line 489 of file xen.h.

◆ MAX_VMASST_TYPE

#define MAX_VMASST_TYPE   3

Definition at line 491 of file xen.h.

◆ DOMID_FIRST_RESERVED

#define DOMID_FIRST_RESERVED   (0x7FF0U)

Definition at line 498 of file xen.h.

◆ DOMID_SELF

#define DOMID_SELF   (0x7FF0U)

Definition at line 501 of file xen.h.

◆ DOMID_IO

#define DOMID_IO   (0x7FF1U)

Definition at line 512 of file xen.h.

◆ DOMID_XEN

#define DOMID_XEN   (0x7FF2U)

Definition at line 520 of file xen.h.

◆ DOMID_COW

#define DOMID_COW   (0x7FF3U)

Definition at line 524 of file xen.h.

◆ DOMID_INVALID

#define DOMID_INVALID   (0x7FF4U)

Definition at line 527 of file xen.h.

◆ DOMID_IDLE

#define DOMID_IDLE   (0x7FFFU)

Definition at line 530 of file xen.h.

◆ NR_EVENT_CHANNELS

#define NR_EVENT_CHANNELS   EVTCHN_2L_NR_CHANNELS

Definition at line 564 of file xen.h.

◆ SIF_PRIVILEGED

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

Definition at line 772 of file xen.h.

◆ SIF_INITDOMAIN

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

Definition at line 773 of file xen.h.

◆ SIF_MULTIBOOT_MOD

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

Definition at line 774 of file xen.h.

◆ SIF_MOD_START_PFN

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

Definition at line 775 of file xen.h.

◆ SIF_PM_MASK

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

Definition at line 776 of file xen.h.

◆ XEN_VGATYPE_TEXT_MODE_3

#define XEN_VGATYPE_TEXT_MODE_3   0x03

Definition at line 813 of file xen.h.

◆ XEN_VGATYPE_VESA_LFB

#define XEN_VGATYPE_VESA_LFB   0x23

Definition at line 814 of file xen.h.

◆ XEN_VGATYPE_EFI_LFB

#define XEN_VGATYPE_EFI_LFB   0x70

Definition at line 815 of file xen.h.

◆ xen_vga_console_info

#define xen_vga_console_info   dom0_vga_console_info

Definition at line 851 of file xen.h.

◆ xen_vga_console_info_t

#define xen_vga_console_info_t   dom0_vga_console_info_t

Definition at line 852 of file xen.h.

◆ __mk_unsigned_long

#define __mk_unsigned_long (   x)    x ## UL

Definition at line 857 of file xen.h.

◆ mk_unsigned_long

#define mk_unsigned_long (   x)    __mk_unsigned_long(x)

Definition at line 858 of file xen.h.

Typedef Documentation

◆ mmuext_op_t

typedef struct mmuext_op mmuext_op_t

Definition at line 432 of file xen.h.

◆ domid_t

typedef uint16_t domid_t

Definition at line 495 of file xen.h.

◆ mmu_update_t

typedef struct mmu_update mmu_update_t

Definition at line 540 of file xen.h.

◆ multicall_entry_t

Definition at line 556 of file xen.h.

◆ vcpu_time_info_t

Definition at line 592 of file xen.h.

◆ vcpu_info_t

typedef struct vcpu_info vcpu_info_t

Definition at line 631 of file xen.h.

◆ shared_info_t

typedef struct shared_info shared_info_t

Definition at line 692 of file xen.h.

◆ dom0_vga_console_info_t

◆ xen_domain_handle_t

typedef uint8_t xen_domain_handle_t[16]

Definition at line 854 of file xen.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT  )

◆ DEFINE_XEN_GUEST_HANDLE() [1/8]

DEFINE_XEN_GUEST_HANDLE ( char  )

◆ __DEFINE_XEN_GUEST_HANDLE() [1/7]

__DEFINE_XEN_GUEST_HANDLE ( uchar  ,
unsigned char   
)

◆ DEFINE_XEN_GUEST_HANDLE() [2/8]

DEFINE_XEN_GUEST_HANDLE ( int  )

◆ __DEFINE_XEN_GUEST_HANDLE() [2/7]

__DEFINE_XEN_GUEST_HANDLE ( uint  ,
unsigned int   
)

◆ DEFINE_XEN_GUEST_HANDLE() [3/8]

DEFINE_XEN_GUEST_HANDLE ( long  )

◆ __DEFINE_XEN_GUEST_HANDLE() [3/7]

__DEFINE_XEN_GUEST_HANDLE ( ulong  ,
unsigned long   
)

◆ DEFINE_XEN_GUEST_HANDLE() [4/8]

DEFINE_XEN_GUEST_HANDLE ( void  )

◆ DEFINE_XEN_GUEST_HANDLE() [5/8]

DEFINE_XEN_GUEST_HANDLE ( uint64_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [6/8]

DEFINE_XEN_GUEST_HANDLE ( mmuext_op_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [7/8]

DEFINE_XEN_GUEST_HANDLE ( mmu_update_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [8/8]

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   
)