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) );
}
/*
#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...