bootparam.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * include/asm-xtensa/bootparam.h
  3. *
  4. * Definition of the Linux/Xtensa boot parameter structure
  5. *
  6. * This file is subject to the terms and conditions of the GNU General Public
  7. * License. See the file "COPYING" in the main directory of this archive
  8. * for more details.
  9. *
  10. * Copyright (C) 2001 - 2005 Tensilica Inc.
  11. *
  12. * (Concept borrowed from the 68K port)
  13. */
  14. #ifndef _XTENSA_BOOTPARAM_H
  15. #define _XTENSA_BOOTPARAM_H
  16. #define BP_VERSION 0x0001
  17. #define BP_TAG_COMMAND_LINE 0x1001 /* command line (0-terminated string)*/
  18. #define BP_TAG_INITRD 0x1002 /* ramdisk addr and size (bp_meminfo) */
  19. #define BP_TAG_MEMORY 0x1003 /* memory addr and size (bp_meminfo) */
  20. #define BP_TAG_SERIAL_BAUSRATE 0x1004 /* baud rate of current console. */
  21. #define BP_TAG_SERIAL_PORT 0x1005 /* serial device of current console */
  22. #define BP_TAG_FIRST 0x7B0B /* first tag with a version number */
  23. #define BP_TAG_LAST 0x7E0B /* last tag */
  24. #ifndef __ASSEMBLY__
  25. /* All records are aligned to 4 bytes */
  26. typedef struct bp_tag {
  27. unsigned short id; /* tag id */
  28. unsigned short size; /* size of this record excluding the structure*/
  29. unsigned long data[0]; /* data */
  30. } bp_tag_t;
  31. typedef struct meminfo {
  32. unsigned long type;
  33. unsigned long start;
  34. unsigned long end;
  35. } meminfo_t;
  36. #define SYSMEM_BANKS_MAX 5
  37. #define MEMORY_TYPE_CONVENTIONAL 0x1000
  38. #define MEMORY_TYPE_NONE 0x2000
  39. typedef struct sysmem_info {
  40. int nr_banks;
  41. meminfo_t bank[SYSMEM_BANKS_MAX];
  42. } sysmem_info_t;
  43. extern sysmem_info_t sysmem;
  44. #endif
  45. #endif