aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-01-29 09:44:58 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-01-29 09:44:58 +0000
commite252a1492ca6f9830c98106d3c3ae7917446fadc (patch)
tree30fde0ee404e51739d454dca28a75467656ed047 /target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch
parent22ce389e6a576c017ba2a298d2a89aa5fc6f99ad (diff)
downloadupstream-e252a1492ca6f9830c98106d3c3ae7917446fadc.tar.gz
upstream-e252a1492ca6f9830c98106d3c3ae7917446fadc.tar.bz2
upstream-e252a1492ca6f9830c98106d3c3ae7917446fadc.zip
generic: fix build failure in MIPS kexec code if SMP is enabled
Fix it for older kernels as well. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35366
Diffstat (limited to 'target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch')
-rw-r--r--target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch14
1 files changed, 6 insertions, 8 deletions
diff --git a/target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch b/target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch
index c98fc24a47..eff28f3103 100644
--- a/target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch
+++ b/target/linux/generic/patches-3.6/331-mips-kexec-enhanche-the-support.patch
@@ -57,20 +57,18 @@ Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
extern int (*_machine_kexec_prepare)(struct kimage *);
--- a/arch/mips/kernel/machine_kexec.c
+++ b/arch/mips/kernel/machine_kexec.c
-@@ -13,12 +13,6 @@
- #include <asm/cacheflush.h>
+@@ -14,10 +14,6 @@
#include <asm/page.h>
--extern const unsigned char relocate_new_kernel[];
+ extern const unsigned char relocate_new_kernel[];
-extern const size_t relocate_new_kernel_size;
-
-extern unsigned long kexec_start_address;
-extern unsigned long kexec_indirection_page;
--
+
int (*_machine_kexec_prepare)(struct kimage *) = NULL;
void (*_machine_kexec_shutdown)(void) = NULL;
- void (*_machine_crash_shutdown)(struct pt_regs *regs) = NULL;
-@@ -61,21 +55,34 @@ typedef void (*noretfun_t)(void) __attri
+@@ -61,21 +57,34 @@ typedef void (*noretfun_t)(void) __attri
void
machine_kexec(struct kimage *image)
{
@@ -107,7 +105,7 @@ Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
/*
* The generic kexec code builds a page list with physical
-@@ -96,8 +103,8 @@ machine_kexec(struct kimage *image)
+@@ -96,8 +105,8 @@ machine_kexec(struct kimage *image)
*/
local_irq_disable();
@@ -118,7 +116,7 @@ Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
__flush_cache_all();
#ifdef CONFIG_SMP
/* All secondary cpus now may jump to kexec_wait cycle */
-@@ -108,4 +115,3 @@ machine_kexec(struct kimage *image)
+@@ -108,4 +117,3 @@ machine_kexec(struct kimage *image)
#endif
((noretfun_t) reboot_code_buffer)();
}