|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v1 3/5] x86/vmx: remove GAS_VMX_OP()
From: Denis Mukhin <dmukhin@xxxxxxxx>
Remove unneeded GAS_VMX_OP() macro, now that all used VMX instuctions
are natively supported by the baseline compiler.
Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>
---
xen/arch/x86/include/asm/hvm/vmx/vmx.h | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index ce3c067a88..10c0619108 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -310,8 +310,6 @@ extern uint8_t posted_intr_vector;
#define INVVPID_ALL_CONTEXT 2
#define INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 3
-# define GAS_VMX_OP(yes, no) yes
-
static always_inline void __vmptrld(u64 addr)
{
asm volatile (
@@ -374,14 +372,13 @@ static inline enum vmx_insn_errno vmread_safe(unsigned
long field,
unsigned long ret = VMX_INSN_SUCCEED;
bool fail_invalid, fail_valid;
- asm volatile ( GAS_VMX_OP("vmread %[field], %[value]\n\t",
- VMREAD_OPCODE MODRM_EAX_ECX)
+ asm volatile ( "vmread %[field], %[value]\n\t"
ASM_FLAG_OUT(, "setc %[invalid]\n\t")
ASM_FLAG_OUT(, "setz %[valid]\n\t")
: ASM_FLAG_OUT("=@ccc", [invalid] "=rm") (fail_invalid),
ASM_FLAG_OUT("=@ccz", [valid] "=rm") (fail_valid),
- [value] GAS_VMX_OP("=rm", "=c") (*value)
- : [field] GAS_VMX_OP("r", "a") (field));
+ [value] "=rm" (*value)
+ : [field] "r" (field));
if ( unlikely(fail_invalid) )
ret = VMX_INSN_FAIL_INVALID;
@@ -397,14 +394,13 @@ static inline enum vmx_insn_errno vmwrite_safe(unsigned
long field,
unsigned long ret = VMX_INSN_SUCCEED;
bool fail_invalid, fail_valid;
- asm volatile ( GAS_VMX_OP("vmwrite %[value], %[field]\n\t",
- VMWRITE_OPCODE MODRM_EAX_ECX)
+ asm volatile ( "vmwrite %[value], %[field]\n\t"
ASM_FLAG_OUT(, "setc %[invalid]\n\t")
ASM_FLAG_OUT(, "setz %[valid]\n\t")
: ASM_FLAG_OUT("=@ccc", [invalid] "=rm") (fail_invalid),
ASM_FLAG_OUT("=@ccz", [valid] "=rm") (fail_valid)
- : [field] GAS_VMX_OP("r", "a") (field),
- [value] GAS_VMX_OP("rm", "c") (value));
+ : [field] "r" (field),
+ [value] "rm" (value));
if ( unlikely(fail_invalid) )
ret = VMX_INSN_FAIL_INVALID;
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |