bootinfo.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Non-machine dependent bootinfo structure. Basic idea
  3. * borrowed from the m68k.
  4. *
  5. * Copyright (C) 1999 Cort Dougan <cort@ppc.kernel.org>
  6. */
  7. #ifdef __KERNEL__
  8. #ifndef _PPC_BOOTINFO_H
  9. #define _PPC_BOOTINFO_H
  10. #include <asm/page.h>
  11. #if defined(CONFIG_APUS) && !defined(__BOOTER__)
  12. #include <asm-m68k/bootinfo.h>
  13. #else
  14. struct bi_record {
  15. unsigned long tag; /* tag ID */
  16. unsigned long size; /* size of record (in bytes) */
  17. unsigned long data[0]; /* data */
  18. };
  19. #define BI_FIRST 0x1010 /* first record - marker */
  20. #define BI_LAST 0x1011 /* last record - marker */
  21. #define BI_CMD_LINE 0x1012
  22. #define BI_BOOTLOADER_ID 0x1013
  23. #define BI_INITRD 0x1014
  24. #define BI_SYSMAP 0x1015
  25. #define BI_MACHTYPE 0x1016
  26. #define BI_MEMSIZE 0x1017
  27. #define BI_BOARD_INFO 0x1018
  28. extern struct bi_record *find_bootinfo(void);
  29. extern void bootinfo_init(struct bi_record *rec);
  30. extern void bootinfo_append(unsigned long tag, unsigned long size, void * data);
  31. extern void parse_bootinfo(struct bi_record *rec);
  32. extern unsigned long boot_mem_size;
  33. static inline struct bi_record *
  34. bootinfo_addr(unsigned long offset)
  35. {
  36. return (struct bi_record *)_ALIGN((offset) + (1 << 20) - 1,
  37. (1 << 20));
  38. }
  39. #endif /* CONFIG_APUS */
  40. #endif /* _PPC_BOOTINFO_H */
  41. #endif /* __KERNEL__ */