lkml.org 
[lkml]   [2012]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Current kernel fails to compile with KVM on PowerPC
Alexander Graf hat am Sun 26. Feb, 12:43 (+0100) geschrieben:
> On 25.02.2012, at 15:51, Jörg Sommer wrote:
> > Jörg Sommer hat am Tue 21. Feb, 09:32 (+0100) geschrieben:
> >> Alexander Graf hat am Mon 20. Feb, 22:27 (+0100) geschrieben:
> >>> On 20.02.2012, at 18:38, Jörg Sommer wrote:
> >>>> Alexander Graf hat am Tue 22. Nov, 22:29 (+0100) geschrieben:
> >>>>> On 22.11.2011, at 21:04, Jörg Sommer wrote:
> >>>>>> [1] »kernel BUG at include/linux/kvm_host.h:603!«
> >>>>>> http://www.mail-archive.com/kvm@vger.kernel.org/msg61433.html
> >>>>>
> >>>>> This is unfortunately still there. It's because of preemption being
> >>>>> enabled. Please just use CONFIG_PREEMPT_NONE for the time being
> >>>>
> >>>> This doesn't help. I've build with CONFIG_PREEMPT_NONE, but I'm getting
> >>>> this Oops, when I start qemu.
> >>>
> >>> Could you please try git://git.kernel.org/pub/scm/virt/kvm/kvm.git? I
> >>> fixed a bunch of things with preemption since then and it definitely
> >>> worked for me. If it still fails in that tree, I can try again to
> >>> reproduce it :).
> >>
> >> This kernel (e9badff4b38a3f8b2c20aa8a30db210caf85a497) fails to build:
> >>
> >> CC [M] arch/powerpc/kvm/book3s_pr.o
> >> arch/powerpc/kvm/book3s_pr.c: In function ‘kvm_vcpu_ioctl_get_one_reg’:
> >> arch/powerpc/kvm/book3s_pr.c:883:45: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> >> arch/powerpc/kvm/book3s_pr.c:883:80: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]

> Yikes. Does this patch work for you?

> diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
> index ee222ec..f329eae 100644
> --- a/arch/powerpc/kvm/book3s_pr.c
> +++ b/arch/powerpc/kvm/book3s_pr.c
> @@ -880,7 +880,8 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
>
> switch (reg->id) {
> case KVM_REG_PPC_HIOR:
> - r = put_user(to_book3s(vcpu)->hior, (u64 __user *)reg->addr);
> + r = put_user(to_book3s(vcpu)->hior,
> + (u64 __user *)(long)reg->addr);

Yes and no. It brings me a step further, but not to a working kernel.

CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CC [M] arch/powerpc/kvm/book3s_pr.o
LD [M] arch/powerpc/kvm/kvm.o
Building modules, stage 2.
MODPOST 227 modules
ERROR: "__get_user_bad" [arch/powerpc/kvm/kvm.ko] undefined!
make[1]: *** [__modpost] Fehler 1
make: *** [modules] Fehler 2
--
Der Wille und nicht die Gabe macht den Geber.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2012-02-27 01:19    [W:0.069 / U:0.568 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site