openwrt/target/linux/x86/patches-3.18/160-kexec-fix.patch
Felix Fietkau c062741575 x86: update to kernel 3.18
copied target/linux/x86/config-3.14 and target/linux/x86/patches-3.14 to
3.18 equivalents and then tweaked until it built.

Tested on alix2, soekris net4826 and soekris net4521.

Still having trouble with net4826 booting from Grub, alix2 and net4521
are fine.

Signed-off-by: Russell Senior <russell@personaltelco.net>

SVN-Revision: 44758
2015-03-15 04:43:30 +00:00

44 lines
1021 B
Diff

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