29#ifndef __XEN_PUBLIC_XEN_H__
30#define __XEN_PUBLIC_XEN_H__
32#if defined(CONFIG_ARM64)
35#error "Unsupported architecture"
41__DEFINE_XEN_GUEST_HANDLE(uchar,
unsigned char);
43__DEFINE_XEN_GUEST_HANDLE(uint,
unsigned int);
44#if __XEN_INTERFACE_VERSION__ < 0x00040300
46__DEFINE_XEN_GUEST_HANDLE(ulong,
unsigned long);
55#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
56#define XEN_FLEX_ARRAY_DIM
57#elif defined(__GNUC__)
58#define XEN_FLEX_ARRAY_DIM 0
60#define XEN_FLEX_ARRAY_DIM 1
64#define __xen_mk_uint(x) x ## U
65#define __xen_mk_ulong(x) x ## UL
66#ifndef __xen_mk_ullong
67#define __xen_mk_ullong(x) x ## ULL
69#define xen_mk_uint(x) __xen_mk_uint(x)
70#define xen_mk_ulong(x) __xen_mk_ulong(x)
71#define xen_mk_ullong(x) __xen_mk_ullong(x)
76#define xen_mk_uint(x) x
77#define xen_mk_ulong(x) x
78#define xen_mk_ullong(x) x
90#define __HYPERVISOR_set_trap_table 0
91#define __HYPERVISOR_mmu_update 1
92#define __HYPERVISOR_set_gdt 2
93#define __HYPERVISOR_stack_switch 3
94#define __HYPERVISOR_set_callbacks 4
95#define __HYPERVISOR_fpu_taskswitch 5
98#define __HYPERVISOR_sched_op_compat 6
99#define __HYPERVISOR_platform_op 7
100#define __HYPERVISOR_set_debugreg 8
101#define __HYPERVISOR_get_debugreg 9
102#define __HYPERVISOR_update_descriptor 10
103#define __HYPERVISOR_memory_op 12
104#define __HYPERVISOR_multicall 13
105#define __HYPERVISOR_update_va_mapping 14
106#define __HYPERVISOR_set_timer_op 15
109#define __HYPERVISOR_event_channel_op_compat 16
110#define __HYPERVISOR_xen_version 17
111#define __HYPERVISOR_console_io 18
114#define __HYPERVISOR_physdev_op_compat 19
115#define __HYPERVISOR_grant_table_op 20
116#define __HYPERVISOR_vm_assist 21
117#define __HYPERVISOR_update_va_mapping_otherdomain 22
120#define __HYPERVISOR_iret 23
121#define __HYPERVISOR_vcpu_op 24
124#define __HYPERVISOR_set_segment_base 25
125#define __HYPERVISOR_mmuext_op 26
126#define __HYPERVISOR_xsm_op 27
127#define __HYPERVISOR_nmi_op 28
128#define __HYPERVISOR_sched_op 29
129#define __HYPERVISOR_callback_op 30
130#define __HYPERVISOR_xenoprof_op 31
131#define __HYPERVISOR_event_channel_op 32
132#define __HYPERVISOR_physdev_op 33
133#define __HYPERVISOR_hvm_op 34
134#define __HYPERVISOR_sysctl 35
135#define __HYPERVISOR_domctl 36
136#define __HYPERVISOR_kexec_op 37
137#define __HYPERVISOR_tmem_op 38
138#define __HYPERVISOR_argo_op 39
139#define __HYPERVISOR_xenpmu_op 40
140#define __HYPERVISOR_dm_op 41
141#define __HYPERVISOR_hypfs_op 42
167#define CONSOLEIO_write 0
168#define CONSOLEIO_read 1
171#define DOMID_FIRST_RESERVED xen_mk_uint(0x7FF0)
174#define DOMID_SELF xen_mk_uint(0x7FF0)
187#define DOMID_IO xen_mk_uint(0x7FF1)
198#define DOMID_XEN xen_mk_uint(0x7FF2)
203#define DOMID_COW xen_mk_uint(0x7FF3)
206#define DOMID_INVALID xen_mk_uint(0x7FF4)
209#define DOMID_IDLE xen_mk_uint(0x7FFF)
212#define DOMID_MASK xen_mk_uint(0x7FFF)
218#if __XEN_INTERFACE_VERSION__ < 0x00040400
223#define NR_EVENT_CHANNELS EVTCHN_2L_NR_CHANNELS
250#if __XEN_INTERFACE_VERSION__ > 0x040600
259#define XEN_PVCLOCK_TSC_STABLE_BIT (1 << 0)
260#define XEN_PVCLOCK_GUEST_STOPPED (1 << 1)
289#ifdef XEN_HAVE_PV_UPCALL_MASK
360#if !defined(__i386__)
362# define xen_wc_sec_hi wc_sec_hi
363#elif !defined(__XEN__) && !defined(__XEN_TOOLS__)
364# define xen_wc_sec_hi arch.wc_sec_hi
uint64_t xen_pfn_t
Definition: arch-arm.h:204
#define XEN_LEGACY_MAX_VCPUS
Definition: arch-arm.h:215
uint64_t xen_ulong_t
Definition: arch-arm.h:208
flags
Definition: http_parser.h:131
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT64_TYPE__ uint64_t
Definition: stdint.h:61
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
__INT8_TYPE__ int8_t
Definition: stdint.h:42
Definition: arch-arm.h:221
Definition: arch-arm.h:217
uint32_t wc_sec_hi
Definition: xen.h:361
uint32_t wc_nsec
Definition: xen.h:359
uint32_t wc_sec
Definition: xen.h:358
xen_ulong_t evtchn_mask[sizeof(xen_ulong_t) *8]
Definition: xen.h:346
struct arch_shared_info arch
Definition: xen.h:367
xen_ulong_t evtchn_pending[sizeof(xen_ulong_t) *8]
Definition: xen.h:345
uint32_t wc_version
Definition: xen.h:357
uint8_t pad0
Definition: xen.h:292
xen_ulong_t evtchn_pending_sel
Definition: xen.h:294
uint8_t evtchn_upcall_pending
Definition: xen.h:288
struct arch_vcpu_info arch
Definition: xen.h:295
vcpu_time_info_t time
Definition: xen.h:296
uint32_t tsc_to_system_mul
Definition: xen.h:248
uint32_t pad0
Definition: xen.h:238
uint64_t tsc_timestamp
Definition: xen.h:239
uint32_t version
Definition: xen.h:237
int8_t pad1[3]
Definition: xen.h:254
uint64_t system_time
Definition: xen.h:240
int8_t tsc_shift
Definition: xen.h:249
DEFINE_XEN_GUEST_HANDLE(char)
uint16_t domid_t
Definition: xen.h:216