--- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -770,6 +770,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