/root/src/xen/xen/include/compat/arch-x86/xen.h
Line | Count | Source (jump to first uncovered line) |
1 | | #ifndef _COMPAT_ARCH_X86_XEN_H |
2 | | #define _COMPAT_ARCH_X86_XEN_H |
3 | | #include <xen/compat.h> |
4 | | #pragma pack(4) |
5 | | #include "../xen.h" |
6 | | #pragma pack(4) |
7 | | #define __DECL_REG_LO8(which) uint32_t e ## which ## x |
8 | | #define __DECL_REG_LO16(name) union { uint32_t e ## name; } |
9 | | |
10 | | #include "xen-x86_32.h" |
11 | | #pragma pack(4) |
12 | | |
13 | | #undef __DECL_REG_LO8 |
14 | | #undef __DECL_REG_LO16 |
15 | 0 | #define __DECL_REG_LO8(which) e ## which ## x |
16 | 0 | #define __DECL_REG_LO16(name) e ## name |
17 | | |
18 | | typedef unsigned int compat_pfn_t; |
19 | | typedef unsigned int compat_ulong_t; |
20 | | struct compat_trap_info { |
21 | | uint8_t vector; |
22 | | uint8_t flags; |
23 | | uint16_t cs; |
24 | | unsigned int address; |
25 | | }; |
26 | | typedef struct compat_trap_info trap_info_compat_t; |
27 | | DEFINE_COMPAT_HANDLE(trap_info_compat_t); |
28 | | |
29 | | typedef uint64_t tsc_timestamp_compat_t; |
30 | | struct compat_vcpu_guest_context { |
31 | | |
32 | | struct { char x[512]; } fpu_ctxt; |
33 | | unsigned int flags; |
34 | | struct compat_cpu_user_regs user_regs; |
35 | | struct compat_trap_info trap_ctxt[256]; |
36 | | unsigned int ldt_base, ldt_ents; |
37 | | unsigned int gdt_frames[16], gdt_ents; |
38 | | unsigned int kernel_ss, kernel_sp; |
39 | | |
40 | | unsigned int ctrlreg[8]; |
41 | | unsigned int debugreg[8]; |
42 | | |
43 | | unsigned int event_callback_cs; |
44 | | unsigned int event_callback_eip; |
45 | | unsigned int failsafe_callback_cs; |
46 | | unsigned int failsafe_callback_eip; |
47 | | unsigned int vm_assist; |
48 | | |
49 | | }; |
50 | | typedef struct compat_vcpu_guest_context vcpu_guest_context_compat_t; |
51 | | DEFINE_COMPAT_HANDLE(vcpu_guest_context_compat_t); |
52 | | |
53 | | struct compat_arch_shared_info { |
54 | | |
55 | | unsigned int max_pfn; |
56 | | |
57 | | compat_pfn_t pfn_to_mfn_frame_list_list; |
58 | | unsigned int nmi_reason; |
59 | | unsigned int p2m_cr3; |
60 | | unsigned int p2m_vaddr; |
61 | | unsigned int p2m_generation; |
62 | | |
63 | | uint32_t wc_sec_hi; |
64 | | |
65 | | }; |
66 | | typedef struct compat_arch_shared_info arch_shared_info_compat_t; |
67 | | |
68 | | struct compat_arch_domainconfig { |
69 | | uint32_t emulation_flags; |
70 | | }; |
71 | | #pragma pack() |
72 | | #endif /* _COMPAT_ARCH_X86_XEN_H */ |