iPXE
xen.h File Reference

Go to the source code of this file.

Data Structures

struct  trap_info
struct  vcpu_guest_context
struct  arch_shared_info
struct  xen_cpuid_leaf
struct  xen_msr_entry

Macros

#define ___DEFINE_XEN_GUEST_HANDLE(name, type)
#define __DEFINE_XEN_GUEST_HANDLE(name, type)
#define DEFINE_XEN_GUEST_HANDLE(name)
#define __XEN_GUEST_HANDLE(name)
#define XEN_GUEST_HANDLE(name)
#define XEN_GUEST_HANDLE_PARAM(name)
#define set_xen_guest_handle_raw(hnd, val)
#define set_xen_guest_handle(hnd, val)
#define PRI_xen_pfn   "lx"
#define PRIu_xen_pfn   "lu"
#define XEN_HAVE_PV_GUEST_ENTRY   1
#define XEN_HAVE_PV_UPCALL_MASK   1
#define FIRST_RESERVED_GDT_PAGE   14
#define FIRST_RESERVED_GDT_BYTE   (FIRST_RESERVED_GDT_PAGE * 4096)
#define FIRST_RESERVED_GDT_ENTRY   (FIRST_RESERVED_GDT_BYTE / 8)
#define XEN_LEGACY_MAX_VCPUS   32
#define PRI_xen_ulong   "lx"
#define TI_GET_DPL(_ti)
#define TI_GET_IF(_ti)
#define TI_SET_DPL(_ti, _dpl)
#define TI_SET_IF(_ti, _if)
#define VGCF_I387_VALID   (1<<0)
#define VGCF_IN_KERNEL   (1<<2)
#define _VGCF_i387_valid   0
#define VGCF_i387_valid   (1<<_VGCF_i387_valid)
#define _VGCF_in_kernel   2
#define VGCF_in_kernel   (1<<_VGCF_in_kernel)
#define _VGCF_failsafe_disables_events   3
#define VGCF_failsafe_disables_events   (1<<_VGCF_failsafe_disables_events)
#define _VGCF_syscall_disables_events   4
#define VGCF_syscall_disables_events   (1<<_VGCF_syscall_disables_events)
#define _VGCF_online   5
#define VGCF_online   (1<<_VGCF_online)
#define XEN_CPUID_NO_SUBLEAF   0xffffffffu
#define XEN_EMULATE_PREFIX   ".byte 0x0f,0x0b,0x78,0x65,0x6e ; "
#define XEN_CPUID   XEN_EMULATE_PREFIX "cpuid"
#define XEN_HVM_DEBUGCONS_IOPORT   0xe9

Typedefs

typedef struct trap_info trap_info_t
typedef struct xen_cpuid_leaf xen_cpuid_leaf_t
typedef struct xen_msr_entry xen_msr_entry_t

Functions

 FILE_LICENCE (MIT)
 FILE_SECBOOT (PERMITTED)
 DEFINE_XEN_GUEST_HANDLE (trap_info_t)
 DEFINE_XEN_GUEST_HANDLE (vcpu_guest_context_t)
 DEFINE_XEN_GUEST_HANDLE (xen_cpuid_leaf_t)
 DEFINE_XEN_GUEST_HANDLE (xen_msr_entry_t)

Macro Definition Documentation

◆ ___DEFINE_XEN_GUEST_HANDLE

#define ___DEFINE_XEN_GUEST_HANDLE ( name,
type )
Value:
typedef type * __guest_handle_ ## name
const char * name
Definition ath9k_hw.c:1986
uint32_t type
Operating system type.
Definition ena.h:1

Definition at line 21 of file xen.h.

21#define ___DEFINE_XEN_GUEST_HANDLE(name, type) \
22 typedef type * __guest_handle_ ## name

◆ __DEFINE_XEN_GUEST_HANDLE

#define __DEFINE_XEN_GUEST_HANDLE ( name,
type )
Value:
___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
#define ___DEFINE_XEN_GUEST_HANDLE(name, type)
Definition nonxen.h:19

Definition at line 33 of file xen.h.

33#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
34 ___DEFINE_XEN_GUEST_HANDLE(name, type); \
35 ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)

◆ DEFINE_XEN_GUEST_HANDLE

#define DEFINE_XEN_GUEST_HANDLE ( name)
Value:
#define __DEFINE_XEN_GUEST_HANDLE(name, type)
Definition nonxen.h:22

Definition at line 36 of file xen.h.

◆ __XEN_GUEST_HANDLE

#define __XEN_GUEST_HANDLE ( name)
Value:
__guest_handle_ ## name

Definition at line 37 of file xen.h.

◆ XEN_GUEST_HANDLE

#define XEN_GUEST_HANDLE ( name)
Value:
#define __XEN_GUEST_HANDLE(name)
Definition nonxen.h:15

Definition at line 38 of file xen.h.

◆ XEN_GUEST_HANDLE_PARAM

#define XEN_GUEST_HANDLE_PARAM ( name)
Value:
#define XEN_GUEST_HANDLE(name)
Definition nonxen.h:17

Definition at line 39 of file xen.h.

◆ set_xen_guest_handle_raw

#define set_xen_guest_handle_raw ( hnd,
val )
Value:
do { (hnd).p = (val); } while (0)
void __asmcall int val
Definition setjmp.h:12

Definition at line 40 of file xen.h.

◆ set_xen_guest_handle

#define set_xen_guest_handle ( hnd,
val )
Value:
#define set_xen_guest_handle_raw(hnd, val)
Definition arch-arm.h:211

Definition at line 41 of file xen.h.

◆ PRI_xen_pfn

#define PRI_xen_pfn   "lx"

Definition at line 61 of file xen.h.

◆ PRIu_xen_pfn

#define PRIu_xen_pfn   "lu"

Definition at line 62 of file xen.h.

◆ XEN_HAVE_PV_GUEST_ENTRY

#define XEN_HAVE_PV_GUEST_ENTRY   1

Definition at line 65 of file xen.h.

◆ XEN_HAVE_PV_UPCALL_MASK

#define XEN_HAVE_PV_UPCALL_MASK   1

Definition at line 67 of file xen.h.

◆ FIRST_RESERVED_GDT_PAGE

#define FIRST_RESERVED_GDT_PAGE   14

Definition at line 85 of file xen.h.

◆ FIRST_RESERVED_GDT_BYTE

#define FIRST_RESERVED_GDT_BYTE   (FIRST_RESERVED_GDT_PAGE * 4096)

Definition at line 86 of file xen.h.

◆ FIRST_RESERVED_GDT_ENTRY

#define FIRST_RESERVED_GDT_ENTRY   (FIRST_RESERVED_GDT_BYTE / 8)

Definition at line 87 of file xen.h.

◆ XEN_LEGACY_MAX_VCPUS

#define XEN_LEGACY_MAX_VCPUS   32

Definition at line 101 of file xen.h.

◆ PRI_xen_ulong

#define PRI_xen_ulong   "lx"

Definition at line 106 of file xen.h.

◆ TI_GET_DPL

#define TI_GET_DPL ( _ti)
Value:
((_ti)->flags & 3)

Definition at line 137 of file xen.h.

◆ TI_GET_IF

#define TI_GET_IF ( _ti)
Value:
((_ti)->flags & 4)

Definition at line 138 of file xen.h.

◆ TI_SET_DPL

#define TI_SET_DPL ( _ti,
_dpl )
Value:
((_ti)->flags |= (_dpl))

Definition at line 139 of file xen.h.

◆ TI_SET_IF

#define TI_SET_IF ( _ti,
_if )
Value:
((_ti)->flags |= ((!!(_if))<<2))

Definition at line 140 of file xen.h.

◆ VGCF_I387_VALID

#define VGCF_I387_VALID   (1<<0)

Definition at line 166 of file xen.h.

◆ VGCF_IN_KERNEL

#define VGCF_IN_KERNEL   (1<<2)

Definition at line 167 of file xen.h.

◆ _VGCF_i387_valid

#define _VGCF_i387_valid   0

Definition at line 168 of file xen.h.

◆ VGCF_i387_valid

#define VGCF_i387_valid   (1<<_VGCF_i387_valid)

Definition at line 169 of file xen.h.

◆ _VGCF_in_kernel

#define _VGCF_in_kernel   2

Definition at line 170 of file xen.h.

◆ VGCF_in_kernel

#define VGCF_in_kernel   (1<<_VGCF_in_kernel)

Definition at line 171 of file xen.h.

◆ _VGCF_failsafe_disables_events

#define _VGCF_failsafe_disables_events   3

Definition at line 172 of file xen.h.

◆ VGCF_failsafe_disables_events

#define VGCF_failsafe_disables_events   (1<<_VGCF_failsafe_disables_events)

Definition at line 173 of file xen.h.

◆ _VGCF_syscall_disables_events

#define _VGCF_syscall_disables_events   4

Definition at line 174 of file xen.h.

◆ VGCF_syscall_disables_events

#define VGCF_syscall_disables_events   (1<<_VGCF_syscall_disables_events)

Definition at line 175 of file xen.h.

◆ _VGCF_online

#define _VGCF_online   5

Definition at line 176 of file xen.h.

◆ VGCF_online

#define VGCF_online   (1<<_VGCF_online)

Definition at line 177 of file xen.h.

◆ XEN_CPUID_NO_SUBLEAF

#define XEN_CPUID_NO_SUBLEAF   0xffffffffu

Definition at line 328 of file xen.h.

◆ XEN_EMULATE_PREFIX

#define XEN_EMULATE_PREFIX   ".byte 0x0f,0x0b,0x78,0x65,0x6e ; "

Definition at line 369 of file xen.h.

◆ XEN_CPUID

#define XEN_CPUID   XEN_EMULATE_PREFIX "cpuid"

Definition at line 370 of file xen.h.

◆ XEN_HVM_DEBUGCONS_IOPORT

#define XEN_HVM_DEBUGCONS_IOPORT   0xe9

Definition at line 378 of file xen.h.

Typedef Documentation

◆ trap_info_t

typedef struct trap_info trap_info_t

Definition at line 147 of file xen.h.

◆ xen_cpuid_leaf_t

◆ xen_msr_entry_t

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )

◆ DEFINE_XEN_GUEST_HANDLE() [1/4]

DEFINE_XEN_GUEST_HANDLE ( trap_info_t )

◆ DEFINE_XEN_GUEST_HANDLE() [2/4]

DEFINE_XEN_GUEST_HANDLE ( vcpu_guest_context_t )

◆ DEFINE_XEN_GUEST_HANDLE() [3/4]

DEFINE_XEN_GUEST_HANDLE ( xen_cpuid_leaf_t )

◆ DEFINE_XEN_GUEST_HANDLE() [4/4]

DEFINE_XEN_GUEST_HANDLE ( xen_msr_entry_t )