Bug 728198

Summary: i686.PAE kernel on iMac EFI only recognizes one core
Product: [Fedora] Fedora Reporter: Mads Kiilerich <mads>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: aquini, gansalmon, itamar, jfeeney, jonathan, kernel-maint, madhu.chinakonda, the.ridikulus.rat
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-04 17:51:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmesg
none
dmesg from x86_64 none

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.