R C-R wrote:
Now, please, tell us: what x86_64, i386 and ppc means?
It means the file mach_kernel is a "universal" (multi-architecture) file, supporting those three architectures. (See the
Manual Page For arch(3) for a list of all currently known architectures & the
Manual Page For arch(1) for more about universal binaries in general.)
Correct. So before you basically wrote that XNU is not just the architecture it runs on. What was the need to stress such a trivial thing?
And best of all... what did I just type?
Something that in no way contradicts the fact that XNU is not just the mach_kernel file?
And who here has ever said that, or even worse that XNU is just K32 or K64 (which makes no sense at all as a definition)? It has been said that mach_kernel is the
core of the kernel. Which is correct:
http://en.wikipedia.org/wiki/Xnu#Mach :
Mach
The core of the XNU kernel, Mach, [...]
If I remember correctly you denied this as well. Also it is the one that once we'll be able to run with the x86_64 architecture (present in SL only) will make the whole XNU running in 64 bit mode. This mode will discard all 32 bits device drivers because the stupid I/O Kit, which is JUST a framework, doesn't have a definition for having the 64 bits core kernel interfacing with device drivers (aka kernel extensions or kext) that are not 64 bits.
Which is what people asking for the 64 bits kernel have said since the beginning of this discussion, and I still don't understand what's to argue about that. As soon as the x86_64 arch of mach_kernel loads and takes control, the kernel will be at 64 bits. 32 bits kext will be ignored. If 64 bits kext for all I/O devices are present the Mac will be fully functional (unless of bugs in the device drivers, sure), otherwise some devices will be like "turned off" (I can't think now a better English term. Sorry if English is my second language). Which is what happens to some devices in hackintoshes that are not compatible.
That works, and it has been proved all over the Internet, for ALL Macs with EFI64. I admit that it may be impossible *right now* for Macs with EFI32 to execute the x86_64 arch of mach_kernel for the simple reason that mach_kernel may not be able to "suck in" the device tree from EFI32 (via boot.efi? That is the one still obscure to. Now if yoy have the answer I'll be grateful), producing a kernel panic.
That's why the only way to perform such task could be to have an extra 64 bits layer for the EFI that takes the device tree from EFI32 and passes it to mach_kernel, in the same exact way the hackintoshes via PC EFI cheat the kernel making it thinking that the BIOS (even the 32 bits ones) is instead an EFI64 (also it pretends to be a Mac not in the black list and force the boot option to be x86_64). Netkas claimed that PCEFI should work for EFI32 Macs as well, but I'm pretty sure that it doesn't. After all PCEFI is made for BIOS machines. Making it running over EFI may simply be not compatible with the program.
I would be glad if you explain what doesn't make sense in all of the above and why. I also would be glad to understand why there are BIOS machines with GMA 950 (netbooks) running SL at 64 bits and instead my Mac shouldn't have the hw to do the same thing.
Message was edited by: Michelasso