blob: 5c5ea83f934956c4f9e2166e95e170194602d29d [file] [log] [blame]
Stephen Rothwell5bfc8262005-09-19 17:50:21 +10001#ifndef _ASM_POWERPC_A_OUT_H
2#define _ASM_POWERPC_A_OUT_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
4struct exec
5{
6 unsigned long a_info; /* Use macros N_MAGIC, etc for access */
7 unsigned a_text; /* length of text, in bytes */
8 unsigned a_data; /* length of data, in bytes */
9 unsigned a_bss; /* length of uninitialized data area for file, in bytes */
10 unsigned a_syms; /* length of symbol table data in file, in bytes */
11 unsigned a_entry; /* start address */
12 unsigned a_trsize; /* length of relocation info for text, in bytes */
13 unsigned a_drsize; /* length of relocation info for data, in bytes */
14};
15
16#define N_TRSIZE(a) ((a).a_trsize)
17#define N_DRSIZE(a) ((a).a_drsize)
18#define N_SYMSIZE(a) ((a).a_syms)
19
20#ifdef __KERNEL__
Stephen Rothwell5bfc8262005-09-19 17:50:21 +100021#ifdef __powerpc64__
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
23#define STACK_TOP_USER64 TASK_SIZE_USER64
24#define STACK_TOP_USER32 TASK_SIZE_USER32
25
26#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
27 STACK_TOP_USER32 : STACK_TOP_USER64)
28
Peter Zijlstrab1117572007-07-19 01:48:14 -070029#define STACK_TOP_MAX STACK_TOP_USER64
30
Stephen Rothwell5bfc8262005-09-19 17:50:21 +100031#else /* __powerpc64__ */
32
33#define STACK_TOP TASK_SIZE
Peter Zijlstrab1117572007-07-19 01:48:14 -070034#define STACK_TOP_MAX STACK_TOP
Stephen Rothwell5bfc8262005-09-19 17:50:21 +100035
36#endif /* __powerpc64__ */
Linus Torvalds1da177e2005-04-16 15:20:36 -070037#endif /* __KERNEL__ */
38
Stephen Rothwell5bfc8262005-09-19 17:50:21 +100039#endif /* _ASM_POWERPC_A_OUT_H */