Linux 4.6-rc6
[linux/fpc-iii.git] / arch / x86 / kernel / asm-offsets_64.c
blobd875f97d4e0ba0477c648e1244ff238bfd48be03
1 #ifndef __LINUX_KBUILD_H
2 # error "Please do not build this file directly, build asm-offsets.c instead"
3 #endif
5 #include <asm/ia32.h>
7 #define __SYSCALL_64(nr, sym, qual) [nr] = 1,
8 static char syscalls_64[] = {
9 #include <asm/syscalls_64.h>
11 #define __SYSCALL_I386(nr, sym, qual) [nr] = 1,
12 static char syscalls_ia32[] = {
13 #include <asm/syscalls_32.h>
16 int main(void)
18 #ifdef CONFIG_PARAVIRT
19 OFFSET(PV_IRQ_adjust_exception_frame, pv_irq_ops, adjust_exception_frame);
20 OFFSET(PV_CPU_usergs_sysret64, pv_cpu_ops, usergs_sysret64);
21 OFFSET(PV_CPU_swapgs, pv_cpu_ops, swapgs);
22 BLANK();
23 #endif
25 #define ENTRY(entry) OFFSET(pt_regs_ ## entry, pt_regs, entry)
26 ENTRY(bx);
27 ENTRY(cx);
28 ENTRY(dx);
29 ENTRY(sp);
30 ENTRY(bp);
31 ENTRY(si);
32 ENTRY(di);
33 ENTRY(r8);
34 ENTRY(r9);
35 ENTRY(r10);
36 ENTRY(r11);
37 ENTRY(r12);
38 ENTRY(r13);
39 ENTRY(r14);
40 ENTRY(r15);
41 ENTRY(flags);
42 BLANK();
43 #undef ENTRY
45 #define ENTRY(entry) OFFSET(saved_context_ ## entry, saved_context, entry)
46 ENTRY(cr0);
47 ENTRY(cr2);
48 ENTRY(cr3);
49 ENTRY(cr4);
50 ENTRY(cr8);
51 ENTRY(gdt_desc);
52 BLANK();
53 #undef ENTRY
55 OFFSET(TSS_ist, tss_struct, x86_tss.ist);
56 OFFSET(TSS_sp0, tss_struct, x86_tss.sp0);
57 BLANK();
59 DEFINE(__NR_syscall_max, sizeof(syscalls_64) - 1);
60 DEFINE(NR_syscalls, sizeof(syscalls_64));
62 DEFINE(__NR_syscall_compat_max, sizeof(syscalls_ia32) - 1);
63 DEFINE(IA32_NR_syscalls, sizeof(syscalls_ia32));
65 return 0;