[Hardy] Regression: missing CONFIG_BLK_DEV_IDEDMA_PMAC in config makes kernel unusable on apple mac mini

Bug #185862 reported by Herbert V. Riedel
8
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Ubuntu PowerPC Architecture Team
Nominated for Hardy by Herbert V. Riedel

Bug Description

Binary package hint: linux-source-2.6.24

the following kernel

ii linux-image-2.6.24-4-powerpc 2.6.24-4.7 Linux kernel image for version 2.6.24 on 32-bit PowerPC

is rather unusable on my mac mini (and possibly also powerbook and ibook, as they share the same ide controller family), since it doesn't detect the

0002:20:0d.0 Class ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100
        Flags: bus master, medium devsel, latency 32, IRQ 39
        Memory at f5004000 (32-bit, non-prefetchable) [size=16K]

IDE controller... and thus initrd isn't able to mount any root fs :-(

after some debugging I noticed that it's most likely due to the ide driver not having support for the ide chipset:

grep 'IDE.*_PMAC' /boot/config-2.6.24-4-powerpc
(none found)

vs. (kernel of feisty where ide works)

grep 'IDE.*_PMAC' /boot/config-2.6.22-14-powerpc
CONFIG_BLK_DEV_IDEDMA_PMAC=y
CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y

Tags: bitesize
Changed in linux:
assignee: nobody → ubuntu-powerpc
importance: Undecided → Medium
status: New → Triaged
Tim Gardner (timg-tpi)
Changed in linux:
milestone: none → hardy-alpha-4
status: Triaged → Fix Committed
Revision history for this message
sam tygier (samtygier) wrote :

maybe this fixes Bug #183338 and Bug #179427

Revision history for this message
José Aliste (jose-aliste) wrote :

This is same bug as #183338. As noted by Sam in #183338 just adding the lines to the config and recompiling does NOT help!!!

Revision history for this message
digger vermont (digver) wrote :

Same problem on my powerbook with a different controller than the MacMini above.

0002:24:0b.0 Host bridge [0600]: Apple Computer Inc. UniNorth 1.5 Internal PCI [106b:002f]
 Flags: bus master, 66MHz, medium devsel, latency 16

ii linux-image-2.6.24-5-powerpc 2.6.24-5.8 Linux kernel image for version 2.6.24 on 32-
ii linux-image-2.6.24-5-powerpc-smp 2.6.24-5.8 Linux kernel image for version 2.6.24 on 32-
ii linux-image-powerpc 2.6.24.5.6 Linux kernel image on PowerPC.
ii linux-image-powerpc-smp 2.6.24.5.6 Linux kernel image on PowerPC SMP.

cat /proc/cpuinfo
processor : 0
cpu : 7455, altivec supported
clock : 667.000000MHz
revision : 0.1 (pvr 8001 0201)
bogomips : 66.56

total bogomips : 66.56
timebase : 33331265
platform : PowerMac
machine : PowerBook3,4
motherboard : PowerBook3,4 MacRISC2 MacRISC Power Macintosh
detected as : 73 (PowerBook Titanium III)
pmac flags : 0000001b
L2 cache : 256K unified
pmac-generation : NewWorld

Revision history for this message
fuoco (fuoco2-deactivatedaccount) wrote :

OK, I compiled successfully a kernel from the hardy package, with the missing:
CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y
and so far it seems to work well, haven't noticed other problems too, but haven't tested extensively.
Somebody tried that already and reported it doesn't help - I understand you just added the lines to .config - that usually shouldn't be done manually but through a config frontend (menuconfig...). The thing is that these three configs depend on CONFIG_BLK_DEV_IDE=y - it must be compiled in kernel and not as module - as it is currently in ubuntu - That's why the PMAC options don't exist. Why this is so I have no idea - but once it's compiled in and PMAC can be selected it works OK.
Would be good now to advance the fix of this problem - and if more people can get the grip on a manually compiled kernel in the meanwhile we can test it to see there are no other regressions :)

Revision history for this message
Herbert V. Riedel (hvr) wrote :

I'm eagerly awaiting for a new kernel to appear in the ubuntu ports including the aluded 'fix committed' that shows in the status of this bug... it makes the powerpc ubuntu port rather unusable if one doesn't happen to be able to replace the kernel...

btw, a non-module CONFIG_BLK_DEV_IDE=y wasn't necessary in ubuntu's 2.6.22...

I checked the kernel repository, seems the following patchset is to blame:

commit 6c28c1f59dce3325d373f44766e23eb4237a74c8
Author: Tony Breeds <email address hidden>
Date: Tue Sep 11 22:28:36 2007 +0200

    pmac: build fix

    Ensure that BLK_DEV_IDE is built-in before allowing BLK_DEV_IDE_PMAC to
    be selected.

    Signed-off-by: Tony Breeds <email address hidden>
    Cc: Bret Towe <email address hidden>
    Signed-off-by: Bartlomiej Zolnierkiewicz <email address hidden>

Revision history for this message
docsnyderchristoph (docsnyderchristoph) wrote :

this goes to the prelast comment of fuoco:
i would like to test your way of manually compiling the kernel 2.6.24.5 for my ibook g4 since i got the same errors as reported.

(1) could you please post the additional steps for getting the CONFIG_BLK_DEV_IDE=y option compiled in the kernel and not loaded as a module?
(i haven't done any manually kernel compiling)

(2) and is then an editing of the config files adding
CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y
still necessary?

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (52.1 KiB)

This bug was fixed in the package linux - 2.6.24-6.10

---------------
linux (2.6.24-6.10) hardy; urgency=low

  [Alessio Igor Bogani]

  * rt: Synced with upstream, removed old kvm related patches and updated
    configurations files.

  [Chuck Short]

  * SAUCE: Enable Xen

  [Soren Hansen]

  * Update kvm driver to kvm-60.
  * Added CONFIG_ARCH_SUPPORTS_KVM=y for lpia, i386, and amd64
  * Add rtl8139 driver to -virtual flavour

  [Stefan Bader]

  * Fix usb_serial_driver structure for Kobil cardreader driver.
    - LP: #183109
  * Lower warning level of pci resource allocation messages.
    - LP: #159241

  [Tim Gardner]

  * Enabled CONFIG_BLK_DEV_IDE_PMAC
    - LP: #185862
  * Add virtio config options to lpiacompat.
  * SAUCE: Export symbols for aufs (in lum).
  * Enabled Xen

  [Upstream Kernel Changes]

  * KVM: mmu: add missing dirty page tracking cases
  * KVM: Move virtualization deactivation from CPU_DEAD state to
    CPU_DOWN_PREPARE
  * KVM: Cosmetics
  * KVM: vmx: hack set_cr0_no_modeswitch() to actually do modeswitch
  * KVM: Use ARRAY_SIZE macro instead of manual calculation.
  * KVM: Use page_private()/set_page_private() apis
  * KVM: add MSR based hypercall API
  * KVM: Add host hypercall support for vmx
  * KVM: Add hypercall host support for svm
  * KVM: Wire up hypercall handlers to a central arch-independent location
  * KVM: svm: init cr0 with the wp bit set
  * KVM: SVM: intercept SMI to handle it at host level
  * KVM: More 0 -> NULL conversions
  * kvm, dirty pages log: adding some calls to mark_page_dirty()
  * KVM: Add internal filesystem for generating inodes
  * KVM: Create an inode per virtual machine
  * KVM: Rename some kvm_dev_ioctl_*() functions to kvm_vm_ioctl_*()
  * KVM: Move kvm_vm_ioctl_create_vcpu() around
  * KVM: Per-vcpu inodes
  * KVM: Bump API version
  * .gitignore: ignore emacs backup files (*~)
  * kvm: dirty pages log: fix bitmap size/access calculation
  * kvm: move do_remove_write_access() up
  * kvm: dirty page logging: remove write access permissions when
    dirty-page-logging is enabled
  * KVM: Add missing calls to mark_page_dirty()
  * KVM: Fix dirty page log bitmap size/access calculation
  * kvm: move do_remove_write_access() up
  * KVM: Remove write access permissions when dirty-page-logging is enabled
  * KVM: Fix bogus failure in kvm.ko module initialization
  * KVM: Move kvmfs magic number to <linux/magic.h>
  * KVM: Unset kvm_arch_ops if arch module loading failed
  * KVM: Fix guest register corruption on paravirt hypercall
  * KVM: Use the generic skip_emulated_instruction() in hypercall code
  * KVM: Use own minor number
  * KVM: Fix guest sysenter on vmx
  * KVM: Export <linux/kvm.h>
  * KVM: Fix bogus sign extension in mmu mapping audit
  * KVM: MMU: Fix guest writes to nonpae pde
  * KVM: MMU: Fix host memory corruption on i386 with >= 4GB ram
  * KVM: trivial whitespace fixes
  * KVM: always reload segment selectors
  * KVM: Remove extraneous guest entry on mmio read
  * added KVM_GET_MEM_MAP ioctl to get the memory bitmap for a memory slot
  * KVM: Prevent system selectors leaking into guest on real->protected
    mode transition on vmx
  * KVM: Use a shared page for ker...

Changed in linux:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.