diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-09-10 18:30:01 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-09-10 18:30:01 +0000 |
commit | 31cee17e3864f7a4f4c2e3ab662c78425210b39d (patch) | |
tree | b139c7084821e451ccd45639fc2f68a737b9104d /target/linux/generic-2.6/patches-2.6.27 | |
parent | 86dc5a474935ce5a6415ce4fe3f19f99cb226a35 (diff) |
kernel: add generic image_cmdline hack to MIPS targets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17563 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.27')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.27/021-mips_image_cmdline_hack.patch | 59 | ||||
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.27/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.27/021-mips_image_cmdline_hack.patch b/target/linux/generic-2.6/patches-2.6.27/021-mips_image_cmdline_hack.patch new file mode 100644 index 000000000..cd315a4cf --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.27/021-mips_image_cmdline_hack.patch @@ -0,0 +1,59 @@ +--- a/arch/mips/kernel/setup.c ++++ b/arch/mips/kernel/setup.c +@@ -545,8 +545,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 +@@ -771,6 +771,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.27/021-mips_simple_prom_emulator.patch b/target/linux/generic-2.6/patches-2.6.27/021-mips_simple_prom_emulator.patch index 305e3fd8d..527abc4fc 100644 --- a/target/linux/generic-2.6/patches-2.6.27/021-mips_simple_prom_emulator.patch +++ b/target/linux/generic-2.6/patches-2.6.27/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 |