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 33typedef 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 39typedef 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 50typedef struct sysmem_info { 51 int nr_banks; 52 meminfo_t bank[SYSMEM_BANKS_MAX]; 53} sysmem_info_t; 54 55extern sysmem_info_t sysmem; 56 57#endif 58#endif 59