bootinfo.h 1.3 KB

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