File indexing completed on 2025-12-16 10:32:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef __VKI_XEN_H
0027 #define __VKI_XEN_H
0028
0029 #define ENABLE_XEN 1
0030
0031 #define __VKI_XEN_set_trap_table 0
0032 #define __VKI_XEN_mmu_update 1
0033 #define __VKI_XEN_set_gdt 2
0034 #define __VKI_XEN_stack_switch 3
0035 #define __VKI_XEN_set_callbacks 4
0036 #define __VKI_XEN_fpu_taskswitch 5
0037 #define __VKI_XEN_sched_op_compat 6
0038 #define __VKI_XEN_platform_op 7
0039 #define __VKI_XEN_set_debugreg 8
0040 #define __VKI_XEN_get_debugreg 9
0041 #define __VKI_XEN_update_descriptor 10
0042 #define __VKI_XEN_memory_op 12
0043 #define __VKI_XEN_multicall 13
0044 #define __VKI_XEN_update_va_mapping 14
0045 #define __VKI_XEN_set_timer_op 15
0046 #define __VKI_XEN_event_channel_op_compat 16
0047 #define __VKI_XEN_xen_version 17
0048 #define __VKI_XEN_console_io 18
0049 #define __VKI_XEN_physdev_op_compat 19
0050 #define __VKI_XEN_grant_table_op 20
0051 #define __VKI_XEN_vm_assist 21
0052 #define __VKI_XEN_update_va_mapping_otherdomain 22
0053 #define __VKI_XEN_iret 23
0054 #define __VKI_XEN_vcpu_op 24
0055 #define __VKI_XEN_set_segment_base 25
0056 #define __VKI_XEN_mmuext_op 26
0057 #define __VKI_XEN_xsm_op 27
0058 #define __VKI_XEN_nmi_op 28
0059 #define __VKI_XEN_sched_op 29
0060 #define __VKI_XEN_callback_op 30
0061 #define __VKI_XEN_xenoprof_op 31
0062 #define __VKI_XEN_event_channel_op 32
0063 #define __VKI_XEN_physdev_op 33
0064 #define __VKI_XEN_hvm_op 34
0065 #define __VKI_XEN_sysctl 35
0066 #define __VKI_XEN_domctl 36
0067 #define __VKI_XEN_kexec_op 37
0068 #define __VKI_XEN_tmem_op 38
0069 #define __VKI_XEN_xc_reserved_op 39
0070
0071 #define __DEFINE_VKI_XEN_GUEST_HANDLE(name, type) \
0072 ___DEFINE_VKI_XEN_GUEST_HANDLE(name, type); \
0073 ___DEFINE_VKI_XEN_GUEST_HANDLE(const_##name, const type)
0074 #define DEFINE_VKI_XEN_GUEST_HANDLE(name) __DEFINE_VKI_XEN_GUEST_HANDLE(name, name)
0075
0076 typedef vki_uint8_t vki_xen_domain_handle_t[16];
0077 typedef vki_uint16_t vki_xen_domid_t;
0078
0079 #if defined(__i386__) || defined(__x86_64__)
0080 #include <vki/vki-xen-x86.h>
0081 #else
0082 #error "Need to define per-ARCH Xen types for this platform"
0083 #endif
0084
0085 DEFINE_VKI_XEN_GUEST_HANDLE(void);
0086 DEFINE_VKI_XEN_GUEST_HANDLE(char);
0087 DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t);
0088
0089 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_ulong, unsigned long);
0090
0091 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_int16, vki_int16_t);
0092 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_int32, vki_int32_t);
0093 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_int64, vki_int64_t);
0094
0095 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint8, vki_uint8_t);
0096 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint16, vki_uint16_t);
0097 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint32, vki_uint32_t);
0098 __DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint64, vki_uint64_t);
0099
0100 struct vki_xenctl_bitmap {
0101 VKI_XEN_GUEST_HANDLE_64(vki_uint8) bitmap;
0102 vki_uint32_t nr_bits;
0103 };
0104
0105 #include <vki/vki-xen-domctl.h>
0106 #include <vki/vki-xen-sysctl.h>
0107 #include <vki/vki-xen-mmuext.h>
0108 #include <vki/vki-xen-schedop.h>
0109 #include <vki/vki-xen-memory.h>
0110 #include <vki/vki-xen-evtchn.h>
0111 #include <vki/vki-xen-gnttab.h>
0112 #include <vki/vki-xen-version.h>
0113 #include <vki/vki-xen-hvm.h>
0114 #include <vki/vki-xen-tmem.h>
0115 #include <vki/vki-xen-xsm.h>
0116 #include <vki/vki-xen-physdev.h>
0117
0118 #endif
0119
0120
0121
0122