1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-24 18:34:37 +02:00
openwrt-xburst/target/linux/generic-2.6/patches-2.6.28/021-mips_simple_prom_emulator.patch
juhosg 0d55442532 [kernel] add simple prom emulator to 2.6.2{7,8} as well
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13653 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-15 14:46:30 +00:00

51 lines
928 B
Diff

--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -765,6 +765,9 @@ config SYNC_R4K
config MIPS_MACHINE
def_bool n
+
+config PROM_EMU
+ def_bool n
config NO_IOPORT
def_bool n
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -143,6 +143,15 @@ FEXPORT(__kernel_entry)
j kernel_entry
#endif
+#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
@@ -183,6 +192,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