Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
xen.h File Reference
#include <asm/xen/interface.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  start_info
 
struct  dom0_vga_console_info
 
struct  tmem_op
 

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
 
#define __HYPERVISOR_dom0_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
 
#define __HYPERVISOR_xen_version   17
 
#define __HYPERVISOR_console_io   18
 
#define __HYPERVISOR_physdev_op_compat   19
 
#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_acm_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_tmem_op   38
 
#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 VIRQ_TIMER   0 /* Timebase update, and/or requested timeout. */
 
#define VIRQ_DEBUG   1 /* Request guest to dump debug info. */
 
#define VIRQ_CONSOLE   2 /* (DOM0) Bytes received on emergency console. */
 
#define VIRQ_DOM_EXC   3 /* (DOM0) Exceptional event for some domain. */
 
#define VIRQ_DEBUGGER   6 /* (DOM0) A domain has paused for debugging. */
 
#define VIRQ_PCPU_STATE   9 /* (DOM0) PCPU state changed */
 
#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 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 NR_EVENT_CHANNELS   (sizeof(unsigned long) * sizeof(unsigned long) * 64)
 
#define MAX_GUEST_CMDLINE   1024
 
#define XEN_VGATYPE_TEXT_MODE_3   0x03
 
#define XEN_VGATYPE_VESA_LFB   0x23
 
#define XEN_VGATYPE_EFI_LFB   0x70
 
#define SIF_PRIVILEGED   (1<<0) /* Is the domain privileged? */
 
#define SIF_INITDOMAIN   (1<<1) /* Is this the initial control domain? */
 
#define SIF_PM_MASK   (0xFF<<8) /* reserve 1 byte for xen-pm options */
 
#define __mk_unsigned_long(x)   x ## UL
 
#define mk_unsigned_long(x)   __mk_unsigned_long(x)
 
#define TMEM_SPEC_VERSION   1
 

Typedefs

typedef uint16_t domid_t
 
typedef uint64_t cpumap_t
 
typedef uint8_t xen_domain_handle_t [16]
 

Functions

 DEFINE_GUEST_HANDLE_STRUCT (mmuext_op)
 
 DEFINE_GUEST_HANDLE_STRUCT (mmu_update)
 
 DEFINE_GUEST_HANDLE_STRUCT (multicall_entry)
 
 DEFINE_GUEST_HANDLE (u64)
 

Macro Definition Documentation

#define __HYPERVISOR_acm_op   27

Definition at line 52 of file xen.h.

#define __HYPERVISOR_arch_0   48

Definition at line 63 of file xen.h.

#define __HYPERVISOR_arch_1   49

Definition at line 64 of file xen.h.

#define __HYPERVISOR_arch_2   50

Definition at line 65 of file xen.h.

#define __HYPERVISOR_arch_3   51

Definition at line 66 of file xen.h.

#define __HYPERVISOR_arch_4   52

Definition at line 67 of file xen.h.

#define __HYPERVISOR_arch_5   53

Definition at line 68 of file xen.h.

#define __HYPERVISOR_arch_6   54

Definition at line 69 of file xen.h.

#define __HYPERVISOR_arch_7   55

Definition at line 70 of file xen.h.

#define __HYPERVISOR_callback_op   30

Definition at line 55 of file xen.h.

#define __HYPERVISOR_console_io   18

Definition at line 43 of file xen.h.

#define __HYPERVISOR_dom0_op   7

Definition at line 33 of file xen.h.

#define __HYPERVISOR_event_channel_op   32

Definition at line 57 of file xen.h.

#define __HYPERVISOR_event_channel_op_compat   16

Definition at line 41 of file xen.h.

#define __HYPERVISOR_fpu_taskswitch   5

Definition at line 31 of file xen.h.

#define __HYPERVISOR_get_debugreg   9

Definition at line 35 of file xen.h.

#define __HYPERVISOR_grant_table_op   20

Definition at line 45 of file xen.h.

#define __HYPERVISOR_hvm_op   34

Definition at line 59 of file xen.h.

#define __HYPERVISOR_iret   23 /* x86 only */

Definition at line 48 of file xen.h.

#define __HYPERVISOR_memory_op   12

Definition at line 37 of file xen.h.

#define __HYPERVISOR_mmu_update   1

Definition at line 27 of file xen.h.

#define __HYPERVISOR_mmuext_op   26

Definition at line 51 of file xen.h.

#define __HYPERVISOR_multicall   13

Definition at line 38 of file xen.h.

#define __HYPERVISOR_nmi_op   28

Definition at line 53 of file xen.h.

#define __HYPERVISOR_physdev_op   33

Definition at line 58 of file xen.h.

#define __HYPERVISOR_physdev_op_compat   19

Definition at line 44 of file xen.h.

#define __HYPERVISOR_sched_op   29

Definition at line 54 of file xen.h.

#define __HYPERVISOR_sched_op_compat   6

Definition at line 32 of file xen.h.

#define __HYPERVISOR_set_callbacks   4

Definition at line 30 of file xen.h.

#define __HYPERVISOR_set_debugreg   8

Definition at line 34 of file xen.h.

#define __HYPERVISOR_set_gdt   2

Definition at line 28 of file xen.h.

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

Definition at line 50 of file xen.h.

#define __HYPERVISOR_set_timer_op   15

Definition at line 40 of file xen.h.

#define __HYPERVISOR_set_trap_table   0

Definition at line 26 of file xen.h.

#define __HYPERVISOR_stack_switch   3

Definition at line 29 of file xen.h.

#define __HYPERVISOR_tmem_op   38

Definition at line 60 of file xen.h.

#define __HYPERVISOR_update_descriptor   10

Definition at line 36 of file xen.h.

#define __HYPERVISOR_update_va_mapping   14

Definition at line 39 of file xen.h.

#define __HYPERVISOR_update_va_mapping_otherdomain   22

Definition at line 47 of file xen.h.

#define __HYPERVISOR_vcpu_op   24

Definition at line 49 of file xen.h.

#define __HYPERVISOR_vm_assist   21

Definition at line 46 of file xen.h.

#define __HYPERVISOR_xen_version   17

Definition at line 42 of file xen.h.

#define __HYPERVISOR_xenoprof_op   31

Definition at line 56 of file xen.h.

#define __mk_unsigned_long (   x)    x ## UL

Definition at line 503 of file xen.h.

#define CONSOLEIO_read   1

Definition at line 221 of file xen.h.

#define CONSOLEIO_write   0

Definition at line 220 of file xen.h.

#define DOMID_FIRST_RESERVED   (0x7FF0U)

Definition at line 239 of file xen.h.

#define DOMID_IO   (0x7FF1U)

Definition at line 253 of file xen.h.

#define DOMID_SELF   (0x7FF0U)

Definition at line 242 of file xen.h.

#define DOMID_XEN   (0x7FF2U)

Definition at line 261 of file xen.h.

#define MAX_GUEST_CMDLINE   1024

Definition at line 425 of file xen.h.

#define MAX_VMASST_TYPE   3

Definition at line 232 of file xen.h.

#define mk_unsigned_long (   x)    __mk_unsigned_long(x)

Definition at line 504 of file xen.h.

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

Definition at line 124 of file xen.h.

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

Definition at line 123 of file xen.h.

#define MMU_PT_UPDATE_PRESERVE_AD   2 /* atomically: *ptr = val | (*ptr&(A|D)) */

Definition at line 125 of file xen.h.

#define MMUEXT_FLUSH_CACHE   12

Definition at line 183 of file xen.h.

#define MMUEXT_INVLPG_ALL   11

Definition at line 182 of file xen.h.

#define MMUEXT_INVLPG_LOCAL   7

Definition at line 178 of file xen.h.

#define MMUEXT_INVLPG_MULTI   9

Definition at line 180 of file xen.h.

#define MMUEXT_NEW_BASEPTR   5

Definition at line 176 of file xen.h.

#define MMUEXT_NEW_USER_BASEPTR   15

Definition at line 185 of file xen.h.

#define MMUEXT_PIN_L1_TABLE   0

Definition at line 171 of file xen.h.

#define MMUEXT_PIN_L2_TABLE   1

Definition at line 172 of file xen.h.

#define MMUEXT_PIN_L3_TABLE   2

Definition at line 173 of file xen.h.

#define MMUEXT_PIN_L4_TABLE   3

Definition at line 174 of file xen.h.

#define MMUEXT_SET_LDT   13

Definition at line 184 of file xen.h.

#define MMUEXT_TLB_FLUSH_ALL   10

Definition at line 181 of file xen.h.

#define MMUEXT_TLB_FLUSH_LOCAL   6

Definition at line 177 of file xen.h.

#define MMUEXT_TLB_FLUSH_MULTI   8

Definition at line 179 of file xen.h.

#define MMUEXT_UNPIN_TABLE   4

Definition at line 175 of file xen.h.

#define NR_EVENT_CHANNELS   (sizeof(unsigned long) * sizeof(unsigned long) * 64)

Definition at line 288 of file xen.h.

#define NR_VIRQS   24

Definition at line 94 of file xen.h.

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

Definition at line 495 of file xen.h.

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

Definition at line 496 of file xen.h.

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

Definition at line 494 of file xen.h.

#define TMEM_SPEC_VERSION   1

Definition at line 506 of file xen.h.

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

Definition at line 215 of file xen.h.

#define UVMF_FLUSHTYPE_MASK   (3UL<<0)

Definition at line 212 of file xen.h.

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

Definition at line 211 of file xen.h.

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

Definition at line 214 of file xen.h.

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

Definition at line 213 of file xen.h.

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

Definition at line 209 of file xen.h.

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

Definition at line 210 of file xen.h.

#define VIRQ_ARCH_0   16

Definition at line 85 of file xen.h.

#define VIRQ_ARCH_1   17

Definition at line 86 of file xen.h.

#define VIRQ_ARCH_2   18

Definition at line 87 of file xen.h.

#define VIRQ_ARCH_3   19

Definition at line 88 of file xen.h.

#define VIRQ_ARCH_4   20

Definition at line 89 of file xen.h.

#define VIRQ_ARCH_5   21

Definition at line 90 of file xen.h.

#define VIRQ_ARCH_6   22

Definition at line 91 of file xen.h.

#define VIRQ_ARCH_7   23

Definition at line 92 of file xen.h.

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

Definition at line 79 of file xen.h.

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

Definition at line 78 of file xen.h.

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

Definition at line 81 of file xen.h.

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

Definition at line 80 of file xen.h.

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

Definition at line 82 of file xen.h.

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

Definition at line 77 of file xen.h.

#define VMASST_CMD_disable   1

Definition at line 227 of file xen.h.

#define VMASST_CMD_enable   0

Definition at line 226 of file xen.h.

#define VMASST_TYPE_4gb_segments   0

Definition at line 228 of file xen.h.

#define VMASST_TYPE_4gb_segments_notify   1

Definition at line 229 of file xen.h.

#define VMASST_TYPE_pae_extended_cr3   3

Definition at line 231 of file xen.h.

#define VMASST_TYPE_writable_pagetables   2

Definition at line 230 of file xen.h.

#define XEN_VGATYPE_EFI_LFB   0x70

Definition at line 457 of file xen.h.

#define XEN_VGATYPE_TEXT_MODE_3   0x03

Definition at line 455 of file xen.h.

#define XEN_VGATYPE_VESA_LFB   0x23

Definition at line 456 of file xen.h.

Typedef Documentation

typedef uint64_t cpumap_t

Definition at line 498 of file xen.h.

typedef uint16_t domid_t

Definition at line 236 of file xen.h.

typedef uint8_t xen_domain_handle_t[16]

Definition at line 500 of file xen.h.

Function Documentation

DEFINE_GUEST_HANDLE ( u64  )
DEFINE_GUEST_HANDLE_STRUCT ( mmuext_op  )
DEFINE_GUEST_HANDLE_STRUCT ( mmu_update  )
DEFINE_GUEST_HANDLE_STRUCT ( multicall_entry  )