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"
8 #define __SYSCALL_64(nr, sym, qual) [nr] = 1,
9 static char syscalls_64
[] = {
10 #include <asm/syscalls_64.h>
12 #define __SYSCALL_I386(nr, sym, qual) [nr] = 1,
13 static char syscalls_ia32
[] = {
14 #include <asm/syscalls_32.h>
17 #if defined(CONFIG_KVM_GUEST) && defined(CONFIG_PARAVIRT_SPINLOCKS)
18 #include <asm/kvm_para.h>
23 #ifdef CONFIG_PARAVIRT
24 OFFSET(PV_CPU_usergs_sysret64
, pv_cpu_ops
, usergs_sysret64
);
25 OFFSET(PV_CPU_swapgs
, pv_cpu_ops
, swapgs
);
26 #ifdef CONFIG_DEBUG_ENTRY
27 OFFSET(PV_IRQ_save_fl
, pv_irq_ops
, save_fl
);
32 #if defined(CONFIG_KVM_GUEST) && defined(CONFIG_PARAVIRT_SPINLOCKS)
33 OFFSET(KVM_STEAL_TIME_preempted
, kvm_steal_time
, preempted
);
37 #define ENTRY(entry) OFFSET(pt_regs_ ## entry, pt_regs, entry)
57 #define ENTRY(entry) OFFSET(saved_context_ ## entry, saved_context, entry)
67 OFFSET(TSS_ist
, tss_struct
, x86_tss
.ist
);
68 OFFSET(TSS_sp0
, tss_struct
, x86_tss
.sp0
);
69 OFFSET(TSS_sp1
, tss_struct
, x86_tss
.sp1
);
72 #ifdef CONFIG_CC_STACKPROTECTOR
73 DEFINE(stack_canary_offset
, offsetof(union irq_stack_union
, stack_canary
));
77 DEFINE(__NR_syscall_max
, sizeof(syscalls_64
) - 1);
78 DEFINE(NR_syscalls
, sizeof(syscalls_64
));
80 DEFINE(__NR_syscall_compat_max
, sizeof(syscalls_ia32
) - 1);
81 DEFINE(IA32_NR_syscalls
, sizeof(syscalls_ia32
));