home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-ppc / prom.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.2 KB  |  41 lines

  1. /*
  2.  * Definitions for talking to the Open Firmware PROM on
  3.  * Power Macintosh computers.
  4.  *
  5.  * Copyright (C) 1996 Paul Mackerras.
  6.  */
  7. #ifdef __KERNEL__
  8. #ifndef _PPC_PROM_H
  9. #define _PPC_PROM_H
  10.  
  11. /* This is used in arch/ppc/mm/mem_pieces.h */
  12. struct reg_property {
  13.     unsigned int address;
  14.     unsigned int size;
  15. };
  16.  
  17. /*
  18.  * These macros assist in performing the address calculations that we
  19.  * need to do to access data when the kernel is running at an address
  20.  * that is different from the address that the kernel is linked at.
  21.  * The reloc_offset() function returns the difference between these
  22.  * two addresses and the macros simplify the process of adding or
  23.  * subtracting this offset to/from pointer values.
  24.  */
  25. extern unsigned long reloc_offset(void);
  26. extern unsigned long add_reloc_offset(unsigned long);
  27. extern unsigned long sub_reloc_offset(unsigned long);
  28.  
  29. #define PTRRELOC(x)    ((typeof(x))add_reloc_offset((unsigned long)(x)))
  30. #define PTRUNRELOC(x)    ((typeof(x))sub_reloc_offset((unsigned long)(x)))
  31.  
  32. /*
  33.  * Fallback definitions since we don't support OF in arch/ppc any more.
  34.  */
  35. #define machine_is_compatible(x)        0
  36. #define of_find_compatible_node(f, t, c)    NULL
  37. #define get_property(p, n, l)            NULL
  38.  
  39. #endif /* _PPC_PROM_H */
  40. #endif /* __KERNEL__ */
  41.