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 15 #ifndef _XTENSA_BOOTPARAM_H 16 #define _XTENSA_BOOTPARAM_H 17 18 #define BP_VERSION 0x0001 19 20 #define BP_TAG_COMMAND_LINE 0x1001 /* command line (0-terminated string)*/ 21 #define BP_TAG_INITRD 0x1002 /* ramdisk addr and size (bp_meminfo) */ 22 #define BP_TAG_MEMORY 0x1003 /* memory addr and size (bp_meminfo) */ 23 #define BP_TAG_SERIAL_BAUSRATE 0x1004 /* baud rate of current console. */ 24 #define BP_TAG_SERIAL_PORT 0x1005 /* serial device of current console */ 25 26 #define BP_TAG_FIRST 0x7B0B /* first tag with a version number */ 27 #define BP_TAG_LAST 0x7E0B /* last tag */ 28 29 #ifndef __ASSEMBLY__ 30 31 /* All records are aligned to 4 bytes */ 32 33 typedef struct bp_tag { 34 unsigned short id; /* tag id */ 35 unsigned short size; /* size of this record excluding the structure*/ 36 unsigned long data[0]; /* data */ 37 } bp_tag_t; 38 39 typedef struct meminfo { 40 unsigned long type; 41 unsigned long start; 42 unsigned long end; 43 } meminfo_t; 44 45 #define SYSMEM_BANKS_MAX 5 46 47 #define MEMORY_TYPE_CONVENTIONAL 0x1000 48 #define MEMORY_TYPE_NONE 0x2000 49 50 typedef struct sysmem_info { 51 int nr_banks; 52 meminfo_t bank[SYSMEM_BANKS_MAX]; 53 } sysmem_info_t; 54 55 extern sysmem_info_t sysmem; 56 57 #endif 58 #endif 59 60 61 62