2020-06-23 18:35:24

by Uros Bizjak

[permalink] [raw]
Subject: [PATCH] KVM: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h

Current minimum required version of binutils is 2.23,
which supports VMCALL and VMMCALL instruction mnemonics.

Replace the byte-wise specification of VMCALL and
VMMCALL with these proper mnemonics.

Signed-off-by: Uros Bizjak <[email protected]>
CC: Paolo Bonzini <[email protected]>
---
arch/x86/include/asm/kvm_para.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
index 49d3a9edb06f..01317493807e 100644
--- a/arch/x86/include/asm/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -18,7 +18,7 @@ static inline bool kvm_check_and_clear_guest_paused(void)
#endif /* CONFIG_KVM_GUEST */

#define KVM_HYPERCALL \
- ALTERNATIVE(".byte 0x0f,0x01,0xc1", ".byte 0x0f,0x01,0xd9", X86_FEATURE_VMMCALL)
+ ALTERNATIVE("vmcall", "vmmcall", X86_FEATURE_VMMCALL)

/* For KVM hypercalls, a three-byte sequence of either the vmcall or the vmmcall
* instruction. The hypervisor may replace it with something else but only the
--
2.26.2


2020-06-25 12:36:45

by Paolo Bonzini

[permalink] [raw]
Subject: Re: [PATCH] KVM: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h

On 23/06/20 20:34, Uros Bizjak wrote:
> Current minimum required version of binutils is 2.23,
> which supports VMCALL and VMMCALL instruction mnemonics.
>
> Replace the byte-wise specification of VMCALL and
> VMMCALL with these proper mnemonics.
>
> Signed-off-by: Uros Bizjak <[email protected]>
> CC: Paolo Bonzini <[email protected]>
> ---
> arch/x86/include/asm/kvm_para.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
> index 49d3a9edb06f..01317493807e 100644
> --- a/arch/x86/include/asm/kvm_para.h
> +++ b/arch/x86/include/asm/kvm_para.h
> @@ -18,7 +18,7 @@ static inline bool kvm_check_and_clear_guest_paused(void)
> #endif /* CONFIG_KVM_GUEST */
>
> #define KVM_HYPERCALL \
> - ALTERNATIVE(".byte 0x0f,0x01,0xc1", ".byte 0x0f,0x01,0xd9", X86_FEATURE_VMMCALL)
> + ALTERNATIVE("vmcall", "vmmcall", X86_FEATURE_VMMCALL)
>
> /* For KVM hypercalls, a three-byte sequence of either the vmcall or the vmmcall
> * instruction. The hypervisor may replace it with something else but only the
>

Queued, thanks.