mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/suspend: Don't save/restore %cr8
%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>
This commit is contained in:
1 parent
7e9a8545fa
commit
d5c326eca8
1 file changed
-15
@@ -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
|
||||