add simple prom emulator to 2.6.2{7,8} as well
SVN-Revision: 13653
This commit is contained in:
parent
f001be04ac
commit
f4ff833db4
4 changed files with 120 additions and 0 deletions
|
@ -0,0 +1,10 @@
|
||||||
|
--- a/arch/mips/Kconfig
|
||||||
|
+++ b/arch/mips/Kconfig
|
||||||
|
@@ -36,6 +36,7 @@ config ATHEROS_AR71XX
|
||||||
|
select SYS_SUPPORTS_BIG_ENDIAN
|
||||||
|
select SYS_HAS_EARLY_PRINTK
|
||||||
|
select MIPS_MACHINE
|
||||||
|
+ select PROM_EMU
|
||||||
|
help
|
||||||
|
Support for Atheros AR71xx based boards.
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
--- a/arch/mips/Kconfig
|
||||||
|
+++ b/arch/mips/Kconfig
|
||||||
|
@@ -36,6 +36,7 @@ config ATHEROS_AR71XX
|
||||||
|
select SYS_SUPPORTS_BIG_ENDIAN
|
||||||
|
select SYS_HAS_EARLY_PRINTK
|
||||||
|
select MIPS_MACHINE
|
||||||
|
+ select PROM_EMU
|
||||||
|
help
|
||||||
|
Support for Atheros AR71xx based boards.
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
--- 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 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
|
|
@ -0,0 +1,50 @@
|
||||||
|
--- 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
|
Loading…
Reference in a new issue