All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Uros Bizjak <ubizjak@gmail.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH] KVM/VMX: Do not declare vmread_error asmlinkage
Date: Thu, 1 Sep 2022 15:39:57 +0000	[thread overview]
Message-ID: <YxDSTU+pWBdZgs/Q@google.com> (raw)
In-Reply-To: <20220817144045.3206-1-ubizjak@gmail.com>

On Wed, Aug 17, 2022, Uros Bizjak wrote:
> There is no need to declare vmread_error asmlinkage, its arguments
> can be passed via registers for both, 32-bit and 64-bit targets.
> Function argument registers are considered call-clobbered registers,
> they are saved in the trampoline just before the function call and
> restored afterwards.
> 
> Note that asmlinkage and __attribute__((regparm(0))) have no effect
> on 64-bit targets. The trampoline is called from the assembler glue
> code that implements its own stack-passing function calling convention,
> so the attribute on the trampoline declaration does not change anything
> for 64-bit as well as 32-bit targets. We can declare it asmlinkage for
> documentation purposes.

...

> diff --git a/arch/x86/kvm/vmx/vmx_ops.h b/arch/x86/kvm/vmx/vmx_ops.h
> index 5cfc49ddb1b4..550a89394d9f 100644
> --- a/arch/x86/kvm/vmx/vmx_ops.h
> +++ b/arch/x86/kvm/vmx/vmx_ops.h
> @@ -10,9 +10,9 @@
>  #include "vmcs.h"
>  #include "../x86.h"
>  
> -asmlinkage void vmread_error(unsigned long field, bool fault);
> -__attribute__((regparm(0))) void vmread_error_trampoline(unsigned long field,
> -							 bool fault);
> +void vmread_error(unsigned long field, bool fault);
> +asmlinkage void vmread_error_trampoline(unsigned long field,
> +					bool fault);
>  void vmwrite_error(unsigned long field, unsigned long value);
>  void vmclear_error(struct vmcs *vmcs, u64 phys_addr);
>  void vmptrld_error(struct vmcs *vmcs, u64 phys_addr);

If it's ok with you, I'll split this into two patches.  One to drop asmlinkage
from vmread_error(), and one to convert the open coded regparm to asmlinkage.

  parent reply	other threads:[~2022-09-01 15:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-17 14:40 [PATCH] KVM/VMX: Do not declare vmread_error asmlinkage Uros Bizjak
2022-08-17 15:58 ` Sean Christopherson
2022-08-31  7:10   ` Uros Bizjak
2022-09-01 15:37     ` Sean Christopherson
2022-09-06  7:28       ` Wang, Wei W
2022-09-08 15:47         ` Sean Christopherson
2022-09-01 15:39 ` Sean Christopherson [this message]
2022-09-01 17:29   ` Uros Bizjak
2022-09-08 17:23     ` Sean Christopherson
2022-09-08 17:25 ` Sean Christopherson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YxDSTU+pWBdZgs/Q@google.com \
    --to=seanjc@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=ubizjak@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.