home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / powerpc / include / asm / sections.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  821 b   |  42 lines

  1. #ifndef _ASM_POWERPC_SECTIONS_H
  2. #define _ASM_POWERPC_SECTIONS_H
  3. #ifdef __KERNEL__
  4.  
  5. #include <linux/elf.h>
  6. #include <linux/uaccess.h>
  7. #include <asm-generic/sections.h>
  8.  
  9. #ifdef __powerpc64__
  10.  
  11. extern char _end[];
  12.  
  13. static inline int in_kernel_text(unsigned long addr)
  14. {
  15.     if (addr >= (unsigned long)_stext && addr < (unsigned long)__init_end)
  16.         return 1;
  17.  
  18.     return 0;
  19. }
  20.  
  21. static inline int overlaps_kernel_text(unsigned long start, unsigned long end)
  22. {
  23.     return start < (unsigned long)__init_end &&
  24.         (unsigned long)_stext < end;
  25. }
  26.  
  27. #undef dereference_function_descriptor
  28. static inline void *dereference_function_descriptor(void *ptr)
  29. {
  30.     struct ppc64_opd_entry *desc = ptr;
  31.     void *p;
  32.  
  33.     if (!probe_kernel_address(&desc->funcaddr, p))
  34.         ptr = p;
  35.     return ptr;
  36. }
  37.  
  38. #endif
  39.  
  40. #endif /* __KERNEL__ */
  41. #endif    /* _ASM_POWERPC_SECTIONS_H */
  42.