View Single Post
 
Old 07-27-2012, 01:31 PM
R:A:W:X86's Avatar
R:A:W:X86 R:A:W:X86 is offline
 
Join Date: Mar 2012
Location: Germany
Posts: 95
Quote:
Originally Posted by The Connactic View Post
Seriously, one question: your kernel is i386, as you said before, since it's based on anterior patched kernels (AndyVand, Bronzovka) that are all i386. But the original vanilla kernel - correct me if i'm wrong, please, here i'm way beyond my field of knowledge - is x64_86, right?
Nope.
The Vanilla Kernel in 10.6 & 10.7 is a fat binary that contains an i386 and a x86_64 Kernel.

On a real Mac it i.a. depends on wether the Firmware is 32 or 64-Bit what can Kernel is / can be loaded.

The i386 Kernel still allows running 64-Bit applications, in case of a compatible CPU.
Support for non-64-Bit CPUs has been dropped in 10.7 (even from the 32-Bit Kernel), though it is reimplemented in the patched Kernel, as this "compatibilty / legacy mode" is currently the only way to boot 10.7 using non-SSSE3 CPUs (all old AMD).

In 10.8 the Kernel is 64-Bit only, so even Intel Macs with 64-Bit compatible CPU, but 32-Bit Firmware are dropped from support.

As for 10.7 it is rather unimportant wether you are booting i386 or x86_64 Kernel (speaking for owners of fully compatible / SSSE3 capable CPUs) - it does not have influence on the applications you are running - most likely it will only matter for you in case you have some 3rd party Kernel Extensions, i.e. printer drivers that are either i386 or x86_64 only.

Quote:
So why is not possible to build a AMD_64 kernel based on x64_86?
Why the patched ones seemingly have to be 32-bit? Or did Apple release a dumbed-down kernel as open source? Thank you in advance.
Well it is possible to build the x86_64 Kernel from the patched source code.
But for some reason it does instant reboot on AMD setups, while it works on my Vanilla capable machines.

The latest 10.6.8 Kernel are the same - most AMD people encounter either instant reboot or AppleACPIPlatform.kext Panic when attempting to boot the x86_64 Kernel.

If someone is curious to try it himself, here is an universal build of the latest Kernel patch - use arch= flag to advice the Kernel you want to boot.

Quote:
Originally Posted by The Connactic View Post
Another one: is there any public knowledge base provided by AMD, where one can look for especifications of, say, Bulldozer CPUs and how low-level and higher-level programming should be projected for them?
Well the AMD Developer Central contains some documentation, but it ain't that up-to-date as desireable...

Quote:
That long set of hex numbers, are them assembly code? If yes, are they the original assembly code of vanilla (therefore, intel assembly)?
Those are copyspace for binary injection of an autpatching dyld and a SSE3 emulator.
I don't see a reason to look into the rebasement of dyld (the released source code is incomplete), as 32-Bit Apps are working just fine by binary patching of sysenter traps - there is not any software left that peforms CPUID checks in -legacy mode either.
Injection of a SSE3 emulator is also pretty unimportant (for obvious reasons I think ), but the methods of Kernel integration could be modified, in case someone could write an SSSE3 emualtor that works the same style as the old SSE3 one...

AMD FX 4100
MSI 760GM-P23
Radeon HD6570
OS X Lion Retail 10.7.5
Lion Kernel Project

Last edited by R:A:W:X86; 07-27-2012 at 01:34 PM.
Reply With Quote