5#ifndef XEN_PUBLIC_XEN_H
6#define XEN_PUBLIC_XEN_H
8#if defined(__i386__) || defined(__x86_64__)
11#error Bad architecture
14#define __HYPERVISOR_set_trap_table 0
15#define __HYPERVISOR_mmu_update 1
16#define __HYPERVISOR_set_gdt 2
17#define __HYPERVISOR_stack_switch 3
18#define __HYPERVISOR_set_callbacks 4
19#define __HYPERVISOR_fpu_taskswitch 5
20#define __HYPERVISOR_sched_op_compat 6
21#define __HYPERVISOR_platform_op 7
22#define __HYPERVISOR_set_debugreg 8
23#define __HYPERVISOR_get_debugreg 9
24#define __HYPERVISOR_update_descriptor 10
25#define __HYPERVISOR_memory_op 12
26#define __HYPERVISOR_multicall 13
27#define __HYPERVISOR_update_va_mapping 14
28#define __HYPERVISOR_set_timer_op 15
29#define __HYPERVISOR_event_channel_op_compat 16
30#define __HYPERVISOR_xen_version 17
31#define __HYPERVISOR_console_io 18
32#define __HYPERVISOR_physdev_op_compat 19
33#define __HYPERVISOR_grant_table_op 20
34#define __HYPERVISOR_vm_assist 21
35#define __HYPERVISOR_update_va_mapping_otherdomain 22
36#define __HYPERVISOR_iret 23
37#define __HYPERVISOR_vcpu_op 24
38#define __HYPERVISOR_set_segment_base 25
39#define __HYPERVISOR_mmuext_op 26
40#define __HYPERVISOR_xsm_op 27
41#define __HYPERVISOR_nmi_op 28
42#define __HYPERVISOR_sched_op 29
43#define __HYPERVISOR_callback_op 30
44#define __HYPERVISOR_xenoprof_op 31
45#define __HYPERVISOR_event_channel_op 32
46#define __HYPERVISOR_physdev_op 33
47#define __HYPERVISOR_hvm_op 34
48#define __HYPERVISOR_sysctl 35
49#define __HYPERVISOR_domctl 36
50#define __HYPERVISOR_kexec_op 37
51#define __HYPERVISOR_tmem_op 38
52#define __HYPERVISOR_argo_op 39
53#define __HYPERVISOR_xenpmu_op 40
56#define __HYPERVISOR_arch_0 48
57#define __HYPERVISOR_arch_1 49
58#define __HYPERVISOR_arch_2 50
59#define __HYPERVISOR_arch_3 51
60#define __HYPERVISOR_arch_4 52
61#define __HYPERVISOR_arch_5 53
62#define __HYPERVISOR_arch_6 54
63#define __HYPERVISOR_arch_7 55
69#define DOMID_FIRST_RESERVED (0x7ff0U)
70#define DOMID_SELF (0x7ff0U)
73#define CONSOLEIO_write 0
78#define VMASST_CMD_enable 0
79#define VMASST_CMD_disable 1
87#define VMASST_TYPE_architectural_iopl 4
196#if !defined(__i386__)
230#define MAX_GUEST_CMDLINE 1024
240#define SIF_PRIVILEGED (1u << 0)
241#define SIF_INITDOMAIN (1u << 1)
246#define MMU_NORMAL_PT_UPDATE 0
247#define MMU_MACHPHYS_UPDATE 1
248#define MMU_PT_UPDATE_PRESERVE_AD 2
333#define MMUEXT_PIN_L1_TABLE 0
334#define MMUEXT_PIN_L2_TABLE 1
335#define MMUEXT_PIN_L3_TABLE 2
336#define MMUEXT_PIN_L4_TABLE 3
337#define MMUEXT_UNPIN_TABLE 4
338#define MMUEXT_NEW_BASEPTR 5
339#define MMUEXT_TLB_FLUSH_LOCAL 6
340#define MMUEXT_INVLPG_LOCAL 7
341#define MMUEXT_TLB_FLUSH_MULTI 8
342#define MMUEXT_INVLPG_MULTI 9
343#define MMUEXT_TLB_FLUSH_ALL 10
344#define MMUEXT_INVLPG_ALL 11
345#define MMUEXT_FLUSH_CACHE 12
346#define MMUEXT_SET_LDT 13
347#define MMUEXT_NEW_USER_BASEPTR 15
348#define MMUEXT_CLEAR_PAGE 16
349#define MMUEXT_COPY_PAGE 17
350#define MMUEXT_FLUSH_CACHE_GLOBAL 18
351#define MMUEXT_MARK_SUPER 19
352#define MMUEXT_UNMARK_SUPER 20
unsigned long linear_addr
union mmuext_op::@52 arg2
union mmuext_op::@51 arg1
unsigned long evtchn_mask[sizeof(unsigned long) *8]
struct arch_shared_info arch
unsigned long evtchn_pending[sizeof(unsigned long) *8]
uint8_t evtchn_upcall_mask
struct arch_vcpu_info arch
unsigned long evtchn_pending_sel
uint8_t evtchn_upcall_pending
struct vcpu_time_info time
uint32_t tsc_to_system_mul
struct xen_pv_start_info::@48::@50 dom0
struct xen_pv_start_info::@48::@49 domU
unsigned long nr_p2m_frames
unsigned long nr_pt_frames
unsigned long shared_info
union xen_pv_start_info::@48 console
unsigned long first_p2m_pfn
int8_t cmd_line[MAX_GUEST_CMDLINE]
#define MAX_GUEST_CMDLINE