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 <linux/efi.h> |
7 | |
8 | #include <asm/ucontext.h> |
9 | |
10 | /* workaround for a warning with -Wmissing-prototypes */ |
11 | void foo(void); |
12 | |
13 | void foo(void) |
14 | { |
15 | OFFSET(CPUINFO_x86, cpuinfo_x86, x86); |
16 | OFFSET(CPUINFO_x86_vendor, cpuinfo_x86, x86_vendor); |
17 | OFFSET(CPUINFO_x86_model, cpuinfo_x86, x86_model); |
18 | OFFSET(CPUINFO_x86_stepping, cpuinfo_x86, x86_stepping); |
19 | OFFSET(CPUINFO_cpuid_level, cpuinfo_x86, cpuid_level); |
20 | OFFSET(CPUINFO_x86_capability, cpuinfo_x86, x86_capability); |
21 | OFFSET(CPUINFO_x86_vendor_id, cpuinfo_x86, x86_vendor_id); |
22 | BLANK(); |
23 | |
24 | OFFSET(PT_EBX, pt_regs, bx); |
25 | OFFSET(PT_ECX, pt_regs, cx); |
26 | OFFSET(PT_EDX, pt_regs, dx); |
27 | OFFSET(PT_ESI, pt_regs, si); |
28 | OFFSET(PT_EDI, pt_regs, di); |
29 | OFFSET(PT_EBP, pt_regs, bp); |
30 | OFFSET(PT_EAX, pt_regs, ax); |
31 | OFFSET(PT_DS, pt_regs, ds); |
32 | OFFSET(PT_ES, pt_regs, es); |
33 | OFFSET(PT_FS, pt_regs, fs); |
34 | OFFSET(PT_GS, pt_regs, gs); |
35 | OFFSET(PT_ORIG_EAX, pt_regs, orig_ax); |
36 | OFFSET(PT_EIP, pt_regs, ip); |
37 | OFFSET(PT_CS, pt_regs, cs); |
38 | OFFSET(PT_EFLAGS, pt_regs, flags); |
39 | OFFSET(PT_OLDESP, pt_regs, sp); |
40 | OFFSET(PT_OLDSS, pt_regs, ss); |
41 | BLANK(); |
42 | |
43 | OFFSET(saved_context_gdt_desc, saved_context, gdt_desc); |
44 | BLANK(); |
45 | |
46 | /* |
47 | * Offset from the entry stack to task stack stored in TSS. Kernel entry |
48 | * happens on the per-cpu entry-stack, and the asm code switches to the |
49 | * task-stack pointer stored in x86_tss.sp1, which is a copy of |
50 | * task->thread.sp0 where entry code can find it. |
51 | */ |
52 | DEFINE(TSS_entry2task_stack, |
53 | offsetof(struct cpu_entry_area, tss.x86_tss.sp1) - |
54 | offsetofend(struct cpu_entry_area, entry_stack_page.stack)); |
55 | |
56 | BLANK(); |
57 | DEFINE(EFI_svam, offsetof(efi_runtime_services_t, set_virtual_address_map)); |
58 | } |
59 | |