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
h8300
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
#include <linux/stddef.h>
12
#include <linux/sched.h>
13
#include <
linux/kernel_stat.h
>
14
#include <linux/ptrace.h>
15
#include <
linux/hardirq.h
>
16
#include <
linux/kbuild.h
>
17
#include <asm/bootinfo.h>
18
#include <asm/irq.h>
19
#include <asm/ptrace.h>
20
21
int
main
(
void
)
22
{
23
/* offsets into the task struct */
24
DEFINE
(TASK_STATE,
offsetof
(
struct
task_struct
,
state
));
25
DEFINE
(TASK_FLAGS,
offsetof
(
struct
task_struct
,
flags
));
26
DEFINE
(TASK_PTRACE,
offsetof
(
struct
task_struct
, ptrace));
27
DEFINE
(TASK_BLOCKED,
offsetof
(
struct
task_struct
, blocked));
28
DEFINE
(TASK_THREAD,
offsetof
(
struct
task_struct
,
thread
));
29
DEFINE
(TASK_THREAD_INFO,
offsetof
(
struct
task_struct
,
stack
));
30
DEFINE
(TASK_MM,
offsetof
(
struct
task_struct
, mm));
31
DEFINE
(TASK_ACTIVE_MM,
offsetof
(
struct
task_struct
, active_mm));
32
33
/* offsets into the irq_cpustat_t struct */
34
DEFINE
(CPUSTAT_SOFTIRQ_PENDING,
offsetof
(irq_cpustat_t, __softirq_pending));
35
36
/* offsets into the thread struct */
37
DEFINE
(THREAD_KSP,
offsetof
(
struct
thread_struct
,
ksp
));
38
DEFINE
(THREAD_USP,
offsetof
(
struct
thread_struct
,
usp
));
39
DEFINE
(THREAD_CCR,
offsetof
(
struct
thread_struct
,
ccr
));
40
41
/* offsets into the pt_regs struct */
42
DEFINE
(LER0,
offsetof
(
struct
pt_regs
,
er0
) -
sizeof
(
long
));
43
DEFINE
(LER1,
offsetof
(
struct
pt_regs
,
er1
) -
sizeof
(
long
));
44
DEFINE
(LER2,
offsetof
(
struct
pt_regs
,
er2
) -
sizeof
(
long
));
45
DEFINE
(LER3,
offsetof
(
struct
pt_regs
,
er3
) -
sizeof
(
long
));
46
DEFINE
(LER4,
offsetof
(
struct
pt_regs
,
er4
) -
sizeof
(
long
));
47
DEFINE
(LER5,
offsetof
(
struct
pt_regs
,
er5
) -
sizeof
(
long
));
48
DEFINE
(LER6,
offsetof
(
struct
pt_regs
,
er6
) -
sizeof
(
long
));
49
DEFINE
(LORIG,
offsetof
(
struct
pt_regs
,
orig_er0
) -
sizeof
(
long
));
50
DEFINE
(
LCCR
,
offsetof
(
struct
pt_regs
,
ccr
) -
sizeof
(
long
));
51
DEFINE
(LVEC,
offsetof
(
struct
pt_regs
,
vector
) -
sizeof
(
long
));
52
#if defined(__H8300S__)
53
DEFINE
(LEXR,
offsetof
(
struct
pt_regs
, exr) -
sizeof
(
long
));
54
#endif
55
DEFINE
(LRET,
offsetof
(
struct
pt_regs
,
pc
) -
sizeof
(
long
));
56
57
DEFINE
(
PT_PTRACED
,
PT_PTRACED
);
58
59
return
0;
60
}
Generated on Thu Jan 10 2013 12:50:57 for Linux Kernel by
1.8.2