Bug 505071 - ppc failed to boot
ppc failed to boot
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
All Linux
low Severity high
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
Depends On:
Blocks: F12Alpha/F12AlphaBlocker
  Show dependency treegraph
Reported: 2009-06-10 11:23 EDT by Roman Rakus
Modified: 2014-01-12 19:09 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-08-01 11:12:05 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Roman Rakus 2009-06-10 11:23:25 EDT
Description of problem:
iBook G4 (ppc) failed to boot

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
Actual results:
Oops and kernel panic

Expected results:
No kernel panic (and no Oops :) )

Additional info:
output on screen:
---[ cut here ]---
kernel BUG at arch/powerpc/kernel/setup-common.c:653!
Oops: Exception in kernel mode, sig: 5 [#1]

works with (f11)
Comment 1 Chuck Ebbert 2009-06-11 16:08:02 EDT
What does the message just before the BUG messages say about coherency?

        if (devtree_coherency != KERNEL_COHERENCY) {
                        "kernel coherency:%s != device tree_coherency:%s\n",
                        KERNEL_COHERENCY ? "on" : "off",
                        devtree_coherency ? "on" : "off");
Comment 2 Roman Rakus 2009-06-15 05:56:27 EDT
kernel coherency:off != device tree_coherency:on
Comment 3 Martin Decky 2009-07-07 09:49:17 EDT
I can confirm the same problem with kernel-2.6.31-0.38.rc1.git7.fc11.ppc on my iMac G4 (PowerPC G4 7450). On boot, the kernel fails with the message

kernel coherency:off != device tree_coherency:on

I have compiled my own kernel and switched off the option CONFIG_AMIGAONE. After booting this custom kernel everything works fine. The CONFIG_AMIGAONE triggers the CONFIG_NOT_COHERENT_CACHE option which is the root cause of the bug.

Unfortunatelly I have no clue how to have CONFIG_AMIGAONE on and still keep CONFIG_NOT_COHERENT_CACHE off in the same kernel image.
Comment 4 Kevin Fenzi 2009-07-24 01:18:52 EDT
I have a g4 here that also fails to boot with the 2.6.31 rawhide kernels... 
I don't see an oops though, just: (typed in by hand, so forgive typos): 

Hierachial RCU implementation. 
NR_IRQS: 512
mpic: Setting to MPIC " MIPC 1    " version 1.2 at 80040000, max 4 CPUs
mpic: ISE size: 64, shift: 6, mask: 3f
mpic Initializing for 64 sources 
GMT Delta read from XPARM: 0 minutes, DST: off
clocksource: timebase multi[7827fcb1 shift[22] registered
Console: colour dummy device 80x25
console handover: boot [udby01 -> real [tty0]

Moveable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 195072
Kernel command line: ro
PID hash table entries: 4096 (order: 12, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
allocated 3932160 bytes of page_cgroup 
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Memory: 733104k/786432k available (7756k kernel code, 52720k reserved, 1776k data, 6495k bss, 364k init)
kernel virtual memory layout: 
     * 0xffef000.0xfffff000   : fixmap
     * 0xff00000.0xffc000     : highmem PTSs

and it's hung. F11 kernel works fine. 
Is this likely this bug? Or something else? 
I can try a kernel without the config from comment #3 I suppose.
Comment 5 Martin Decky 2009-07-27 10:24:22 EDT
(In reply to comment #4)

It's hard to say whether this is the same/related bug or a completely different bug. To be sure, try a custom kernel with the options CONFIG_AMIGAONE and CONFIG_NOT_COHERENT_CACHE disabled. Then you can tell whether there is some relation with coherency setting.
Comment 6 Kevin Fenzi 2009-07-27 11:52:51 EDT
I tried here without those and still got the hang, so I guess I am seeing something else. ;( 
I can file a new bug on it.
Comment 7 Seppo Yli-Olli 2009-07-29 16:14:25 EDT
You know, it might also be that AmigaOne requires cache coherency to be off and iBooks require it to be on and since CONFIG_NOT_COHERENT_CACHE can only have one position without hacking on the kernel (unsure if easily done even then, theoretically could be done with having the setting overridable by kernel boot parameter), it might be impossible to support both on any one kernel. Probably a good idea to forward the bug upstream to get kernel devs' opinion on how it should be done.
Comment 8 Martin Decky 2009-07-30 09:24:44 EDT
(In reply to comment #7)

I have never said that removing the support for AmigaOne is the way to go. The support for AmigaOne was probably introduced deliberately into rawhide kernel, not by an accident. However, rendering the kernel unbootable on machines like iBook and iMac G4, where previous versions of Fedora worked perfectly, is also not a good outcome.

After examining the kernel sources I believe that the kernel can be modified to support both cache coherent and cache non-coherent machines at the same time, replacing the various "#ifdef CONFIG_NOT_COHERENT_CACHE" by run-time branching (there are only about 42 of them, plus some dependencies) with a negligible performance penalty. If nobody else has this in focus I'll try to create a patch myself later (I'm in a time pressure right now).

Another solution would be to provide two kernel packages (similarly as we have PAE and non-PAE kernels on x86).
Comment 9 Seppo Yli-Olli 2009-07-30 11:24:06 EDT
Do note that I said without hacking the kernel. Implementing run-time branching downstream definitely counts as kernel hacking. This is why I said it might be a good idea to report the bug upstream and ask if you're supposed to be able to have support for both AmigaOne and PowerPC at the same time (which would imply this is a bug that should get fixed somehow upstream, whether it be done with run-time branching or not) or if you really are supposed to have separate kernels for both (which would imply this is a feature that should be sorted out in the distro by providing two kernels). And no, I never said removing support for either is the way to go myself either.
Comment 10 Adam Williamson 2009-07-31 12:30:43 EDT
This bug was discussed at the Alpha blocker review meeting today. We tentatively agreed that this should be set as an Alpha blocker, and the appropriate strategy for the Alpha should be to disable AmigaOne support to ensure Mac hardware works OK for the Alpha release, as Mac hardware is far more prevalent.

For the final release we'd support Martin's proposed kernel code fix, if it can be cleanly implemented and upstreamed.

Setting to block f12alpha.

Fedora Bugzappers volunteer triage team
Comment 11 David Woodhouse 2009-08-01 11:10:31 EDT
Should be fixed by 2.6.31-0.118.rc5 (by disabling AMIGAONE).
Comment 12 David Woodhouse 2009-08-01 11:12:05 EDT
Closing bug for now. We never had AmigaOne support before; if people want to make it work in a general-purpose kernel we'll happily enable it when they do (at an appropriate point in the release cycle).

Note You need to log in before you can comment on or make changes to this bug.