aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/qemu/q-firmware.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-12-05 11:15:30 -0800
committerSteve French <sfrench@us.ibm.com>2005-12-05 11:15:30 -0800
commitc89a86bb96307019867d11874ef0b86adaa0598e (patch)
treec44c1a825e8a143a4c52bcb8692292aeb77fa64e /arch/mips/qemu/q-firmware.c
parent07475ffba5800c53573180dd521273642adcd0e9 (diff)
parente4f5c82a92c2a546a16af1614114eec19120e40a (diff)
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'arch/mips/qemu/q-firmware.c')
-rw-r--r--arch/mips/qemu/q-firmware.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/mips/qemu/q-firmware.c b/arch/mips/qemu/q-firmware.c
index 5980f02b2df..fb2a8673a6b 100644
--- a/arch/mips/qemu/q-firmware.c
+++ b/arch/mips/qemu/q-firmware.c
@@ -1,7 +1,18 @@
#include <linux/init.h>
+#include <linux/string.h>
+#include <asm/addrspace.h>
#include <asm/bootinfo.h>
void __init prom_init(void)
{
- add_memory_region(0x0<<20, 0x10<<20, BOOT_MEM_RAM);
+ int *cmdline;
+
+ cmdline = (int *) (CKSEG0 + (0x10 << 20) - 260);
+ if (*cmdline == 0x12345678) {
+ if (*(char *)(cmdline + 1))
+ strcpy (arcs_cmdline, (char *)(cmdline + 1));
+ add_memory_region(0x0<<20, cmdline[-1], BOOT_MEM_RAM);
+ } else {
+ add_memory_region(0x0<<20, 0x10<<20, BOOT_MEM_RAM);
+ }
}