[kernel] revert 15922 - add back 2.6.29 kernel support
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.29 / 021-mips_simple_prom_emulator.patch
1 --- a/arch/mips/Kconfig
2 +++ b/arch/mips/Kconfig
3 @@ -812,6 +812,9 @@ config SYNC_R4K
4  
5  config MIPS_MACHINE
6         def_bool n
7 +       
8 +config PROM_EMU
9 +       def_bool n
10  
11  config NO_IOPORT
12         def_bool n
13 --- a/arch/mips/kernel/head.S
14 +++ b/arch/mips/kernel/head.S
15 @@ -143,6 +143,15 @@ FEXPORT(__kernel_entry)
16         j       kernel_entry
17  #endif
18  
19 +#ifdef CONFIG_PROM_EMU
20 +EXPORT(prom_emu_argv)
21 +       .word   0
22 +       .word   prom_emu_cmdline
23 +       .ascii  "CMDLINE:"
24 +EXPORT(prom_emu_cmdline)
25 +       .fill   0x400
26 +#endif
27 +
28         __REF
29  
30  NESTED(kernel_entry, 16, sp)                   # kernel entry point
31 @@ -183,6 +192,19 @@ NESTED(kernel_entry, 16, sp)                       # kernel 
32         LONG_S          zero, (t0)
33         bne             t0, t1, 1b
34  
35 +#ifdef CONFIG_PROM_EMU
36 +       PTR_LA          t0, prom_emu_cmdline
37 +       LONG_L          t1, 0(t0)
38 +       beqz            t1, 1f
39 +
40 +       li              a0, 2
41 +       PTR_LA          a1, prom_emu_argv
42 +       move            a2, zero
43 +       move            a3, zero
44 +
45 +1:
46 +#endif /* CONFIG_PROM_EMU */
47 +
48         LONG_S          a0, fw_arg0             # firmware arguments
49         LONG_S          a1, fw_arg1
50         LONG_S          a2, fw_arg2