%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>
.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
pushfq;
popq SAVED_GREG(flags)
- mov %cr8, GREG(ax)
- mov GREG(ax), REF(saved_cr8)
-
mov %ss, REF(saved_ss)
sgdt REF(saved_gdt)
pushq %rax
lretq
1:
- mov REF(saved_cr8), %rax
- mov %rax, %cr8
-
pushq SAVED_GREG(flags)
popfq
saved_cr0: .quad 0
saved_cr3: .quad 0
-saved_cr8: .quad 0