1/* 2 * Copyright (C) NEC Electronics Corporation 2004-2006 3 * 4 * This file is based on the arch/mips/ddb5xxx/common/prom.c 5 * 6 * Copyright 2001 MontaVista Software Inc. 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 */ 22#include <linux/init.h> 23#include <linux/mm.h> 24#include <linux/sched.h> 25#include <linux/bootmem.h> 26 27#include <asm/addrspace.h> 28#include <asm/bootinfo.h> 29#include <asm/emma/emma2rh.h> 30 31const char *get_system_type(void) 32{ 33#ifdef CONFIG_NEC_MARKEINS 34 return "NEC EMMA2RH Mark-eins"; 35#else 36#error Unknown NEC board 37#endif 38} 39 40/* [jsun@junsun.net] PMON passes arguments in C main() style */ 41void __init prom_init(void) 42{ 43 int argc = fw_arg0; 44 char **arg = (char **)fw_arg1; 45 int i; 46 47 /* if user passes kernel args, ignore the default one */ 48 if (argc > 1) 49 arcs_cmdline[0] = '\0'; 50 51 /* arg[0] is "g", the rest is boot parameters */ 52 for (i = 1; i < argc; i++) { 53 if (strlen(arcs_cmdline) + strlen(arg[i]) + 1 54 >= sizeof(arcs_cmdline)) 55 break; 56 strcat(arcs_cmdline, arg[i]); 57 strcat(arcs_cmdline, " "); 58 } 59 60#ifdef CONFIG_NEC_MARKEINS 61 add_memory_region(0, EMMA2RH_RAM_SIZE, BOOT_MEM_RAM); 62#else 63#error Unknown NEC board 64#endif 65} 66 67void __init prom_free_prom_memory(void) 68{ 69} 70