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
 

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 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_EMULATE_PREFIX   ".byte 0x0f,0x0b,0x78,0x65,0x6e ; "
 
#define XEN_CPUID   XEN_EMULATE_PREFIX "cpuid"
 

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
 

Functions

 FILE_LICENCE (MIT)
 
 DEFINE_XEN_GUEST_HANDLE (trap_info_t)
 
 DEFINE_XEN_GUEST_HANDLE (vcpu_guest_context_t)
 

Macro Definition Documentation

◆ ___DEFINE_XEN_GUEST_HANDLE

#define ___DEFINE_XEN_GUEST_HANDLE (   name,
  type 
)    typedef type * __guest_handle_ ## name

Definition at line 39 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
uint8_t type
Type.
Definition: ena.h:16
#define ___DEFINE_XEN_GUEST_HANDLE(name, type)
Definition: xen.h:39

Definition at line 51 of file xen.h.

◆ DEFINE_XEN_GUEST_HANDLE

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

Definition at line 54 of file xen.h.

◆ __XEN_GUEST_HANDLE

#define __XEN_GUEST_HANDLE (   name)    __guest_handle_ ## name

Definition at line 55 of file xen.h.

◆ XEN_GUEST_HANDLE

#define XEN_GUEST_HANDLE (   name)    __XEN_GUEST_HANDLE(name)

Definition at line 56 of file xen.h.

◆ XEN_GUEST_HANDLE_PARAM

#define XEN_GUEST_HANDLE_PARAM (   name)    XEN_GUEST_HANDLE(name)

Definition at line 57 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 58 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 62 of file xen.h.

◆ PRI_xen_pfn

#define PRI_xen_pfn   "lx"

Definition at line 72 of file xen.h.

◆ XEN_HAVE_PV_GUEST_ENTRY

#define XEN_HAVE_PV_GUEST_ENTRY   1

Definition at line 75 of file xen.h.

◆ XEN_HAVE_PV_UPCALL_MASK

#define XEN_HAVE_PV_UPCALL_MASK   1

Definition at line 77 of file xen.h.

◆ FIRST_RESERVED_GDT_PAGE

#define FIRST_RESERVED_GDT_PAGE   14

Definition at line 95 of file xen.h.

◆ FIRST_RESERVED_GDT_BYTE

#define FIRST_RESERVED_GDT_BYTE   (FIRST_RESERVED_GDT_PAGE * 4096)

Definition at line 96 of file xen.h.

◆ FIRST_RESERVED_GDT_ENTRY

#define FIRST_RESERVED_GDT_ENTRY   (FIRST_RESERVED_GDT_BYTE / 8)

Definition at line 97 of file xen.h.

◆ XEN_LEGACY_MAX_VCPUS

#define XEN_LEGACY_MAX_VCPUS   32

Definition at line 111 of file xen.h.

◆ PRI_xen_ulong

#define PRI_xen_ulong   "lx"

Definition at line 116 of file xen.h.

◆ TI_GET_DPL

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

Definition at line 141 of file xen.h.

◆ TI_GET_IF

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

Definition at line 142 of file xen.h.

◆ TI_SET_DPL

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

Definition at line 143 of file xen.h.

◆ TI_SET_IF

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

Definition at line 144 of file xen.h.

◆ VGCF_I387_VALID

#define VGCF_I387_VALID   (1<<0)

Definition at line 172 of file xen.h.

◆ VGCF_IN_KERNEL

#define VGCF_IN_KERNEL   (1<<2)

Definition at line 173 of file xen.h.

◆ _VGCF_i387_valid

#define _VGCF_i387_valid   0

Definition at line 174 of file xen.h.

◆ VGCF_i387_valid

#define VGCF_i387_valid   (1<<_VGCF_i387_valid)

Definition at line 175 of file xen.h.

◆ _VGCF_in_kernel

#define _VGCF_in_kernel   2

Definition at line 176 of file xen.h.

◆ VGCF_in_kernel

#define VGCF_in_kernel   (1<<_VGCF_in_kernel)

Definition at line 177 of file xen.h.

◆ _VGCF_failsafe_disables_events

#define _VGCF_failsafe_disables_events   3

Definition at line 178 of file xen.h.

◆ VGCF_failsafe_disables_events

#define VGCF_failsafe_disables_events   (1<<_VGCF_failsafe_disables_events)

Definition at line 179 of file xen.h.

◆ _VGCF_syscall_disables_events

#define _VGCF_syscall_disables_events   4

Definition at line 180 of file xen.h.

◆ VGCF_syscall_disables_events

#define VGCF_syscall_disables_events   (1<<_VGCF_syscall_disables_events)

Definition at line 181 of file xen.h.

◆ _VGCF_online

#define _VGCF_online   5

Definition at line 182 of file xen.h.

◆ VGCF_online

#define VGCF_online   (1<<_VGCF_online)

Definition at line 183 of file xen.h.

◆ XEN_EMULATE_PREFIX

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

Definition at line 261 of file xen.h.

◆ XEN_CPUID

#define XEN_CPUID   XEN_EMULATE_PREFIX "cpuid"

Definition at line 262 of file xen.h.

Typedef Documentation

◆ xen_pfn_t

typedef unsigned long xen_pfn_t

Definition at line 71 of file xen.h.

◆ xen_ulong_t

typedef unsigned long xen_ulong_t

Definition at line 115 of file xen.h.

◆ trap_info_t

typedef struct trap_info trap_info_t

Definition at line 151 of file xen.h.

◆ tsc_timestamp_t

Definition at line 154 of file xen.h.

◆ vcpu_guest_context_t

Definition at line 221 of file xen.h.

◆ arch_shared_info_t

Definition at line 231 of file xen.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT  )

◆ DEFINE_XEN_GUEST_HANDLE() [1/2]

DEFINE_XEN_GUEST_HANDLE ( trap_info_t  )

◆ DEFINE_XEN_GUEST_HANDLE() [2/2]

DEFINE_XEN_GUEST_HANDLE ( vcpu_guest_context_t  )