mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
44 lines
1021 B
Diff
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
|