]>
Commit | Line | Data |
---|---|---|
42d226c7 ST |
1 | /* |
2 | * Based on Ocelot Linux port, which is | |
3 | * Copyright 2001 MontaVista Software Inc. | |
4 | * Author: jsun@mvista.com or jsun@junsun.net | |
5 | * | |
6 | * Copyright 2003 ICT CAS | |
7 | * Author: Michael Guo <guoyi@ict.ac.cn> | |
8 | * | |
9 | * Copyright (C) 2007 Lemote Inc. & Insititute of Computing Technology | |
10 | * Author: Fuxin Zhang, zhangfx@lemote.com | |
11 | * | |
04cfb90a | 12 | * Copyright (C) 2009 Lemote Inc. |
f7a904df | 13 | * Author: Wu Zhangjin, wuzhangjin@gmail.com |
bd92aa01 | 14 | * |
70342287 RB |
15 | * This program is free software; you can redistribute it and/or modify it |
16 | * under the terms of the GNU General Public License as published by the | |
42d226c7 ST |
17 | * Free Software Foundation; either version 2 of the License, or (at your |
18 | * option) any later version. | |
19 | */ | |
bd92aa01 | 20 | #include <asm/bootinfo.h> |
42d226c7 | 21 | |
5e983ff6 WZ |
22 | #include <loongson.h> |
23 | ||
42d226c7 ST |
24 | void __init prom_init_cmdline(void) |
25 | { | |
97e6a896 WZ |
26 | int prom_argc; |
27 | /* pmon passes arguments in 32bit pointers */ | |
28 | int *_prom_argv; | |
42d226c7 ST |
29 | int i; |
30 | long l; | |
31 | ||
bd92aa01 WZ |
32 | /* firmware arguments are initialized in head.S */ |
33 | prom_argc = fw_arg0; | |
34 | _prom_argv = (int *)fw_arg1; | |
35 | ||
42d226c7 ST |
36 | /* arg[0] is "g", the rest is boot parameters */ |
37 | arcs_cmdline[0] = '\0'; | |
bd92aa01 WZ |
38 | for (i = 1; i < prom_argc; i++) { |
39 | l = (long)_prom_argv[i]; | |
42d226c7 ST |
40 | if (strlen(arcs_cmdline) + strlen(((char *)l) + 1) |
41 | >= sizeof(arcs_cmdline)) | |
42 | break; | |
43 | strcat(arcs_cmdline, ((char *)l)); | |
44 | strcat(arcs_cmdline, " "); | |
45 | } | |
42d226c7 | 46 | |
04cfb90a | 47 | prom_init_machtype(); |
42d226c7 | 48 | } |