diff mbox series

KVM: x86: Move definition of __ex to kvm_host.h

Message ID 20200508062753.10889-1-ubizjak@gmail.com (mailing list archive)
State New, archived
Headers show
Series KVM: x86: Move definition of __ex to kvm_host.h | expand

Commit Message

Uros Bizjak May 8, 2020, 6:27 a.m. UTC
Move the definition of __ex to a common include to be
shared between VMX and SVM.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
---
 arch/x86/include/asm/kvm_host.h | 2 ++
 arch/x86/kvm/svm/svm.c          | 2 --
 arch/x86/kvm/vmx/ops.h          | 2 --
 3 files changed, 2 insertions(+), 4 deletions(-)

Comments

Sean Christopherson May 8, 2020, 5:57 p.m. UTC | #1
On Fri, May 08, 2020 at 08:27:53AM +0200, Uros Bizjak wrote:
> Move the definition of __ex to a common include to be
> shared between VMX and SVM.
> 
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
> ---
>  arch/x86/include/asm/kvm_host.h | 2 ++
>  arch/x86/kvm/svm/svm.c          | 2 --
>  arch/x86/kvm/vmx/ops.h          | 2 --
>  3 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> index 35a915787559..4df0c07b0a62 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -1620,6 +1620,8 @@ asmlinkage void kvm_spurious_fault(void);
>  	"668: \n\t"							\
>  	_ASM_EXTABLE(666b, 667b)
>  
> +#define __ex(x) __kvm_handle_fault_on_reboot(x)

Moving this to asm/kvm_host.h is a bit sketchy as __ex() isn't exactly the
most unique name.  arch/x86/kvm/x86.h would probably be a better
destination as it's "private".  __ex() is only used in vmx.c, nested.c and
svm.c, all of which already include x86.h.

> +
>  #define KVM_ARCH_WANT_MMU_NOTIFIER
>  int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end);
>  int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end);
> diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
> index 57fdd752d2bb..9ea0a69d7fee 100644
> --- a/arch/x86/kvm/svm/svm.c
> +++ b/arch/x86/kvm/svm/svm.c
> @@ -42,8 +42,6 @@
>  
>  #include "svm.h"
>  
> -#define __ex(x) __kvm_handle_fault_on_reboot(x)
> -
>  MODULE_AUTHOR("Qumranet");
>  MODULE_LICENSE("GPL");
>  
> diff --git a/arch/x86/kvm/vmx/ops.h b/arch/x86/kvm/vmx/ops.h
> index 5f1ac002b4b6..3cec799837e8 100644
> --- a/arch/x86/kvm/vmx/ops.h
> +++ b/arch/x86/kvm/vmx/ops.h
> @@ -10,8 +10,6 @@
>  #include "evmcs.h"
>  #include "vmcs.h"
>  
> -#define __ex(x) __kvm_handle_fault_on_reboot(x)
> -
>  asmlinkage void vmread_error(unsigned long field, bool fault);
>  __attribute__((regparm(0))) void vmread_error_trampoline(unsigned long field,
>  							 bool fault);
> -- 
> 2.25.4
>
Uros Bizjak May 8, 2020, 6:14 p.m. UTC | #2
On Fri, May 8, 2020 at 7:57 PM Sean Christopherson
<sean.j.christopherson@intel.com> wrote:
>
> On Fri, May 08, 2020 at 08:27:53AM +0200, Uros Bizjak wrote:
> > Move the definition of __ex to a common include to be
> > shared between VMX and SVM.
> >
> > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
> > ---
> >  arch/x86/include/asm/kvm_host.h | 2 ++
> >  arch/x86/kvm/svm/svm.c          | 2 --
> >  arch/x86/kvm/vmx/ops.h          | 2 --
> >  3 files changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> > index 35a915787559..4df0c07b0a62 100644
> > --- a/arch/x86/include/asm/kvm_host.h
> > +++ b/arch/x86/include/asm/kvm_host.h
> > @@ -1620,6 +1620,8 @@ asmlinkage void kvm_spurious_fault(void);
> >       "668: \n\t"                                                     \
> >       _ASM_EXTABLE(666b, 667b)
> >
> > +#define __ex(x) __kvm_handle_fault_on_reboot(x)
>
> Moving this to asm/kvm_host.h is a bit sketchy as __ex() isn't exactly the
> most unique name.  arch/x86/kvm/x86.h would probably be a better
> destination as it's "private".  __ex() is only used in vmx.c, nested.c and
> svm.c, all of which already include x86.h.

I have put this define nearby __kvm_handle_fault_on_reboot, as __ex is
its sole user.

OTOH, it looks that __kvm_handle_fault_on_reboot definition and
kvm_spurious_fault prototype can both  be moved to x86.h.

Uros.
diff mbox series

Patch

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 35a915787559..4df0c07b0a62 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1620,6 +1620,8 @@  asmlinkage void kvm_spurious_fault(void);
 	"668: \n\t"							\
 	_ASM_EXTABLE(666b, 667b)
 
+#define __ex(x) __kvm_handle_fault_on_reboot(x)
+
 #define KVM_ARCH_WANT_MMU_NOTIFIER
 int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end);
 int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end);
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 57fdd752d2bb..9ea0a69d7fee 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -42,8 +42,6 @@ 
 
 #include "svm.h"
 
-#define __ex(x) __kvm_handle_fault_on_reboot(x)
-
 MODULE_AUTHOR("Qumranet");
 MODULE_LICENSE("GPL");
 
diff --git a/arch/x86/kvm/vmx/ops.h b/arch/x86/kvm/vmx/ops.h
index 5f1ac002b4b6..3cec799837e8 100644
--- a/arch/x86/kvm/vmx/ops.h
+++ b/arch/x86/kvm/vmx/ops.h
@@ -10,8 +10,6 @@ 
 #include "evmcs.h"
 #include "vmcs.h"
 
-#define __ex(x) __kvm_handle_fault_on_reboot(x)
-
 asmlinkage void vmread_error(unsigned long field, bool fault);
 __attribute__((regparm(0))) void vmread_error_trampoline(unsigned long field,
 							 bool fault);