diff options
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.31')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.31/021-mips_image_cmdline_hack.patch | 59 | ||||
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.31/021-mips_simple_prom_emulator.patch | 12 |
2 files changed, 65 insertions, 6 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.31/021-mips_image_cmdline_hack.patch b/target/linux/generic-2.6/patches-2.6.31/021-mips_image_cmdline_hack.patch new file mode 100644 index 0000000..6b27264 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.31/021-mips_image_cmdline_hack.patch @@ -0,0 +1,59 @@ +--- a/arch/mips/kernel/setup.c ++++ b/arch/mips/kernel/setup.c +@@ -546,8 +546,28 @@ static void __init resource_init(void) + } + } + ++#ifdef CONFIG_IMAGE_CMDLINE_HACK ++static void __init process__image_cmdline(void) ++{ ++ extern char __image_cmdline[]; ++ ++ if (__image_cmdline[0] == '\0') ++ return; ++ ++ if (__image_cmdline[0] == '-') { ++ strlcpy(arcs_cmdline, __image_cmdline, sizeof(arcs_cmdline)); ++ } else { ++ strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline)); ++ strlcat(arcs_cmdline, __image_cmdline, sizeof(arcs_cmdline)); ++ } ++} ++#else ++static void inline process__image_cmdline(void) {} ++#endif ++ + void __init setup_arch(char **cmdline_p) + { ++ process__image_cmdline(); + cpu_probe(); + prom_init(); + +--- a/arch/mips/Kconfig ++++ b/arch/mips/Kconfig +@@ -840,6 +840,10 @@ config SYNC_R4K + config MIPS_MACHINE + def_bool n + ++config IMAGE_CMDLINE_HACK ++ bool "OpenWrt specific image command line hack" ++ default n ++ + config NO_IOPORT + def_bool n + +--- a/arch/mips/kernel/head.S ++++ b/arch/mips/kernel/head.S +@@ -143,6 +143,12 @@ FEXPORT(__kernel_entry) + j kernel_entry + #endif + ++#ifdef CONFIG_IMAGE_CMDLINE_HACK ++ .ascii "CMDLINE:" ++EXPORT(__image_cmdline) ++ .fill 0x400 ++#endif /* CONFIG_IMAGE_CMDLINE_HACK */ ++ + __REF + + NESTED(kernel_entry, 16, sp) # kernel entry point diff --git a/target/linux/generic-2.6/patches-2.6.31/021-mips_simple_prom_emulator.patch b/target/linux/generic-2.6/patches-2.6.31/021-mips_simple_prom_emulator.patch index b53ca3f..3119420 100644 --- a/target/linux/generic-2.6/patches-2.6.31/021-mips_simple_prom_emulator.patch +++ b/target/linux/generic-2.6/patches-2.6.31/021-mips_simple_prom_emulator.patch @@ -8,13 +8,13 @@ +config PROM_EMU + def_bool n - config NO_IOPORT - 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 -@@ -143,6 +143,15 @@ FEXPORT(__kernel_entry) - j kernel_entry - #endif +@@ -149,6 +149,15 @@ EXPORT(__image_cmdline) + .fill 0x400 + #endif /* CONFIG_IMAGE_CMDLINE_HACK */ +#ifdef CONFIG_PROM_EMU +EXPORT(prom_emu_argv) @@ -28,7 +28,7 @@ __REF NESTED(kernel_entry, 16, sp) # kernel entry point -@@ -183,6 +192,19 @@ NESTED(kernel_entry, 16, sp) # kernel +@@ -189,6 +198,19 @@ NESTED(kernel_entry, 16, sp) # kernel LONG_S zero, (t0) bne t0, t1, 1b |