]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86/suspend: Don't save/restore %cr8
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 15 Jul 2019 16:21:02 +0000 (17:21 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 16 Jul 2019 12:52:17 +0000 (13:52 +0100)
%cr8 is an alias of APIC_TASKPRI, which is handled by
lapic_{suspend,resume}() with the rest of the Local APIC state.  Saving
and restoring the TPR state in isolation is not a clever idea.

Drop it all.

While editing wakeup_prot.S, trim its include list to just the headers
which are used, which is precicely none of them.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/acpi/wakeup_prot.S

index 361751d290c3e4a685a10bd52c7bf423fafd42fe..4a926274366f4692448d5db7dbd23fd4ee67b98c 100644 (file)
@@ -1,13 +1,5 @@
         .file __FILE__
         .text
-
-#include <xen/multiboot.h>
-#include <public/xen.h>
-#include <asm/asm_defns.h>
-#include <asm/desc.h>
-#include <asm/page.h>
-#include <asm/msr.h>
-
         .code64
 
 #define GREG(x)         %r##x
@@ -40,9 +32,6 @@ ENTRY(do_suspend_lowlevel)
         pushfq;
         popq    SAVED_GREG(flags)
 
-        mov     %cr8, GREG(ax)
-        mov     GREG(ax), REF(saved_cr8)
-
         mov     %ss, REF(saved_ss)
 
         sgdt    REF(saved_gdt)
@@ -90,9 +79,6 @@ ENTRY(__ret_point)
         pushq   %rax
         lretq
 1:
-        mov     REF(saved_cr8), %rax
-        mov     %rax, %cr8
-
         pushq   SAVED_GREG(flags)
         popfq
 
@@ -149,4 +135,3 @@ saved_ldt:      .quad   0,0
 
 saved_cr0:      .quad   0
 saved_cr3:      .quad   0
-saved_cr8:      .quad   0