add simple prom emulator for MIPS
authorGabor Juhos <juhosg@openwrt.org>
Sun, 14 Dec 2008 20:17:20 +0000 (20:17 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 14 Dec 2008 20:17:20 +0000 (20:17 +0000)
SVN-Revision: 13632

target/linux/generic-2.6/patches-2.6.26/021-mips_simple_prom_emulator.patch [new file with mode: 0644]

diff --git a/target/linux/generic-2.6/patches-2.6.26/021-mips_simple_prom_emulator.patch b/target/linux/generic-2.6/patches-2.6.26/021-mips_simple_prom_emulator.patch
new file mode 100644 (file)
index 0000000..2c0ffb8
--- /dev/null
@@ -0,0 +1,50 @@
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -860,6 +860,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
+@@ -142,6 +142,15 @@ FEXPORT(__kernel_entry)
+       j       kernel_entry
+ #endif
++#ifdef CONFIG_PROM_EMU
++EXPORT(prom_emu_argv)
++      .dw     0
++      .dw     prom_emu_cmdline
++      .ascii  "CMDLINE:"
++EXPORT(prom_emu_cmdline)
++      .fill   0x400
++#endif
++
+       __REF
+ NESTED(kernel_entry, 16, sp)                  # kernel entry point
+@@ -182,6 +191,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