x86: add support for 3.14
[openwrt.git] / target / linux / x86 / patches-3.14 / 160-kexec-fix.patch
1 From 357954613bdbab0c1f3986589ff30cc4855a2efd Mon Sep 17 00:00:00 2001
2 From: root <root@cent.localnet>
3 Date: Sun, 6 Dec 2009 18:26:43 +0000
4 Subject: [PATCH 03/14] kexec fix
5
6 ---
7  arch/x86/kernel/relocate_kernel_32.S |    6 ++++++
8  1 files changed, 6 insertions(+), 0 deletions(-)
9
10 --- a/arch/x86/kernel/relocate_kernel_32.S
11 +++ b/arch/x86/kernel/relocate_kernel_32.S
12 @@ -54,8 +54,10 @@ relocate_kernel:
13         movl    %eax, CR0(%edi)
14         movl    %cr3, %eax
15         movl    %eax, CR3(%edi)
16 +#ifndef CONFIG_X86_RDC321X
17         movl    %cr4, %eax
18         movl    %eax, CR4(%edi)
19 +#endif
20  
21         /* read the arguments and say goodbye to the stack */
22         movl  20+4(%esp), %ebx /* page_list */
23 @@ -124,7 +126,9 @@ identity_mapped:
24          * Setting everything to zero seems safe.
25          */
26         xorl    %eax, %eax
27 +#ifndef CONFIG_X86_RDC321X
28         movl    %eax, %cr4
29 +#endif
30  
31         jmp 1f
32  1:
33 @@ -195,8 +199,10 @@ identity_mapped:
34         ret
35  
36  virtual_mapped:
37 +#ifndef CONFIG_X86_RDC321X
38         movl    CR4(%edi), %eax
39         movl    %eax, %cr4
40 +#endif
41         movl    CR3(%edi), %eax
42         movl    %eax, %cr3
43         movl    CR0(%edi), %eax