Ver código fonte

[MIPS] Qemu: Accept kernel command line passed by the Emulator.

From Daniel Jacobowitz <dan@debian.org>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Ralf Baechle 19 anos atrás
pai
commit
fe3d72858c
1 arquivos alterados com 12 adições e 1 exclusões
  1. 12 1
      arch/mips/qemu/q-firmware.c

+ 12 - 1
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);
+	}
 }