Merge tag 'char-misc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux-2.6-block.git] / arch / x86 / kernel / asm-offsets_64.c
CommitLineData
5de2b61a
BP
1#ifndef __LINUX_KBUILD_H
2# error "Please do not build this file directly, build asm-offsets.c instead"
3#endif
4
c3ca5f30 5#include <asm/ia32.h>
8869a2e5 6
cfcbadb4 7#define __SYSCALL_64(nr, sym, qual) [nr] = 1,
303395ac
PA
8static char syscalls_64[] = {
9#include <asm/syscalls_64.h>
10};
cfcbadb4 11#define __SYSCALL_I386(nr, sym, qual) [nr] = 1,
303395ac
PA
12static char syscalls_ia32[] = {
13#include <asm/syscalls_32.h>
c3ca5f30
TG
14};
15
16int main(void)
17{
a59153dc 18#ifdef CONFIG_PARAVIRT
fab58420 19 OFFSET(PV_IRQ_adjust_exception_frame, pv_irq_ops, adjust_exception_frame);
2be29982 20 OFFSET(PV_CPU_usergs_sysret64, pv_cpu_ops, usergs_sysret64);
a59153dc 21 OFFSET(PV_CPU_swapgs, pv_cpu_ops, swapgs);
b82fef82 22 BLANK();
a59153dc
GOC
23#endif
24
b82fef82 25#define ENTRY(entry) OFFSET(pt_regs_ ## entry, pt_regs, entry)
65ea5b03
PA
26 ENTRY(bx);
27 ENTRY(cx);
28 ENTRY(dx);
29 ENTRY(sp);
30 ENTRY(bp);
31 ENTRY(si);
32 ENTRY(di);
0de80bcc
RW
33 ENTRY(r8);
34 ENTRY(r9);
35 ENTRY(r10);
36 ENTRY(r11);
37 ENTRY(r12);
38 ENTRY(r13);
39 ENTRY(r14);
40 ENTRY(r15);
65ea5b03 41 ENTRY(flags);
0de80bcc
RW
42 BLANK();
43#undef ENTRY
b82fef82
JB
44
45#define ENTRY(entry) OFFSET(saved_context_ ## entry, saved_context, entry)
0de80bcc
RW
46 ENTRY(cr0);
47 ENTRY(cr2);
48 ENTRY(cr3);
49 ENTRY(cr4);
50 ENTRY(cr8);
cc456c4e 51 ENTRY(gdt_desc);
0de80bcc
RW
52 BLANK();
53#undef ENTRY
bd53147d 54
b82fef82 55 OFFSET(TSS_ist, tss_struct, x86_tss.ist);
9d0c914c 56 OFFSET(TSS_sp0, tss_struct, x86_tss.sp0);
bd53147d 57 BLANK();
8c5e5ac3 58
303395ac
PA
59 DEFINE(__NR_syscall_max, sizeof(syscalls_64) - 1);
60 DEFINE(NR_syscalls, sizeof(syscalls_64));
61
bace7117 62 DEFINE(__NR_syscall_compat_max, sizeof(syscalls_ia32) - 1);
303395ac 63 DEFINE(IA32_NR_syscalls, sizeof(syscalls_ia32));
b82fef82 64
c3ca5f30
TG
65 return 0;
66}