Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1577671 > unrolled thread

[PATCH] KVM: x86: hide KVM_HC_CLOCK_PAIRING on 32 bit

Started byArnd Bergmann <arnd@arndb.de>
First post2017-02-09 16:20 +0100
Last post2017-02-09 16:30 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] KVM: x86: hide KVM_HC_CLOCK_PAIRING on 32 bit Arnd Bergmann <arnd@arndb.de> - 2017-02-09 16:20 +0100
    Re: [PATCH] KVM: x86: hide KVM_HC_CLOCK_PAIRING on 32 bit Paolo Bonzini <pbonzini@redhat.com> - 2017-02-09 16:30 +0100

#1577671 — [PATCH] KVM: x86: hide KVM_HC_CLOCK_PAIRING on 32 bit

FromArnd Bergmann <arnd@arndb.de>
Date2017-02-09 16:20 +0100
Subject[PATCH] KVM: x86: hide KVM_HC_CLOCK_PAIRING on 32 bit
Message-ID<t8YFQ-7Mt-13@gated-at.bofh.it>
The newly added hypercall doesn't work on x86-32:

arch/x86/kvm/x86.c: In function 'kvm_pv_clock_pairing':
arch/x86/kvm/x86.c:6163:6: error: implicit declaration of function 'kvm_get_walltime_and_clockread';did you mean 'kvm_get_time_scale'? [-Werror=implicit-function-declaration]

This adds an #ifdef around it, matching the one around the related
functions that are also only implemented on 64-bit systems.

Fixes: 55dd00a73a51 ("KVM: x86: add KVM_HC_CLOCK_PAIRING hypercall")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/x86/kvm/x86.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 10e20afc3314..2bcdc88c8242 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6149,6 +6149,7 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu)
 }
 EXPORT_SYMBOL_GPL(kvm_emulate_halt);
 
+#ifdef CONFIG_X86_64
 static int kvm_pv_clock_pairing(struct kvm_vcpu *vcpu, gpa_t paddr,
 			        unsigned long clock_type)
 {
@@ -6175,6 +6176,7 @@ static int kvm_pv_clock_pairing(struct kvm_vcpu *vcpu, gpa_t paddr,
 
 	return ret;
 }
+#endif
 
 /*
  * kvm_pv_kick_cpu_op:  Kick a vcpu.
@@ -6240,9 +6242,11 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 		kvm_pv_kick_cpu_op(vcpu->kvm, a0, a1);
 		ret = 0;
 		break;
+#ifdef CONFIG_X86_64
 	case KVM_HC_CLOCK_PAIRING:
 		ret = kvm_pv_clock_pairing(vcpu, a0, a1);
 		break;
+#endif
 	default:
 		ret = -KVM_ENOSYS;
 		break;
-- 
2.9.0

[toc] | [next] | [standalone]


#1577685

FromPaolo Bonzini <pbonzini@redhat.com>
Date2017-02-09 16:30 +0100
Message-ID<t8YPw-7PX-23@gated-at.bofh.it>
In reply to#1577671

On 09/02/2017 16:10, Arnd Bergmann wrote:
> The newly added hypercall doesn't work on x86-32:
> 
> arch/x86/kvm/x86.c: In function 'kvm_pv_clock_pairing':
> arch/x86/kvm/x86.c:6163:6: error: implicit declaration of function 'kvm_get_walltime_and_clockread';did you mean 'kvm_get_time_scale'? [-Werror=implicit-function-declaration]
> 
> This adds an #ifdef around it, matching the one around the related
> functions that are also only implemented on 64-bit systems.
> 
> Fixes: 55dd00a73a51 ("KVM: x86: add KVM_HC_CLOCK_PAIRING hypercall")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/x86/kvm/x86.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 10e20afc3314..2bcdc88c8242 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -6149,6 +6149,7 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu)
>  }
>  EXPORT_SYMBOL_GPL(kvm_emulate_halt);
>  
> +#ifdef CONFIG_X86_64
>  static int kvm_pv_clock_pairing(struct kvm_vcpu *vcpu, gpa_t paddr,
>  			        unsigned long clock_type)
>  {
> @@ -6175,6 +6176,7 @@ static int kvm_pv_clock_pairing(struct kvm_vcpu *vcpu, gpa_t paddr,
>  
>  	return ret;
>  }
> +#endif
>  
>  /*
>   * kvm_pv_kick_cpu_op:  Kick a vcpu.
> @@ -6240,9 +6242,11 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
>  		kvm_pv_kick_cpu_op(vcpu->kvm, a0, a1);
>  		ret = 0;
>  		break;
> +#ifdef CONFIG_X86_64
>  	case KVM_HC_CLOCK_PAIRING:
>  		ret = kvm_pv_clock_pairing(vcpu, a0, a1);
>  		break;
> +#endif
>  	default:
>  		ret = -KVM_ENOSYS;
>  		break;
> 

Applied, thanks.

Paolo

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web