From patchwork Sat Dec 24 11:13:59 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?J=C3=B6rg_Sommer?= X-Patchwork-Id: 133159 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id C4306B7192 for ; Sun, 25 Dec 2011 03:35:47 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752636Ab1LXQfL (ORCPT ); Sat, 24 Dec 2011 11:35:11 -0500 Received: from uucp.gnuu.de ([83.246.114.63]:3499 "EHLO uucp.gnuu.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752581Ab1LXQfK (ORCPT ); Sat, 24 Dec 2011 11:35:10 -0500 Received: by uucp.gnuu.de (Postfix, from userid 10) id D9527EC053; Sat, 24 Dec 2011 17:35:07 +0100 (CET) Received: from ibook.localnet ([192.168.0.5] helo=alea.gnuu.de) by alea.gnuu.de with esmtp (Exim 4.69) (envelope-from ) id 1RePZ3-0004xS-Ms; Sat, 24 Dec 2011 12:14:57 +0100 Received: from joerg by alea.gnuu.de with local (Exim 4.77) (envelope-from ) id 1RePY7-0001ZC-C9; Sat, 24 Dec 2011 12:13:59 +0100 Date: Sat, 24 Dec 2011 12:13:59 +0100 From: =?iso-8859-1?Q?J=F6rg?= Sommer To: Alexander Graf Cc: Avi Kivity , Marcelo Tosatti , kvm list , kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: Current kernel fails to compile with KVM on PowerPC Message-ID: <20111224111359.GB3938@alea.gnuu.de> References: <20111107194838.GA23558@alea.gnuu.de> <20111220202711.GD6830@alea.gnuu.de> <20111224103108.GA19586@alea.gnuu.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20111224103108.GA19586@alea.gnuu.de> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: kvm-ppc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm-ppc@vger.kernel.org Jörg Sommer hat am Sat 24. Dec, 11:31 (+0100) geschrieben: > Alexander Graf hat am Fri 23. Dec, 14:50 (+0100) geschrieben: > > On 20.12.2011, at 21:27, Jörg Sommer wrote: > > > Jörg Sommer hat am Mon 07. Nov, 20:48 (+0100) geschrieben: > > >> CHK include/linux/version.h > > >> HOSTCC scripts/mod/modpost.o > > >> CHK include/generated/utsrelease.h > > >> UPD include/generated/utsrelease.h > > >> HOSTLD scripts/mod/modpost > > >> GEN include/generated/bounds.h > > >> CC arch/powerpc/kernel/asm-offsets.s > > >> In file included from arch/powerpc/kernel/asm-offsets.c:59:0: > > >> /home/joerg/git/linux/arch/powerpc/include/asm/kvm_book3s.h: In function ‘compute_tlbie_rb’: > > >> /home/joerg/git/linux/arch/powerpc/include/asm/kvm_book3s.h:393:10: error: ‘HPTE_V_SECONDARY’ undeclared (first use in this function) > > >> /home/joerg/git/linux/arch/powerpc/include/asm/kvm_book3s.h:393:10: note: each undeclared identifier is reported only once for each function it appears in > > >> /home/joerg/git/linux/arch/powerpc/include/asm/kvm_book3s.h:396:12: error: ‘HPTE_V_1TB_SEG’ undeclared (first use in this function) > > >> /home/joerg/git/linux/arch/powerpc/include/asm/kvm_book3s.h:401:10: error: ‘HPTE_V_LARGE’ undeclared (first use in this function) > > >> /home/joerg/git/linux/arch/powerpc/include/asm/kvm_book3s.h:415:2: warning: right shift count >= width of type [enabled by default] > > >> make[3]: *** [arch/powerpc/kernel/asm-offsets.s] Fehler 1 > > >> make[2]: *** [prepare0] Fehler 2 > > >> make[1]: *** [deb-pkg] Fehler 2 > > >> make: *** [deb-pkg] Fehler 2 > > > > > > I'm so sorry to have to report a new bug in one of your patches. It was > > > covered by the one above. I've picked the commit for it from your git > > > repository and now, the kernel build fails with this error: > > > > > > BOOTCC arch/powerpc/boot/fdt_strerror.o > > > BOOTAR arch/powerpc/boot/wrapper.a > > > WRAP arch/powerpc/boot/zImage.pmac > > > WRAP arch/powerpc/boot/zImage.coff > > > ERROR: "kvmppc_h_pr" [arch/powerpc/kvm/kvm.ko] undefined! > > > make[3]: *** [__modpost] Fehler 1 > > > make[2]: *** [modules] Fehler 2 > > > make[2]: *** Warte auf noch nicht beendete Prozesse... > > > WRAP arch/powerpc/boot/zImage.miboot > > > make[1]: *** [deb-pkg] Fehler 2 > > > make: *** [deb-pkg] Fehler 2 > > > > This is odd. kvmppc_h_pr shouldn't be accessed when not in book3s_64_pr mode: > > > > #ifdef CONFIG_KVM_BOOK3S_64_PR > > if (kvmppc_h_pr(vcpu, cmd) == EMULATE_DONE) { > > r = RESUME_GUEST; > > break; > > } > > #endif Is this the change you've thought of? commit b8624f11e94dd9c2280cb01bf2ede31e4316477d Author: Jörg Sommer Date: Sat Dec 24 12:03:03 2011 +0100 KVM: PPC: Use kvmppc_h_pr only if it's available The function kvmppc_h_pr() is only available when the config option CONFIG_KVM_BOOK3S_64_PR is set, which is not the case for 32-bit PowerPCs for example. Building the kernel for these systems failed, because the symbol could not be resolved. ERROR: "kvmppc_h_pr" [arch/powerpc/kvm/kvm.ko] undefined! Signed-off-by: Jörg Sommer diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c index 4b0f01b..eddab24 100644 --- a/arch/powerpc/kvm/book3s_pr.c +++ b/arch/powerpc/kvm/book3s_pr.c @@ -677,10 +677,12 @@ program_interrupt: ulong cmd = kvmppc_get_gpr(vcpu, 3); int i; +#ifdef CONFIG_KVM_BOOK3S_64_PR if (kvmppc_h_pr(vcpu, cmd) == EMULATE_DONE) { r = RESUME_GUEST; break; } +#endif run->papr_hcall.nr = cmd; for (i = 0; i < 9; ++i) {