powerpc: Make the 64-bit kernel as a position-independent executable
[linux-2.6.git] / arch / powerpc / include / asm / sections.h
1 #ifndef _ASM_POWERPC_SECTIONS_H
2 #define _ASM_POWERPC_SECTIONS_H
3 #ifdef __KERNEL__
4
5 #include <asm-generic/sections.h>
6
7 #ifdef __powerpc64__
8
9 extern char _end[];
10
11 static inline int in_kernel_text(unsigned long addr)
12 {
13         if (addr >= (unsigned long)_stext && addr < (unsigned long)__init_end)
14                 return 1;
15
16         return 0;
17 }
18
19 static inline int overlaps_kernel_text(unsigned long start, unsigned long end)
20 {
21         return start < (unsigned long)__init_end &&
22                 (unsigned long)_stext < end;
23 }
24
25 #undef dereference_function_descriptor
26 void *dereference_function_descriptor(void *);
27
28 #endif
29
30 #endif /* __KERNEL__ */
31 #endif  /* _ASM_POWERPC_SECTIONS_H */