iPXE
Data Structures | Macros | Typedefs | Functions
xen.h File Reference
#include "../xen.h"

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)   typedef type * __guest_handle_ ## name
 
#define __DEFINE_XEN_GUEST_HANDLE(name, type)
 
#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
 
#define __XEN_GUEST_HANDLE(name)   __guest_handle_ ## name
 
#define XEN_GUEST_HANDLE(name)   __XEN_GUEST_HANDLE(name)
 
#define XEN_GUEST_HANDLE_PARAM(name)   XEN_GUEST_HANDLE(name)
 
#define set_xen_guest_handle_raw(hnd, val)   do { (hnd).p = val; } while (0)
 
#define set_xen_guest_handle(hnd, val)   set_xen_guest_handle_raw(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)   ((_ti)->flags & 3)
 
#define TI_GET_IF(_ti)   ((_ti)->flags & 4)
 
#define TI_SET_DPL(_ti, _dpl)   ((_ti)->flags |= (_dpl))
 
#define TI_SET_IF(_ti, _if)   ((_ti)->flags |= ((!!(_if))<<2))
 
#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 unsigned long xen_pfn_t
 
typedef unsigned long xen_ulong_t
 
typedef struct trap_info trap_info_t
 
typedef uint64_t tsc_timestamp_t
 
typedef struct vcpu_guest_context vcpu_guest_context_t
 
typedef struct arch_shared_info arch_shared_info_t
 
typedef struct xen_cpuid_leaf xen_cpuid_leaf_t
 
typedef struct xen_msr_entry xen_msr_entry_t
 

Functions

 FILE_LICENCE (MIT)
 
 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 
)    typedef type * __guest_handle_ ## name

Definition at line 22 of file xen.h.

◆ __DEFINE_XEN_GUEST_HANDLE

#define __DEFINE_XEN_GUEST_HANDLE (   name,
  type 
)
Value:
___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
const char * name
Definition: ath9k_hw.c:1984
#define ___DEFINE_XEN_GUEST_HANDLE(name, type)
Definition: xen.h:22
uint32_t type
Operating system type.
Definition: ena.h:12

Definition at line 34 of file xen.h.

◆ DEFINE_XEN_GUEST_HANDLE

#define DEFINE_XEN_GUEST_HANDLE (   name)    __DEFINE_XEN_GUEST_HANDLE(name, name)

Definition at line 37 of file xen.h.

◆ __XEN_GUEST_HANDLE

#define __XEN_GUEST_HANDLE (   name)    __guest_handle_ ## name

Definition at line 38 of file xen.h.

◆ XEN_GUEST_HANDLE

#define XEN_GUEST_HANDLE (   name)    __XEN_GUEST_HANDLE(name)

Definition at line 39 of file xen.h.

◆ XEN_GUEST_HANDLE_PARAM

#define XEN_GUEST_HANDLE_PARAM (   name)    XEN_GUEST_HANDLE(name)

Definition at line 40 of file xen.h.

◆ set_xen_guest_handle_raw

#define set_xen_guest_handle_raw (   hnd,
  val 
)    do { (hnd).p = val; } while (0)

Definition at line 41 of file xen.h.

◆ set_xen_guest_handle

#define set_xen_guest_handle (   hnd,
  val 
)    set_xen_guest_handle_raw(hnd, val)

Definition at line 42 of file xen.h.

◆ PRI_xen_pfn

#define PRI_xen_pfn   "lx"

Definition at line 62 of file xen.h.

◆ PRIu_xen_pfn

#define PRIu_xen_pfn   "lu"

Definition at line 63 of file xen.h.

◆ XEN_HAVE_PV_GUEST_ENTRY

#define XEN_HAVE_PV_GUEST_ENTRY   1

Definition at line 66 of file xen.h.

◆ XEN_HAVE_PV_UPCALL_MASK

#define XEN_HAVE_PV_UPCALL_MASK   1

Definition at line 68 of file xen.h.

◆ FIRST_RESERVED_GDT_PAGE

#define FIRST_RESERVED_GDT_PAGE   14

Definition at line 86 of file xen.h.

◆ FIRST_RESERVED_GDT_BYTE

#define FIRST_RESERVED_GDT_BYTE   (FIRST_RESERVED_GDT_PAGE * 4096)

Definition at line 87 of file xen.h.

◆ FIRST_RESERVED_GDT_ENTRY

#define FIRST_RESERVED_GDT_ENTRY   (FIRST_RESERVED_GDT_BYTE / 8)

Definition at line 88 of file xen.h.

◆ XEN_LEGACY_MAX_VCPUS

#define XEN_LEGACY_MAX_VCPUS   32

Definition at line 102 of file xen.h.

◆ PRI_xen_ulong

#define PRI_xen_ulong   "lx"

Definition at line 107 of file xen.h.

◆ TI_GET_DPL

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

Definition at line 138 of file xen.h.

◆ TI_GET_IF

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

Definition at line 139 of file xen.h.

◆ TI_SET_DPL

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

Definition at line 140 of file xen.h.

◆ TI_SET_IF

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

Definition at line 141 of file xen.h.

◆ VGCF_I387_VALID

#define VGCF_I387_VALID   (1<<0)

Definition at line 167 of file xen.h.

◆ VGCF_IN_KERNEL

#define VGCF_IN_KERNEL   (1<<2)

Definition at line 168 of file xen.h.

◆ _VGCF_i387_valid

#define _VGCF_i387_valid   0

Definition at line 169 of file xen.h.

◆ VGCF_i387_valid

#define VGCF_i387_valid   (1<<_VGCF_i387_valid)

Definition at line 170 of file xen.h.

◆ _VGCF_in_kernel

#define _VGCF_in_kernel   2

Definition at line 171 of file xen.h.

◆ VGCF_in_kernel

#define VGCF_in_kernel   (1<<_VGCF_in_kernel)

Definition at line 172 of file xen.h.

◆ _VGCF_failsafe_disables_events

#define _VGCF_failsafe_disables_events   3

Definition at line 173 of file xen.h.

◆ VGCF_failsafe_disables_events

#define VGCF_failsafe_disables_events   (1<<_VGCF_failsafe_disables_events)

Definition at line 174 of file xen.h.

◆ _VGCF_syscall_disables_events

#define _VGCF_syscall_disables_events   4

Definition at line 175 of file xen.h.

◆ VGCF_syscall_disables_events

#define VGCF_syscall_disables_events   (1<<_VGCF_syscall_disables_events)

Definition at line 176 of file xen.h.

◆ _VGCF_online

#define _VGCF_online   5

Definition at line 177 of file xen.h.

◆ VGCF_online

#define VGCF_online   (1<<_VGCF_online)

Definition at line 178 of file xen.h.

◆ XEN_CPUID_NO_SUBLEAF

#define XEN_CPUID_NO_SUBLEAF   0xffffffffu

Definition at line 318 of file xen.h.

◆ XEN_EMULATE_PREFIX

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

Definition at line 359 of file xen.h.

◆ XEN_CPUID

#define XEN_CPUID   XEN_EMULATE_PREFIX "cpuid"

Definition at line 360 of file xen.h.

◆ XEN_HVM_DEBUGCONS_IOPORT

#define XEN_HVM_DEBUGCONS_IOPORT   0xe9

Definition at line 368 of file xen.h.

Typedef Documentation

◆ xen_pfn_t

typedef unsigned long xen_pfn_t

Definition at line 61 of file xen.h.

◆ xen_ulong_t

typedef unsigned long xen_ulong_t

Definition at line 106 of file xen.h.

◆ trap_info_t

typedef struct trap_info trap_info_t

Definition at line 148 of file xen.h.

◆ tsc_timestamp_t

Definition at line 151 of file xen.h.

◆ vcpu_guest_context_t

Definition at line 216 of file xen.h.

◆ arch_shared_info_t

Definition at line 260 of file xen.h.

◆ xen_cpuid_leaf_t

◆ xen_msr_entry_t

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT  )

◆ 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  )