powerpc-smp kernel flavour does not boot on OldWorld G3

Bug #959959 reported by Jeremy Kerr on 2012-03-20
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Jeremy Kerr

Bug Description

Reported by Adam Conrad:

> > * which kernel version (precise) that you're trying to boot
linux-image-3.2.0-19-powerpc-smp (3.2.0-19.30) won't boot.
linux-image-3.2.0-18-powerpc (3.2.0-18.29) works just fine.

> > * more details about the machine
It's an OldWorld Beige G3 with one of the many 1GHz upgrade
boards that were popular long ago, sadly, I don't recall
which brand/model, though I suspect I'd have the same
problem booting if I dug up the original CPU and stuck it
back in.

I'm not entirely sure what more info you might want than
"OldWorld G3 Tower", but if there's something specific you'd
like me digging for, I'm all ears.

> > Any more data about where it stops booting ? Can you try making sure you
> > have udbg btext enabled in config and boot with "udb-immortal debug
> > initcall_debug" on the command line ?

Unfortunately, it boots from BootX, because I could never make quik run
on my broken OF (granted, I never tried that hard, so I'm sure it can
be done, but if it ain't broke?). The problem with booting from BootX,
though, is that there's no chance for debug output, because I just get
a slightly corrupt MacOS desktop, and then the machine hangs. It's not
getting far enough to init a framebuffer or anything shiny.

From: Benjamin Herrenschmidt <email address hidden>

BugLink: https://bugs.launchpad.net/bugs/959959

The code for "powersurge" SMP would kick in and cause a crash
at boot due to the lack of a NULL test.

Signed-off-by: Benjamin Herrenschmidt <email address hidden>
Signed-off-by: Jeremy Kerr <email address hidden>
Reported-By: Adam Conrad <email address hidden>
Tested-By: Adam Conrad <email address hidden>

Cherry-picked from upstream commit
78c5c68a4cf4329d17abfa469345ddf323d4fd62

---
 arch/powerpc/platforms/powermac/smp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
index 9b6a820..3394254 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -414,7 +414,7 @@ static struct irqaction psurge_irqaction = {

 static void __init smp_psurge_setup_cpu(int cpu_nr)
 {
- if (cpu_nr != 0)
+ if (cpu_nr != 0 || !psurge_start)
   return;

  /* reset the entry point so if we get another intr we won't

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 959959

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: precise
Jeremy Kerr (jk-ozlabs) wrote :

Not possible to run apport-collect in this situation, confirming manually.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jeremy Kerr (jk-ozlabs) wrote :

Adam reports that this patch fixes the issue. Builds are at http://people.canonical.com/~jk/powerpc-oldworld-smp/ , if anyone else would like to test.

Anca Emanuel (anca-emanuel) wrote :

On Tue, Mar 20, 2012 at 9:27 AM, Jeremy Kerr <email address hidden> wrote:
> From: Benjamin Herrenschmidt <email address hidden>
>
> BugLink: https://bugs.launchpad.net/bugs/959959
>
> The code for "powersurge" SMP would kick in and cause a crash
> at boot due to the lack of a NULL test.
>
> Signed-off-by: Benjamin Herrenschmidt <email address hidden>
> Signed-off-by: Jeremy Kerr <email address hidden>
> Reported-By: Adam Conrad <email address hidden>
> Tested-By: Adam Conrad <email address hidden>
>
> Cherry-picked from upstream commit
> 78c5c68a4cf4329d17abfa469345ddf323d4fd62
>
> ---
>  arch/powerpc/platforms/powermac/smp.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
> index 9b6a820..3394254 100644
> --- a/arch/powerpc/platforms/powermac/smp.c
> +++ b/arch/powerpc/platforms/powermac/smp.c
> @@ -414,7 +414,7 @@ static struct irqaction psurge_irqaction = {
>
>  static void __init smp_psurge_setup_cpu(int cpu_nr)
>  {
> -       if (cpu_nr != 0)
> +       if (cpu_nr != 0 || !psurge_start)
>                return;
>
>        /* reset the entry point so if we get another intr we won't
>
> --
> kernel-team mailing list
> <email address hidden>
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Why not CC: lkml ?

It is on the stable channel ? Upstream link please ?
Now you understand Greg's concerns about maintaining a stable kernel ?

Jeremy Kerr (jk-ozlabs) wrote :

Hi Anca,

> Why not CC: lkml ?

Because it's already in mainline. Refer:

 > Cherry-picked from upstream commit
 > 78c5c68a4cf4329d17abfa469345ddf323d4fd62

Cheers,

Jeremy

Applied to Precise master-next.

Thanks,
Leann

On Tue, 2012-03-20 at 15:27 +0800, Jeremy Kerr wrote:
> From: Benjamin Herrenschmidt <email address hidden>
>
> BugLink: https://bugs.launchpad.net/bugs/959959
>
> The code for "powersurge" SMP would kick in and cause a crash
> at boot due to the lack of a NULL test.
>
> Signed-off-by: Benjamin Herrenschmidt <email address hidden>
> Signed-off-by: Jeremy Kerr <email address hidden>
> Reported-By: Adam Conrad <email address hidden>
> Tested-By: Adam Conrad <email address hidden>
>
> Cherry-picked from upstream commit
> 78c5c68a4cf4329d17abfa469345ddf323d4fd62
>
> ---
> arch/powerpc/platforms/powermac/smp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
> index 9b6a820..3394254 100644
> --- a/arch/powerpc/platforms/powermac/smp.c
> +++ b/arch/powerpc/platforms/powermac/smp.c
> @@ -414,7 +414,7 @@ static struct irqaction psurge_irqaction = {
>
> static void __init smp_psurge_setup_cpu(int cpu_nr)
> {
> - if (cpu_nr != 0)
> + if (cpu_nr != 0 || !psurge_start)
> return;
>
> /* reset the entry point so if we get another intr we won't
>

Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.2.0-19.31

---------------
linux (3.2.0-19.31) precise; urgency=low

  [ Stefan Bader ]

  * d-i: Add dm-multipath and scsi device handlers
    - LP: #959749
  * d-i: Move multipath modules into their own udeb
    - LP: #598251, #959749

  [ Tim Gardner ]

  * [Config] Auto-detect do_tools setting
  * [Config] correctly specify CROSS_COMPILE for tools build
  * [Config] CONFIG_DRM_PSB_CDV=n
  * Rebase to v3.2.12

  [ Upstream Kernel Changes ]

  * powerpc/pmac: Fix SMP kernels on pre-core99 UP machines
    - LP: #959959
  * rebase to v3.2.12
 -- Leann Ogasawara <email address hidden> Tue, 20 Mar 2012 09:11:26 -0700

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers