All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: "Jörg Sommer" <joerg@alea.gnuu.de>
Cc: Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	kvm list <kvm@vger.kernel.org>,
	kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Current kernel fails to compile with KVM on PowerPC
Date: Sat, 24 Dec 2011 18:05:21 +0100	[thread overview]
Message-ID: <C40CA3A1-2397-423B-96B3-CBEE4EA7EA30@suse.de> (raw)
In-Reply-To: <20111224111359.GB3938@alea.gnuu.de>


On 24.12.2011, at 12:13, Jörg Sommer wrote:

> 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 <joerg@alea.gnuu.de>
> 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 <joerg@alea.gnuu.de>
> 
> 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) {


I was actually thinking of:

commit dfc209648daf8ba4197e71376b76c95fd26fd272
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Tue Nov 8 07:17:39 2011 +0000

    KVM: PPC: protect use of kvmppc_h_pr
    
    kvmppc_h_pr is only available if CONFIG_KVM_BOOK3S_64_PR.
    
    Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
    Signed-off-by: Alexander Graf <agraf@suse.de>

diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index 72559b0..aaefe19 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -660,10 +660,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) {

But yes :). I guess we need to make sure this commit also lands in 3.2 :(.


Alex


WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: "Jörg Sommer" <joerg@alea.gnuu.de>
Cc: Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	kvm list <kvm@vger.kernel.org>,
	kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Current kernel fails to compile with KVM on PowerPC
Date: Sat, 24 Dec 2011 17:05:21 +0000	[thread overview]
Message-ID: <C40CA3A1-2397-423B-96B3-CBEE4EA7EA30@suse.de> (raw)
In-Reply-To: <20111224111359.GB3938@alea.gnuu.de>


On 24.12.2011, at 12:13, Jörg Sommer wrote:

> 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 <joerg@alea.gnuu.de>
> 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 <joerg@alea.gnuu.de>
> 
> 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) {


I was actually thinking of:

commit dfc209648daf8ba4197e71376b76c95fd26fd272
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Tue Nov 8 07:17:39 2011 +0000

    KVM: PPC: protect use of kvmppc_h_pr
    
    kvmppc_h_pr is only available if CONFIG_KVM_BOOK3S_64_PR.
    
    Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
    Signed-off-by: Alexander Graf <agraf@suse.de>

diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index 72559b0..aaefe19 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -660,10 +660,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) {

But yes :). I guess we need to make sure this commit also lands in 3.2 :(.


Alex


  reply	other threads:[~2011-12-24 17:05 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-07 19:48 Current kernel fails to compile with KVM on PowerPC Jörg Sommer
2011-11-07 19:48 ` Jörg Sommer
2011-11-07 20:16 ` Avi Kivity
2011-11-07 20:16   ` Avi Kivity
2011-11-07 20:43   ` Alexander Graf
2011-11-07 20:43     ` Alexander Graf
2011-11-22 20:04 ` Jörg Sommer
2011-11-22 20:04   ` Jörg Sommer
2011-11-22 21:29   ` Alexander Graf
2011-11-22 21:29     ` Alexander Graf
2011-12-11 15:16     ` Jörg Sommer
2011-12-11 15:16       ` Jörg Sommer
2011-12-12  7:26       ` Alexander Graf
2011-12-12  7:26         ` Alexander Graf
2012-02-20 17:38     ` Jörg Sommer
2012-02-20 17:38       ` Jörg Sommer
2012-02-20 21:27       ` Alexander Graf
2012-02-20 21:27         ` Alexander Graf
2012-02-21  8:32         ` Jörg Sommer
2012-02-21  8:32           ` Jörg Sommer
2012-02-25 14:51           ` Jörg Sommer
2012-02-25 14:51             ` Jörg Sommer
2012-02-26  0:06             ` Jörg Sommer
2012-02-26  0:06               ` Jörg Sommer
2012-02-26 23:54               ` Alexander Graf
2012-02-26 23:54                 ` Alexander Graf
2012-02-26 11:43             ` Alexander Graf
2012-02-26 11:43               ` Alexander Graf
2012-02-27  0:08               ` Jörg Sommer
2012-02-27  0:08                 ` Jörg Sommer
2012-02-27  0:30                 ` Alexander Graf
2012-02-27  0:30                   ` Alexander Graf
2012-02-27 11:31                   ` Jörg Sommer
2012-02-27 11:31                     ` Jörg Sommer
2011-12-20 20:27 ` Jörg Sommer
2011-12-20 20:27   ` Jörg Sommer
2011-12-23 13:50   ` Alexander Graf
2011-12-23 13:50     ` Alexander Graf
2011-12-24 10:31     ` Jörg Sommer
2011-12-24 10:31       ` Jörg Sommer
2011-12-24 11:13       ` Jörg Sommer
2011-12-24 11:13         ` Jörg Sommer
2011-12-24 17:05         ` Alexander Graf [this message]
2011-12-24 17:05           ` Alexander Graf
2011-12-25  9:38           ` Avi Kivity
2011-12-25  9:38             ` Avi Kivity
2011-12-25 11:01           ` Jörg Sommer
2011-12-25 11:01             ` Jörg Sommer
2011-12-26 14:18             ` Alexander Graf
2011-12-26 14:18               ` Alexander Graf
2011-12-24 10:59     ` Jörg Sommer
2011-12-24 10:59       ` Jörg Sommer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C40CA3A1-2397-423B-96B3-CBEE4EA7EA30@suse.de \
    --to=agraf@suse.de \
    --cc=avi@redhat.com \
    --cc=joerg@alea.gnuu.de \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.