51 lines
1003 B
Diff
51 lines
1003 B
Diff
--- a/arch/mips/Kconfig
|
|
+++ b/arch/mips/Kconfig
|
|
@@ -839,6 +839,9 @@ config SYNC_R4K
|
|
|
|
config MIPS_MACHINE
|
|
def_bool n
|
|
+
|
|
+config PROM_EMU
|
|
+ def_bool n
|
|
|
|
config IMAGE_CMDLINE_HACK
|
|
bool "OpenWrt specific image command line hack"
|
|
--- a/arch/mips/kernel/head.S
|
|
+++ b/arch/mips/kernel/head.S
|
|
@@ -149,6 +149,15 @@ EXPORT(__image_cmdline)
|
|
.fill 0x400
|
|
#endif /* CONFIG_IMAGE_CMDLINE_HACK */
|
|
|
|
+#ifdef CONFIG_PROM_EMU
|
|
+EXPORT(prom_emu_argv)
|
|
+ .word 0
|
|
+ .word prom_emu_cmdline
|
|
+ .ascii "CMDLINE:"
|
|
+EXPORT(prom_emu_cmdline)
|
|
+ .fill 0x400
|
|
+#endif
|
|
+
|
|
__REF
|
|
|
|
NESTED(kernel_entry, 16, sp) # kernel entry point
|
|
@@ -189,6 +198,19 @@ NESTED(kernel_entry, 16, sp) # kernel
|
|
LONG_S zero, (t0)
|
|
bne t0, t1, 1b
|
|
|
|
+#ifdef CONFIG_PROM_EMU
|
|
+ PTR_LA t0, prom_emu_cmdline
|
|
+ LONG_L t1, 0(t0)
|
|
+ beqz t1, 1f
|
|
+
|
|
+ li a0, 2
|
|
+ PTR_LA a1, prom_emu_argv
|
|
+ move a2, zero
|
|
+ move a3, zero
|
|
+
|
|
+1:
|
|
+#endif /* CONFIG_PROM_EMU */
|
|
+
|
|
LONG_S a0, fw_arg0 # firmware arguments
|
|
LONG_S a1, fw_arg1
|
|
LONG_S a2, fw_arg2
|