* [PATCH] KVM: VMX: Remove unneeded __ASM_SIZE usage with POP instruction
@ 2020-04-26 12:30 Uros Bizjak
2020-04-27 19:14 ` Sean Christopherson
0 siblings, 1 reply; 2+ messages in thread
From: Uros Bizjak @ 2020-04-26 12:30 UTC (permalink / raw)
To: kvm; +Cc: Uros Bizjak, Paolo Bonzini, Sean Christopherson
POP instruction always operates in word size, no need to
use __ASM_SIZE macro to force operating mode.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
---
arch/x86/kvm/vmx/vmenter.S | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
index 87f3f24fef37..94b8794bdd2a 100644
--- a/arch/x86/kvm/vmx/vmenter.S
+++ b/arch/x86/kvm/vmx/vmenter.S
@@ -163,13 +163,13 @@ SYM_FUNC_START(__vmx_vcpu_run)
mov WORD_SIZE(%_ASM_SP), %_ASM_AX
/* Save all guest registers, including RAX from the stack */
- __ASM_SIZE(pop) VCPU_RAX(%_ASM_AX)
- mov %_ASM_CX, VCPU_RCX(%_ASM_AX)
- mov %_ASM_DX, VCPU_RDX(%_ASM_AX)
- mov %_ASM_BX, VCPU_RBX(%_ASM_AX)
- mov %_ASM_BP, VCPU_RBP(%_ASM_AX)
- mov %_ASM_SI, VCPU_RSI(%_ASM_AX)
- mov %_ASM_DI, VCPU_RDI(%_ASM_AX)
+ pop VCPU_RAX(%_ASM_AX)
+ mov %_ASM_CX, VCPU_RCX(%_ASM_AX)
+ mov %_ASM_DX, VCPU_RDX(%_ASM_AX)
+ mov %_ASM_BX, VCPU_RBX(%_ASM_AX)
+ mov %_ASM_BP, VCPU_RBP(%_ASM_AX)
+ mov %_ASM_SI, VCPU_RSI(%_ASM_AX)
+ mov %_ASM_DI, VCPU_RDI(%_ASM_AX)
#ifdef CONFIG_X86_64
mov %r8, VCPU_R8 (%_ASM_AX)
mov %r9, VCPU_R9 (%_ASM_AX)
--
2.25.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] KVM: VMX: Remove unneeded __ASM_SIZE usage with POP instruction
2020-04-26 12:30 [PATCH] KVM: VMX: Remove unneeded __ASM_SIZE usage with POP instruction Uros Bizjak
@ 2020-04-27 19:14 ` Sean Christopherson
0 siblings, 0 replies; 2+ messages in thread
From: Sean Christopherson @ 2020-04-27 19:14 UTC (permalink / raw)
To: Uros Bizjak; +Cc: kvm, Paolo Bonzini
On Sun, Apr 26, 2020 at 02:30:38PM +0200, Uros Bizjak wrote:
> POP instruction always operates in word size, no need to
> use __ASM_SIZE macro to force operating mode.
Nit, "always operates in word size" isn't quite correct, it'd be more
accurate to state "POP [mem] defaults to the word size, and the only
legal non-default size is 16 bits, e.g. a 32-bit POP will #UD in 64-bit
mode and vice versa, no need ...".
With a tweaked changelog:
Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Sean Christopherson <sean.j.christopherson@intel.com>
> Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
> ---
> arch/x86/kvm/vmx/vmenter.S | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S
> index 87f3f24fef37..94b8794bdd2a 100644
> --- a/arch/x86/kvm/vmx/vmenter.S
> +++ b/arch/x86/kvm/vmx/vmenter.S
> @@ -163,13 +163,13 @@ SYM_FUNC_START(__vmx_vcpu_run)
> mov WORD_SIZE(%_ASM_SP), %_ASM_AX
>
> /* Save all guest registers, including RAX from the stack */
> - __ASM_SIZE(pop) VCPU_RAX(%_ASM_AX)
> - mov %_ASM_CX, VCPU_RCX(%_ASM_AX)
> - mov %_ASM_DX, VCPU_RDX(%_ASM_AX)
> - mov %_ASM_BX, VCPU_RBX(%_ASM_AX)
> - mov %_ASM_BP, VCPU_RBP(%_ASM_AX)
> - mov %_ASM_SI, VCPU_RSI(%_ASM_AX)
> - mov %_ASM_DI, VCPU_RDI(%_ASM_AX)
> + pop VCPU_RAX(%_ASM_AX)
> + mov %_ASM_CX, VCPU_RCX(%_ASM_AX)
> + mov %_ASM_DX, VCPU_RDX(%_ASM_AX)
> + mov %_ASM_BX, VCPU_RBX(%_ASM_AX)
> + mov %_ASM_BP, VCPU_RBP(%_ASM_AX)
> + mov %_ASM_SI, VCPU_RSI(%_ASM_AX)
> + mov %_ASM_DI, VCPU_RDI(%_ASM_AX)
> #ifdef CONFIG_X86_64
> mov %r8, VCPU_R8 (%_ASM_AX)
> mov %r9, VCPU_R9 (%_ASM_AX)
> --
> 2.25.3
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-04-27 19:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-26 12:30 [PATCH] KVM: VMX: Remove unneeded __ASM_SIZE usage with POP instruction Uros Bizjak
2020-04-27 19:14 ` Sean Christopherson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.