From 31cee17e3864f7a4f4c2e3ab662c78425210b39d Mon Sep 17 00:00:00 2001 From: juhosg Date: Thu, 10 Sep 2009 18:30:01 +0000 Subject: kernel: add generic image_cmdline hack to MIPS targets git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17563 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../021-mips_image_cmdline_hack.patch | 59 ++++++++++++++++++++++ .../021-mips_simple_prom_emulator.patch | 12 ++--- 2 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 target/linux/generic-2.6/patches-2.6.30/021-mips_image_cmdline_hack.patch (limited to 'target/linux/generic-2.6/patches-2.6.30') diff --git a/target/linux/generic-2.6/patches-2.6.30/021-mips_image_cmdline_hack.patch b/target/linux/generic-2.6/patches-2.6.30/021-mips_image_cmdline_hack.patch new file mode 100644 index 000000000..75dc2b068 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.30/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 +@@ -806,6 +806,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.30/021-mips_simple_prom_emulator.patch b/target/linux/generic-2.6/patches-2.6.30/021-mips_simple_prom_emulator.patch index 49045fea3..80f402c4d 100644 --- a/target/linux/generic-2.6/patches-2.6.30/021-mips_simple_prom_emulator.patch +++ b/target/linux/generic-2.6/patches-2.6.30/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 -- cgit v1.2.3