Recently I've been trying to make my hackintosh as Mac-like as possible. One thing that always bugged me was the OSX would detect my CPU as Unknown, even though I had an Intel processor. There are several "hacks" out there on the web that tell you to edit the About This Mac strings or the System Profiler strings, however, these are purely cosmetic, the actual operating system still thinks your CPU is Unknown. Proof of this is the Microsoft Silverlight installer. Without hacking the installer, the installer will not detect your CPU and will fail to install. This cures such problems by injecting a "cpu-type" into IORegistry.
The geeky stuff: I originally did this by adapting the NVinject source and injecting values into the IORegistry. The exact value is a property called "cpu-type" under "IOService:/AppleACPIPlatformExpert/cpus". From my research, I believed this can actually be done by injecting values into the SMBIOS, so I went ahead and modified the Chameleon RC3 bootloader. This is done by patching a "ProcessorType" SMWORD into Table Structure 131, OSX picks up on this value and automatically inserts it into the IORegistry. See: http://opensource.ap...AppleSMBIOS.cpp for details (search for cpuType and cpu-type)
The PC_EFI 10.4 bootloader by netkas now INCLUDES THIS PATCH. Future versions of Chameleon will also include this patch
CHECK HERE TO GET PC_EFI 10.4 (with included CPU detection)
OK, so you've got it installed. Great. Theoretically, with the auto-detection I provided, OSX should now detect your CPU (only works for Core 2 Solo/Duo, Core i7/i5 and Core 2 Quad/Quad Exteme).
The autodetection algorithm works as follows:
If you have 4 cores or more (Core i7/Core i5/Core2 Quads), the bootloader will inject a "Quad-Core Intel Xeon" cpu-type
If you have 2 cores, the bootloader will inject a "Intel Core 2 Duo" cpu-type
If you have 1 core, the bootloader will inject a "Intel Core 2 Solo" cpu-type
If you don't meet the above conditions, the default type is "Intel Core 2 Duo".
Keep in mind that Chameleon/PC_EFI sometimes fails to detect your number of cores. In this case, the default "Core 2 Duo" will be injected. If this happens and you have a Core 2 Quad/i7/i5 your CPU will still show as UNKNOWN.
You can however, attempt to manually specify your CPU type by editing smbios.plist. Here is what you should put in for each CPU:
Core 2 Quad & Quad Extreme & Core i7 & Core i5:
<key>SMcputype</key>
<string>1281</string>
Core 2 Duo:
<key>SMcputype</key>
<string>769</string>
Core 2 Solo:
<key>SMcputype</key>
<string>257</string>
There are other values available for a Core (1) Solo and Core (1) Duo, however I do not know the values as these CPUs are rare and I don't have an ioreg output from them. Processors that Apple do not support (i.e. Pentium 4, AMD, Pentium D) are NOT SUPPORTED
IF you have a Core i7 or Core i5 you can get System Profiler to show your Interconnect Speed. This is done by editing your smbios.plist with an additional value (not this is not injected automatically at boot):
<key>SMbusspeed</key>
<string>4800</string>
Where 4800 will show 4.8GT/s, your interconnect speed (or something like that). If you use the value 0, your Inter Connect speed will show up as Bus Speed. If you have a Core 2 Duo or Quad...and you have this value in your smbios.plist, you should either remove it or set it to 0.
OK, I think that'll do it. Try it out, have fun
There is an old kext injector that I used to test this. However, it is now unsupported. The only reason to use this kext injector is if you use a different bootloader, such as BootThink. See details below:
----------------------OLD KEXT INFORMATION----------------------
To get this to work you will need to modify the Info.plist inside the kext.
You will need to open/edit Info.plist and look for the following block
<key>entriesToAdd</key>
<dict>
<key>cpu-type</key>
<data>AQU=</data>
</dict>
You need to modify the text in between the <data></data> tags depending on which processor you have.
These values are as follows (The table is incomplete, they might not work, please experiment)
CPU String <data></data> Intel Core 2 Solo AQE= Intel Core 2 Duo AQM= Intel Core 2 Quad AQU= Intel Core 2 Quad Extreme AQU= Intel Core i7 AQU= Intel Core i5 AQU=
If you have a Core i7 or Core i5 machine..you can also add:
<key>interconnect-speed</key>
<data>gA6kXQEAAAA=</data>
This will show the Interconnect Speed in System Profiler.
Examples:
Core2 Duo CPUs
<dict>
<key>cpu-type</key>
<data>AQM=</data>
</dict>
Core2 Quad/Quad Extreme CPUs (Will show as Quad Core Xeon, Apple don't sell Core2 Quad CPUs!)
<dict>
<key>cpu-type</key>
<data>AQU=</data>
</dict>
Core i5/i7 CPUs (Will show as Quad Core Xeon, Apple don't sell i7 CPUs!)
<dict>
<key>cpu-type</key>
<data>AQU=</data>
<key>interconnect-speed</key>
<data>gA6kXQEAAAA=</data>
</dict>
Core 2 Solo CPUs
<dict>
<key>cpu-type</key>
<data>AQE=</data>
</dict>
DOWNLOAD 1.1
SOURCE 1.1
PROOF PIC



Sign In
Create Account











