Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/x86/kernel/asm-offsets_64.c
26439 views
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
return 0;
58
}
59
60