diff options
Diffstat (limited to 'target/linux/x86/patches-3.8/160-kexec-fix.patch')
-rw-r--r-- | target/linux/x86/patches-3.8/160-kexec-fix.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/x86/patches-3.8/160-kexec-fix.patch b/target/linux/x86/patches-3.8/160-kexec-fix.patch new file mode 100644 index 0000000000..ea32494a09 --- /dev/null +++ b/target/linux/x86/patches-3.8/160-kexec-fix.patch @@ -0,0 +1,43 @@ +From 357954613bdbab0c1f3986589ff30cc4855a2efd Mon Sep 17 00:00:00 2001 +From: root <root@cent.localnet> +Date: Sun, 6 Dec 2009 18:26:43 +0000 +Subject: [PATCH 03/14] kexec fix + +--- + arch/x86/kernel/relocate_kernel_32.S | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +--- a/arch/x86/kernel/relocate_kernel_32.S ++++ b/arch/x86/kernel/relocate_kernel_32.S +@@ -54,8 +54,10 @@ relocate_kernel: + movl %eax, CR0(%edi) + movl %cr3, %eax + movl %eax, CR3(%edi) ++#ifndef CONFIG_X86_RDC321X + movl %cr4, %eax + movl %eax, CR4(%edi) ++#endif + + /* read the arguments and say goodbye to the stack */ + movl 20+4(%esp), %ebx /* page_list */ +@@ -124,7 +126,9 @@ identity_mapped: + * Setting everything to zero seems safe. + */ + xorl %eax, %eax ++#ifndef CONFIG_X86_RDC321X + movl %eax, %cr4 ++#endif + + jmp 1f + 1: +@@ -195,8 +199,10 @@ identity_mapped: + ret + + virtual_mapped: ++#ifndef CONFIG_X86_RDC321X + movl CR4(%edi), %eax + movl %eax, %cr4 ++#endif + movl CR3(%edi), %eax + movl %eax, %cr3 + movl CR0(%edi), %eax |