1 | // SPDX-License-Identifier: GPL-2.0 |
2 | #ifndef __LINUX_KBUILD_H |
3 | # error "Please do not build this file directly, build asm-offsets.c instead" |
4 | #endif |
5 | |
6 | #include <asm/ia32.h> |
7 | |
8 | #if defined(CONFIG_KVM_GUEST) |
9 | #include <asm/kvm_para.h> |
10 | #endif |
11 | |
12 | int main(void) |
13 | { |
14 | #ifdef CONFIG_PARAVIRT |
15 | #ifdef CONFIG_PARAVIRT_XXL |
16 | #ifdef CONFIG_DEBUG_ENTRY |
17 | OFFSET(PV_IRQ_save_fl, paravirt_patch_template, irq.save_fl); |
18 | #endif |
19 | #endif |
20 | BLANK(); |
21 | #endif |
22 | |
23 | #if defined(CONFIG_KVM_GUEST) |
24 | OFFSET(KVM_STEAL_TIME_preempted, kvm_steal_time, preempted); |
25 | BLANK(); |
26 | #endif |
27 | |
28 | #define ENTRY(entry) OFFSET(pt_regs_ ## entry, pt_regs, entry) |
29 | ENTRY(bx); |
30 | ENTRY(cx); |
31 | ENTRY(dx); |
32 | ENTRY(sp); |
33 | ENTRY(bp); |
34 | ENTRY(si); |
35 | ENTRY(di); |
36 | ENTRY(r8); |
37 | ENTRY(r9); |
38 | ENTRY(r10); |
39 | ENTRY(r11); |
40 | ENTRY(r12); |
41 | ENTRY(r13); |
42 | ENTRY(r14); |
43 | ENTRY(r15); |
44 | ENTRY(flags); |
45 | BLANK(); |
46 | #undef ENTRY |
47 | |
48 | #define ENTRY(entry) OFFSET(saved_context_ ## entry, saved_context, entry) |
49 | ENTRY(cr0); |
50 | ENTRY(cr2); |
51 | ENTRY(cr3); |
52 | ENTRY(cr4); |
53 | ENTRY(gdt_desc); |
54 | BLANK(); |
55 | #undef ENTRY |
56 | |
57 | BLANK(); |
58 | |
59 | #ifdef CONFIG_STACKPROTECTOR |
60 | OFFSET(FIXED_stack_canary, fixed_percpu_data, stack_canary); |
61 | BLANK(); |
62 | #endif |
63 | return 0; |
64 | } |
65 | |