Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753385Ab2B0AbD (ORCPT ); Sun, 26 Feb 2012 19:31:03 -0500 Received: from cantor2.suse.de ([195.135.220.15]:38014 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752381Ab2B0AbB convert rfc822-to-8bit (ORCPT ); Sun, 26 Feb 2012 19:31:01 -0500 Subject: Re: Current kernel fails to compile with KVM on PowerPC Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=windows-1252 From: Alexander Graf In-Reply-To: <20120227000847.GA30855@alea.gnuu.de> Date: Mon, 27 Feb 2012 01:30:59 +0100 Cc: Avi Kivity , Marcelo Tosatti , kvm list , kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8BIT Message-Id: References: <20111107194838.GA23558@alea.gnuu.de> <20111122200414.GA28205@alea.gnuu.de> <20120220173844.GA2546@alea.gnuu.de> <8F6910F4-7F2E-44FE-B0C2-1A2FF95888D2@suse.de> <20120221083213.GA19059@alea.gnuu.de> <20120225145115.GB22460@alea.gnuu.de> <3E36BEF4-E15F-410A-82C1-A8EB17AEF0DA@suse.de> <20120227000847.GA30855@alea.gnuu.de> To: =?iso-8859-1?Q?J=F6rg_Sommer?= X-Mailer: Apple Mail (2.1257) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3021 Lines: 66 On 27.02.2012, at 01:08, J?rg Sommer wrote: > 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! Ah, because you can't get_user u64s I suppose. Sigh. As a quick hack, just comment out the get/put_user lines - you don't care about configuring HIOR on ppc32 anyways. I'll try to come up with something :) Alex -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/