160-kexec-fix.patch 1021 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. arch/x86/kernel/relocate_kernel_32.S | 6 ++++++
  7. 1 files changed, 6 insertions(+), 0 deletions(-)
  8. --- a/arch/x86/kernel/relocate_kernel_32.S
  9. +++ b/arch/x86/kernel/relocate_kernel_32.S
  10. @@ -54,8 +54,10 @@ relocate_kernel:
  11. movl %eax, CR0(%edi)
  12. movl %cr3, %eax
  13. movl %eax, CR3(%edi)
  14. +#ifndef CONFIG_X86_RDC321X
  15. movl %cr4, %eax
  16. movl %eax, CR4(%edi)
  17. +#endif
  18. /* read the arguments and say goodbye to the stack */
  19. movl 20+4(%esp), %ebx /* page_list */
  20. @@ -124,7 +126,9 @@ identity_mapped:
  21. * Setting everything to zero seems safe.
  22. */
  23. xorl %eax, %eax
  24. +#ifndef CONFIG_X86_RDC321X
  25. movl %eax, %cr4
  26. +#endif
  27. jmp 1f
  28. 1:
  29. @@ -195,8 +199,10 @@ identity_mapped:
  30. ret
  31. virtual_mapped:
  32. +#ifndef CONFIG_X86_RDC321X
  33. movl CR4(%edi), %eax
  34. movl %eax, %cr4
  35. +#endif
  36. movl CR3(%edi), %eax
  37. movl %eax, %cr3
  38. movl CR0(%edi), %eax