Re: next June 10: S390 build failure [arch/s390/kvm/kvm.ko]

From: Christian Borntraeger
Date: Sat Jun 12 2010 - 02:54:38 EST


Am Donnerstag 10 Juni 2010, 15:48:48 schrieb Martin Schwidefsky:
> On Thu, 10 Jun 2010 18:08:15 +0530
> Sachin Sant <sachinp@xxxxxxxxxx> wrote:
>
> > Today's next fails to build on a s390 box with
> >
> > ERROR: "__kvm_s390_vcpu_store_status" [arch/s390/kvm/kvm.ko] undefined!
> >
> > Yesterday's next was good.
>
> That is caused by git commit fbc5eec58e652339e9df1332cd5e10e8d8250aaf
> which fails to take git commit 5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32
> into account. There is a second caller of __kvm_s390_vcpu_store_status
> in arch/s390/kvm/intercept.c. As far as I understand the code you could
> just drop the 'static' from kvm_s390_vcpu_store_status and call it from
> handle_stop instead of the old __kvm_s390_vcpu_store_status.
>
> Carsten, Christian: could one of you have a look please?

that patch should do the trick. Avi can you add that to kvm.git?

kvm-s390: Fix build failure

This patch fixes
ERROR: "__kvm_s390_vcpu_store_status" [arch/s390/kvm/kvm.ko] undefined!

triggered by
commit 3268c56840dcee78c3e928336550f4e1861504c4 (kvm.git)
Author: Avi Kivity <avi@xxxxxxxxxx>
Date: Thu May 13 12:21:46 2010 +0300
KVM: s390: Centrally lock arch specific vcpu ioctls

Reported-by: Sachin Sant <sachinp@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>

---
arch/s390/kvm/intercept.c | 2 +-
arch/s390/kvm/kvm-s390.c | 2 +-
arch/s390/kvm/kvm-s390.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

Index: kvm/arch/s390/kvm/intercept.c
===================================================================
--- kvm.orig/arch/s390/kvm/intercept.c
+++ kvm/arch/s390/kvm/intercept.c
@@ -135,7 +135,7 @@ static int handle_stop(struct kvm_vcpu *
spin_lock_bh(&vcpu->arch.local_int.lock);
if (vcpu->arch.local_int.action_bits & ACTION_STORE_ON_STOP) {
vcpu->arch.local_int.action_bits &= ~ACTION_STORE_ON_STOP;
- rc = __kvm_s390_vcpu_store_status(vcpu,
+ rc = kvm_s390_vcpu_store_status(vcpu,
KVM_S390_STORE_STATUS_NOADDR);
if (rc >= 0)
rc = -EOPNOTSUPP;
Index: kvm/arch/s390/kvm/kvm-s390.c
===================================================================
--- kvm.orig/arch/s390/kvm/kvm-s390.c
+++ kvm/arch/s390/kvm/kvm-s390.c
@@ -569,7 +569,7 @@ static int __guestcopy(struct kvm_vcpu *
* KVM_S390_STORE_STATUS_NOADDR: -> 0x1200 on 64 bit
* KVM_S390_STORE_STATUS_PREFIXED: -> prefix
*/
-static int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr)
+int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr)
{
const unsigned char archmode = 1;
int prefix;
Index: kvm/arch/s390/kvm/kvm-s390.h
===================================================================
--- kvm.orig/arch/s390/kvm/kvm-s390.h
+++ kvm/arch/s390/kvm/kvm-s390.h
@@ -92,7 +92,7 @@ int kvm_s390_handle_b2(struct kvm_vcpu *
int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu);

/* implemented in kvm-s390.c */
-int __kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu,
+int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu,
unsigned long addr);
/* implemented in diag.c */
int kvm_s390_handle_diag(struct kvm_vcpu *vcpu);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/