diff options
Diffstat (limited to 'arch/mips/qemu/q-firmware.c')
| -rw-r--r-- | arch/mips/qemu/q-firmware.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/mips/qemu/q-firmware.c b/arch/mips/qemu/q-firmware.c index 5980f02b2df9..fb2a8673a6bf 100644 --- a/arch/mips/qemu/q-firmware.c +++ b/arch/mips/qemu/q-firmware.c | |||
| @@ -1,7 +1,18 @@ | |||
| 1 | #include <linux/init.h> | 1 | #include <linux/init.h> |
| 2 | #include <linux/string.h> | ||
| 3 | #include <asm/addrspace.h> | ||
| 2 | #include <asm/bootinfo.h> | 4 | #include <asm/bootinfo.h> |
| 3 | 5 | ||
| 4 | void __init prom_init(void) | 6 | void __init prom_init(void) |
| 5 | { | 7 | { |
| 6 | add_memory_region(0x0<<20, 0x10<<20, BOOT_MEM_RAM); | 8 | int *cmdline; |
| 9 | |||
| 10 | cmdline = (int *) (CKSEG0 + (0x10 << 20) - 260); | ||
| 11 | if (*cmdline == 0x12345678) { | ||
| 12 | if (*(char *)(cmdline + 1)) | ||
| 13 | strcpy (arcs_cmdline, (char *)(cmdline + 1)); | ||
| 14 | add_memory_region(0x0<<20, cmdline[-1], BOOT_MEM_RAM); | ||
| 15 | } else { | ||
| 16 | add_memory_region(0x0<<20, 0x10<<20, BOOT_MEM_RAM); | ||
| 17 | } | ||
| 7 | } | 18 | } |
