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
xtensa
kernel
asm-offsets.c
Go to the documentation of this file.
1
/*
2
* arch/xtensa/kernel/asm-offsets.c
3
*
4
* Generates definitions from c-type structures used by assembly sources.
5
*
6
* This file is subject to the terms and conditions of the GNU General Public
7
* License. See the file "COPYING" in the main directory of this archive
8
* for more details.
9
*
10
* Copyright (C) 2005 Tensilica Inc.
11
*
12
* Chris Zankel <
[email protected]
>
13
*/
14
15
#include <asm/processor.h>
16
#include <
asm/coprocessor.h
>
17
18
#include <linux/types.h>
19
#include <linux/stddef.h>
20
#include <
linux/thread_info.h
>
21
#include <linux/ptrace.h>
22
#include <
linux/mm.h
>
23
#include <
linux/kbuild.h
>
24
25
#include <asm/ptrace.h>
26
#include <asm/uaccess.h>
27
28
int
main
(
void
)
29
{
30
/* struct pt_regs */
31
DEFINE
(
PT_PC
,
offsetof
(
struct
pt_regs
,
pc
));
32
DEFINE
(PT_PS,
offsetof
(
struct
pt_regs
,
ps
));
33
DEFINE
(PT_DEPC,
offsetof
(
struct
pt_regs
,
depc
));
34
DEFINE
(PT_EXCCAUSE,
offsetof
(
struct
pt_regs
,
exccause
));
35
DEFINE
(PT_EXCVADDR,
offsetof
(
struct
pt_regs
,
excvaddr
));
36
DEFINE
(PT_DEBUGCAUSE,
offsetof
(
struct
pt_regs
,
debugcause
));
37
DEFINE
(PT_WMASK,
offsetof
(
struct
pt_regs
,
wmask
));
38
DEFINE
(PT_LBEG,
offsetof
(
struct
pt_regs
,
lbeg
));
39
DEFINE
(PT_LEND,
offsetof
(
struct
pt_regs
,
lend
));
40
DEFINE
(PT_LCOUNT,
offsetof
(
struct
pt_regs
,
lcount
));
41
DEFINE
(PT_SAR,
offsetof
(
struct
pt_regs
,
sar
));
42
DEFINE
(PT_ICOUNTLEVEL,
offsetof
(
struct
pt_regs
,
icountlevel
));
43
DEFINE
(PT_SYSCALL,
offsetof
(
struct
pt_regs
,
syscall
));
44
DEFINE
(PT_AREG,
offsetof
(
struct
pt_regs
,
areg
[0]));
45
DEFINE
(PT_AREG0,
offsetof
(
struct
pt_regs
,
areg
[0]));
46
DEFINE
(PT_AREG1,
offsetof
(
struct
pt_regs
,
areg
[1]));
47
DEFINE
(PT_AREG2,
offsetof
(
struct
pt_regs
,
areg
[2]));
48
DEFINE
(PT_AREG3,
offsetof
(
struct
pt_regs
,
areg
[3]));
49
DEFINE
(PT_AREG4,
offsetof
(
struct
pt_regs
,
areg
[4]));
50
DEFINE
(PT_AREG5,
offsetof
(
struct
pt_regs
,
areg
[5]));
51
DEFINE
(PT_AREG6,
offsetof
(
struct
pt_regs
,
areg
[6]));
52
DEFINE
(PT_AREG7,
offsetof
(
struct
pt_regs
,
areg
[7]));
53
DEFINE
(PT_AREG8,
offsetof
(
struct
pt_regs
,
areg
[8]));
54
DEFINE
(PT_AREG9,
offsetof
(
struct
pt_regs
,
areg
[9]));
55
DEFINE
(PT_AREG10,
offsetof
(
struct
pt_regs
,
areg
[10]));
56
DEFINE
(PT_AREG11,
offsetof
(
struct
pt_regs
,
areg
[11]));
57
DEFINE
(PT_AREG12,
offsetof
(
struct
pt_regs
,
areg
[12]));
58
DEFINE
(PT_AREG13,
offsetof
(
struct
pt_regs
,
areg
[13]));
59
DEFINE
(PT_AREG14,
offsetof
(
struct
pt_regs
,
areg
[14]));
60
DEFINE
(PT_AREG15,
offsetof
(
struct
pt_regs
,
areg
[15]));
61
DEFINE
(PT_WINDOWBASE,
offsetof
(
struct
pt_regs
,
windowbase
));
62
DEFINE
(PT_WINDOWSTART,
offsetof
(
struct
pt_regs
,
windowstart
));
63
DEFINE
(PT_SIZE,
sizeof
(
struct
pt_regs
));
64
DEFINE
(PT_AREG_END,
offsetof
(
struct
pt_regs
,
areg
[
XCHAL_NUM_AREGS
]));
65
DEFINE
(PT_USER_SIZE,
offsetof
(
struct
pt_regs
,
areg
[XCHAL_NUM_AREGS]));
66
DEFINE
(PT_XTREGS_OPT,
offsetof
(
struct
pt_regs
,
xtregs_opt
));
67
DEFINE
(XTREGS_OPT_SIZE,
sizeof
(
xtregs_opt_t
));
68
69
/* struct task_struct */
70
DEFINE
(TASK_PTRACE,
offsetof
(
struct
task_struct
, ptrace));
71
DEFINE
(TASK_MM,
offsetof
(
struct
task_struct
, mm));
72
DEFINE
(TASK_ACTIVE_MM,
offsetof
(
struct
task_struct
, active_mm));
73
DEFINE
(TASK_PID,
offsetof
(
struct
task_struct
,
pid
));
74
DEFINE
(TASK_THREAD,
offsetof
(
struct
task_struct
,
thread
));
75
DEFINE
(TASK_THREAD_INFO,
offsetof
(
struct
task_struct
,
stack
));
76
DEFINE
(TASK_STRUCT_SIZE,
sizeof
(
struct
task_struct
));
77
78
/* struct thread_info (offset from start_struct) */
79
DEFINE
(THREAD_RA,
offsetof
(
struct
task_struct
,
thread
.ra));
80
DEFINE
(THREAD_SP,
offsetof
(
struct
task_struct
,
thread
.sp));
81
DEFINE
(THREAD_CPENABLE,
offsetof
(
struct
thread_info
, cpenable));
82
#if XTENSA_HAVE_COPROCESSORS
83
DEFINE
(THREAD_XTREGS_CP0,
offsetof
(
struct
thread_info
, xtregs_cp));
84
DEFINE
(THREAD_XTREGS_CP1,
offsetof
(
struct
thread_info
, xtregs_cp));
85
DEFINE
(THREAD_XTREGS_CP2,
offsetof
(
struct
thread_info
, xtregs_cp));
86
DEFINE
(THREAD_XTREGS_CP3,
offsetof
(
struct
thread_info
, xtregs_cp));
87
DEFINE
(THREAD_XTREGS_CP4,
offsetof
(
struct
thread_info
, xtregs_cp));
88
DEFINE
(THREAD_XTREGS_CP5,
offsetof
(
struct
thread_info
, xtregs_cp));
89
DEFINE
(THREAD_XTREGS_CP6,
offsetof
(
struct
thread_info
, xtregs_cp));
90
DEFINE
(THREAD_XTREGS_CP7,
offsetof
(
struct
thread_info
, xtregs_cp));
91
#endif
92
DEFINE
(THREAD_XTREGS_USER,
offsetof
(
struct
thread_info
, xtregs_user));
93
DEFINE
(XTREGS_USER_SIZE,
sizeof
(
xtregs_user_t
));
94
DEFINE
(THREAD_CURRENT_DS,
offsetof
(
struct
task_struct
,
thread
.current_ds));
95
96
/* struct mm_struct */
97
DEFINE
(MM_USERS,
offsetof
(
struct
mm_struct
, mm_users));
98
DEFINE
(MM_PGD,
offsetof
(
struct
mm_struct
, pgd));
99
DEFINE
(MM_CONTEXT,
offsetof
(
struct
mm_struct
,
context
));
100
101
/* struct page */
102
DEFINE
(PAGE_FLAGS,
offsetof
(
struct
page
,
flags
));
103
104
/* constants */
105
DEFINE
(_CLONE_VM,
CLONE_VM
);
106
DEFINE
(_CLONE_UNTRACED,
CLONE_UNTRACED
);
107
DEFINE
(PG_ARCH_1,
PG_arch_1
);
108
109
return
0;
110
}
111
Generated on Thu Jan 10 2013 12:51:02 for Linux Kernel by
1.8.2