bootinfo.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. struct bi_record {
  12. unsigned long tag; /* tag ID */
  13. unsigned long size; /* size of record (in bytes) */
  14. unsigned long data[0]; /* data */
  15. };
  16. #define BI_FIRST 0x1010 /* first record - marker */
  17. #define BI_LAST 0x1011 /* last record - marker */
  18. #define BI_CMD_LINE 0x1012
  19. #define BI_BOOTLOADER_ID 0x1013
  20. #define BI_INITRD 0x1014
  21. #define BI_SYSMAP 0x1015
  22. #define BI_MACHTYPE 0x1016
  23. #define BI_MEMSIZE 0x1017
  24. #define BI_BOARD_INFO 0x1018
  25. extern struct bi_record *find_bootinfo(void);
  26. extern void bootinfo_init(struct bi_record *rec);
  27. extern void bootinfo_append(unsigned long tag, unsigned long size, void * data);
  28. extern void parse_bootinfo(struct bi_record *rec);
  29. extern unsigned long boot_mem_size;
  30. static inline struct bi_record *
  31. bootinfo_addr(unsigned long offset)
  32. {
  33. return (struct bi_record *)_ALIGN((offset) + (1 << 20) - 1,
  34. (1 << 20));
  35. }
  36. #endif /* _PPC_BOOTINFO_H */
  37. #endif /* __KERNEL__ */