mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/svm: Drop wrappers of SVM instructions
The new toolchain baseline knows the SVM instructions. Resolves: xen-project/xen#204 Signed-off-by: "Alexander M. Merritt" <alexander@edera.dev> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
a48be48f0c
commit
ae5fd39be9
2 files changed
+3
-23
No files matched your search
@@ -23,25 +23,17 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len);
|
||||
|
||||
static inline void svm_vmload_pa(paddr_t vmcb)
|
||||
{
|
||||
asm volatile (
|
||||
".byte 0x0f,0x01,0xda" /* vmload */
|
||||
: : "a" (vmcb) : "memory" );
|
||||
asm volatile ( "vmload" :: "a" (vmcb) : "memory" );
|
||||
}
|
||||
|
||||
static inline void svm_vmsave_pa(paddr_t vmcb)
|
||||
{
|
||||
asm volatile (
|
||||
".byte 0x0f,0x01,0xdb" /* vmsave */
|
||||
: : "a" (vmcb) : "memory" );
|
||||
asm volatile ( "vmsave" :: "a" (vmcb) : "memory" );
|
||||
}
|
||||
|
||||
static inline void svm_invlpga(unsigned long linear, uint32_t asid)
|
||||
{
|
||||
asm volatile (
|
||||
".byte 0x0f,0x01,0xdf"
|
||||
: /* output */
|
||||
: /* input */
|
||||
"a" (linear), "c" (asid) );
|
||||
asm volatile ( "invlpga" :: "a" (linear), "c" (asid) );
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
#include <asm/page-bits.h>
|
||||
|
||||
.macro vmrun
|
||||
.byte 0x0f, 0x01, 0xd8
|
||||
.endm
|
||||
|
||||
.macro stgi
|
||||
.byte 0x0f, 0x01, 0xdc
|
||||
.endm
|
||||
|
||||
.macro clgi
|
||||
.byte 0x0f, 0x01, 0xdd
|
||||
.endm
|
||||
|
||||
/*
|
||||
* Call a noreturn function. This could be JMP, but CALL results in a more
|
||||
* helpful backtrace. BUG is to catch functions which do decide to return...
|
||||
|
||||