Go to the documentation of this file.
9 #ifndef _ASM_X86_XEN_INTERFACE_32_H
10 #define _ASM_X86_XEN_INTERFACE_32_H
18 #define FLAT_RING1_CS 0xe019
19 #define FLAT_RING1_DS 0xe021
20 #define FLAT_RING1_SS 0xe021
21 #define FLAT_RING3_CS 0xe02b
22 #define FLAT_RING3_DS 0xe033
23 #define FLAT_RING3_SS 0xe033
25 #define FLAT_KERNEL_CS FLAT_RING1_CS
26 #define FLAT_KERNEL_DS FLAT_RING1_DS
27 #define FLAT_KERNEL_SS FLAT_RING1_SS
28 #define FLAT_USER_CS FLAT_RING3_CS
29 #define FLAT_USER_DS FLAT_RING3_DS
30 #define FLAT_USER_SS FLAT_RING3_SS
33 #define TRAP_INSTR "int $0x82"
35 #define __MACH2PHYS_VIRT_START 0xF5800000
36 #define __MACH2PHYS_VIRT_END 0xF6800000
38 #define __MACH2PHYS_SHIFT 2
44 #define __HYPERVISOR_VIRT_START 0xF5800000
85 #define XEN_CALLBACK(__cs, __eip) \
86 ((struct xen_callback){ .cs = (__cs), .eip = (unsigned long)(__eip) })
99 #define xen_pfn_to_cr3(pfn) (((unsigned)(pfn) << 12) | ((unsigned)(pfn) >> 20))
100 #define xen_cr3_to_pfn(cr3) (((unsigned)(cr3) >> 12) | ((unsigned)(cr3) << 20))