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
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
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.
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?
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.