ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-ppc / sections.h
1 #ifdef __KERNEL__
2 #ifndef _PPC_SECTIONS_H
3 #define _PPC_SECTIONS_H
4
5 #include <asm-generic/sections.h>
6
7 extern char _end[];
8
9 #define __pmac __attribute__ ((__section__ (".pmac.text")))
10 #define __pmacdata __attribute__ ((__section__ (".pmac.data")))
11 #define __pmacfunc(__argpmac) \
12         __argpmac __pmac; \
13         __argpmac
14         
15 #define __prep __attribute__ ((__section__ (".prep.text")))
16 #define __prepdata __attribute__ ((__section__ (".prep.data")))
17 #define __prepfunc(__argprep) \
18         __argprep __prep; \
19         __argprep
20
21 #define __chrp __attribute__ ((__section__ (".chrp.text")))
22 #define __chrpdata __attribute__ ((__section__ (".chrp.data")))
23 #define __chrpfunc(__argchrp) \
24         __argchrp __chrp; \
25         __argchrp
26
27 /* this is actually just common chrp/pmac code, not OF code -- Cort */
28 #define __openfirmware __attribute__ ((__section__ (".openfirmware.text")))
29 #define __openfirmwaredata __attribute__ ((__section__ (".openfirmware.data")))
30 #define __openfirmwarefunc(__argopenfirmware) \
31         __argopenfirmware __openfirmware; \
32         __argopenfirmware
33         
34 #endif /* _PPC_SECTIONS_H */
35 #endif /* __KERNEL__ */