Bug 728198 - i686.PAE kernel on iMac EFI only recognizes one core
Summary: i686.PAE kernel on iMac EFI only recognizes one core
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 16
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-08-04 11:07 UTC by Mads Kiilerich
Modified: 2013-01-10 08:21 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-08-04 17:51:24 UTC


Attachments (Terms of Use)
dmesg (54.86 KB, text/plain)
2011-08-04 11:07 UTC, Mads Kiilerich
no flags Details
dmesg from x86_64 (106.43 KB, text/plain)
2011-08-04 11:14 UTC, Mads Kiilerich
no flags Details

Description Mads Kiilerich 2011-08-04 11:07:33 UTC
Created attachment 516686 [details]
dmesg

Booting an iMac from 64 bit EFI to 32 bit kernel 3.0.0-3.fc16.i686.PAE .

I would expect it to recognize 4 cores like the 64 bit kernel does.

(Machine is working through ssh, graphic works with nomodeset and fbdev, but USB
is completely dead.)

kernel-PAE-3.0.0-3.fc16.i686

http://www.smolts.org/client/show/pub_866c4689-bf0e-4508-a518-6d90d7cc5486

Comment 1 Mads Kiilerich 2011-08-04 11:14:29 UTC
Created attachment 516688 [details]
dmesg from x86_64

For reference, information from booting the same machien to 64 bit.

http://www.smolts.org/client/show/pub_38837530-7689-4ec1-8c08-419bd1ce47b1

Comment 2 Matthew Garrett 2011-08-04 17:51:15 UTC
We only support 64-bit kernels on 64-bit EFI systems. Attempting to boot a 32-bit kernel will result in all EFI services being unavailable, which means we're unable to find the ACPI tables and so can't enumerate CPUs.

Comment 3 Mads Kiilerich 2011-08-05 19:37:28 UTC
Usually it is possible to run 32-bit Fedora on all machines - also on 64 bit machines in BIOS mode. That is very convenient for live CDs. That will no longer be possible when EFI mode is used?

I assume that 64-bit kernels thus also requires 64-bit EFI, and it will thus also not be possible to run 64-bit linux on for example Apple Mac mini machines that have a 64-bit capable Core2 CPUs but a 32-bit EFI firmware?

The Apple users choice among 32 and 64 in EFI mode do thus not have any safe choice, and the choice doesn't depend on their CPU (which they perhaps could know), but depends on their kind of EFI firmware (which isn't easy to figure out, AFAIK).

I understand that there are technical and practical constraints, but it seems like the kernels bit size in principle is independent of the EFI bit size. It would be very nice if both kernel variants supported both Mac EFI variants.


One final question, though: Is 32-bit kernels on 64-bit EFI Macs not supported at all (so much that it should issue a warning up front?), or is it just some features that might not be available?

Comment 4 Matthew Garrett 2011-08-05 19:42:56 UTC
32 bit kernels are not supported on any system running 64-bit EFI. At all. Ditto 64 bit kernels on 32-bit EFI. Calls to EFI must be made with the firmware's calling convention (ie, 64 bit on 64 bit EFI, 32 bit on 32 bit EFI) per the EFI specification.


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