Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
m68k
kernel
asm-offsets.c
Go to the documentation of this file.
1
/*
2
* This program is used to generate definitions needed by
3
* assembly language modules.
4
*
5
* We use the technique used in the OSF Mach kernel code:
6
* generate asm statements containing #defines,
7
* compile this file to assembler, and then extract the
8
* #defines from the assembly-language output.
9
*/
10
11
#define ASM_OFFSETS_C
12
13
#include <linux/stddef.h>
14
#include <linux/sched.h>
15
#include <
linux/kernel_stat.h
>
16
#include <
linux/kbuild.h
>
17
#include <asm/bootinfo.h>
18
#include <asm/irq.h>
19
#include <
asm/amigahw.h
>
20
#include <
linux/font.h
>
21
22
int
main
(
void
)
23
{
24
/* offsets into the task struct */
25
DEFINE
(TASK_THREAD,
offsetof
(
struct
task_struct
,
thread
));
26
DEFINE
(TASK_MM,
offsetof
(
struct
task_struct
, mm));
27
DEFINE
(TASK_STACK,
offsetof
(
struct
task_struct
,
stack
));
28
29
/* offsets into the thread struct */
30
DEFINE
(THREAD_KSP,
offsetof
(
struct
thread_struct
,
ksp
));
31
DEFINE
(THREAD_USP,
offsetof
(
struct
thread_struct
,
usp
));
32
DEFINE
(THREAD_SR,
offsetof
(
struct
thread_struct
,
sr
));
33
DEFINE
(THREAD_FS,
offsetof
(
struct
thread_struct
,
fs
));
34
DEFINE
(THREAD_CRP,
offsetof
(
struct
thread_struct
, crp));
35
DEFINE
(THREAD_ESP0,
offsetof
(
struct
thread_struct
, esp0));
36
DEFINE
(THREAD_FPREG,
offsetof
(
struct
thread_struct
,
fp
));
37
DEFINE
(THREAD_FPCNTL,
offsetof
(
struct
thread_struct
, fpcntl));
38
DEFINE
(THREAD_FPSTATE,
offsetof
(
struct
thread_struct
, fpstate));
39
40
/* offsets into the thread_info struct */
41
DEFINE
(TINFO_PREEMPT,
offsetof
(
struct
thread_info
,
preempt_count
));
42
DEFINE
(TINFO_FLAGS,
offsetof
(
struct
thread_info
,
flags
));
43
44
/* offsets into the pt_regs */
45
DEFINE
(PT_OFF_D0,
offsetof
(
struct
pt_regs
,
d0
));
46
DEFINE
(PT_OFF_ORIG_D0,
offsetof
(
struct
pt_regs
,
orig_d0
));
47
DEFINE
(PT_OFF_D1,
offsetof
(
struct
pt_regs
,
d1
));
48
DEFINE
(PT_OFF_D2,
offsetof
(
struct
pt_regs
,
d2
));
49
DEFINE
(PT_OFF_D3,
offsetof
(
struct
pt_regs
,
d3
));
50
DEFINE
(PT_OFF_D4,
offsetof
(
struct
pt_regs
,
d4
));
51
DEFINE
(PT_OFF_D5,
offsetof
(
struct
pt_regs
,
d5
));
52
DEFINE
(PT_OFF_A0,
offsetof
(
struct
pt_regs
,
a0
));
53
DEFINE
(PT_OFF_A1,
offsetof
(
struct
pt_regs
,
a1
));
54
DEFINE
(PT_OFF_A2,
offsetof
(
struct
pt_regs
,
a2
));
55
DEFINE
(PT_OFF_PC,
offsetof
(
struct
pt_regs
,
pc
));
56
DEFINE
(PT_OFF_SR,
offsetof
(
struct
pt_regs
,
sr
));
57
58
/* bitfields are a bit difficult */
59
#ifdef CONFIG_COLDFIRE
60
DEFINE
(PT_OFF_FORMATVEC,
offsetof
(
struct
pt_regs
,
sr
) - 2);
61
#else
62
DEFINE
(PT_OFF_FORMATVEC,
offsetof
(
struct
pt_regs
,
pc
) + 4);
63
#endif
64
65
/* offsets into the irq_cpustat_t struct */
66
DEFINE
(CPUSTAT_SOFTIRQ_PENDING,
offsetof
(irq_cpustat_t, __softirq_pending));
67
68
/* signal defines */
69
DEFINE
(LSIGSEGV,
SIGSEGV
);
70
DEFINE
(LSEGV_MAPERR,
SEGV_MAPERR
);
71
DEFINE
(LSIGTRAP,
SIGTRAP
);
72
DEFINE
(LTRAP_TRACE,
TRAP_TRACE
);
73
74
#ifdef CONFIG_MMU
75
/* offsets into the bi_record struct */
76
DEFINE
(BIR_TAG,
offsetof
(
struct
bi_record
,
tag
));
77
DEFINE
(BIR_SIZE,
offsetof
(
struct
bi_record
,
size
));
78
DEFINE
(BIR_DATA,
offsetof
(
struct
bi_record
,
data
));
79
80
/* offsets into font_desc (drivers/video/console/font.h) */
81
DEFINE
(FONT_DESC_IDX,
offsetof
(
struct
font_desc
,
idx
));
82
DEFINE
(FONT_DESC_NAME,
offsetof
(
struct
font_desc
,
name
));
83
DEFINE
(FONT_DESC_WIDTH,
offsetof
(
struct
font_desc
,
width
));
84
DEFINE
(FONT_DESC_HEIGHT,
offsetof
(
struct
font_desc
,
height
));
85
DEFINE
(FONT_DESC_DATA,
offsetof
(
struct
font_desc
,
data
));
86
DEFINE
(FONT_DESC_PREF,
offsetof
(
struct
font_desc
, pref));
87
88
/* offsets into the custom struct */
89
DEFINE
(CUSTOMBASE, &
amiga_custom
);
90
DEFINE
(C_INTENAR,
offsetof
(
struct
CUSTOM
, intenar));
91
DEFINE
(C_INTREQR,
offsetof
(
struct
CUSTOM
, intreqr));
92
DEFINE
(C_INTENA,
offsetof
(
struct
CUSTOM
, intena));
93
DEFINE
(C_INTREQ,
offsetof
(
struct
CUSTOM
, intreq));
94
DEFINE
(C_SERDATR,
offsetof
(
struct
CUSTOM
, serdatr));
95
DEFINE
(C_SERDAT,
offsetof
(
struct
CUSTOM
, serdat));
96
DEFINE
(C_SERPER,
offsetof
(
struct
CUSTOM
, serper));
97
DEFINE
(CIAABASE, &
ciaa
);
98
DEFINE
(CIABBASE, &
ciab
);
99
DEFINE
(C_PRA,
offsetof
(
struct
CIA
, pra));
100
DEFINE
(ZTWOBASE,
zTwoBase
);
101
#endif
102
103
return
0;
104
}
Generated on Thu Jan 10 2013 12:50:58 for Linux Kernel by
1.8.2