Jump to content

Getting Snow Leopard to recognize your CPU


227 posts in this topic

Recommended Posts

Could anyone build it for leopard please? It seems to be snow leopard only (as stated in the topic as well :wacko: )

It works on my system with my Q6600@2,40GhZ, but the frequency is still shown as 4 Ghz in System profiler and About this mac too. How can I resolve? Thanks

It works on my system with my Q6600@2,40GhZ, but the frequency is still shown as 4 Ghz in System profiler and About this mac too. How can I resolve? Thanks

 

Actually it can't load on leopard due to dependecies (com.apple.kpi.iokit 10.0 + com.apple.kpi.unsupported 10.0) :wacko:

Hi,

 

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 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 believe this can actually be done by injecting values into the SMBIOS (at least I think so), however, my few attempts at modifying Chameleon RC3 failed. If anyone from the Chameleon team is reading this, then maybe they can shed some light on the situation... If Chameleon supports injecting a "ProcessorType" SMWORD into Table Structure 131, OSX should pick up on this value and automatically insert it into the IORegistry and there would be no need for this injector. See: http://opensource.apple.com/source/AppleSM...AppleSMBIOS.cpp for details (search for cpuType and cpu-type)

 

 

 

 

But for now, here's the injector to make it all work... CPUInjector.kext

 

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>	cpu-type Hex	Comments
Intel Core Solo	??	??
Intel Core Duo	??	??
Intel Core 2 Solo	??	??
Intel Core 2 Duo	AQM=	0103	Use this for Core2 Duo CPUs
Single-Core Intel Xeon	??	??
Dual-Core Intel Xeon	??	??
Quad-Core Intel Xeon	AQU=	0105	Use this for Core2 Quad and Quad Extreme CPUs
PowerPC	??	??
PowerPC 601	??	??
PowerPC 602	??	??
PowerPC 603	??	??
PowerPC 603e	??	??
PowerPC 603ev	??	??
PowerPC 604	??	??
PowerPC 604e	??	??
PowerPC 620	??	??
PowerPC G3	??	??
PowerPC 750	??	??
PowerPC G4	??	??
PowerPC 7400	??	??
PowerPC 7450	??	??
PowerPC G5	??	??
PowerPC 970	??	??

 

You can also experiment with the values by using this converter: http://home2.paulschou.net/tools/xlate/

For example, typing 0105 into the hex box will give you AQU= I have seen cpu-type 0101 (AQE=) around also, however, I don't know what CPU it is for.

 

If you have a Core i7 machine, and you get this to work...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>

 

DOWNLOAD 1.1

 

SOURCE 1.1

 

PROOF PIC

 

Hey I found a new code you type AQU=0103 the system will show you Dual-Core Intel Xeon 。 could you tell what's the cpu , is so amaze.....

Once you add cpu-type to cpus, it should be replicated to the CPU aliases. AppleSMBIOS checks "/cpus".

 

 

Mr Digital DJ, I have one question??

 

In order to make my hackintosh more Mac like, I have many parameters set on mu smbios.plist. Everything is working as expected.

 

I've checked and on Geekbenck my hack is detected as a real Mac only if I set it as a MacPro2,1. If I chanhe it to MacPro3,1 or MacPro4,1, GeekBench detects it as a Hackintosh.

 

I've also found that in System Profiler my Boot ROM serial ("Serial del ROM de arranque" in spanish) starts with MP21XXXX. So, I think that's why my hack is detected as a hackintosh if I change it to anything else but MacPro2,1. How can I change that serial in order to set it as a MacPro3,1 o 4,1??????

 

I'm running 64 bits Snow Leo only with a modified IOATAFamily kext on /S/L/E. Everything else is on EFI partition and the rest is vanilla. I have graphics via EFI, sound via an injector + DSDT patching and FakeSMC 2 on PCEFI V10.3.

 

The rest of my specs are on my signature. By the way, your CPU injector works like a charm. No problems with Parallels 5 or Silverlight.

 

Thanks in advance.

 

Cheers!!!

I have successfully modified Chameleon RC3 (with PC_EFI 10.3) to include SMBIOS tables 131 and 132. This means that there will be no need for this extension anymore...it will be injected by Chameleon at the boot loader stage :)

 

Will post the source and binary in about 24 hours, not at home at the moment and got a couple of things to do....

 

Basically, if you install my version of Chameleon RC3, the bootloader will try to detect the number of cores you have and try to inject Core Solo, Core 2 Duo or Quad-Core Intel Xeon into the SMBIOS. You will also be able to override this "auto-detection" and specify your own "cpu-type" if you know the value for it via smbios.plist. Core i7 users will also be able to set their interconnect speed via smbios.plist.

 

Once I'm home, I'll post the source and the rest to this thread. Just thought I'd post an update for now though :)

I have successfully got CPUInjector to work in /Extra/Extensions. However, at first I go kernel panics with what appeared to be coming from AppleIntelCPUPowerManagement.kext (I did not have NullCPUPowerManagement.kext installed).

 

I disabled AppleIntelCPUPowerManagement.kext and now have CPUInjector working without kernel panics. Another observation was that if I manually loaded CPUInjector after boot without NullCPUPowerManagement.kext, I got no kernel panics and CPUInjector works fine.

 

Can anyone provide comments or suggestions why CPUInjector only works with AppleIntelCPUPowerManagement blocked.

 

ccg

I have updated the first post with a modified Chameleon RC3 boot loader (and source). This should auto-detect your CPU. No need for the kext anymore.

 

Thanks man!! I'll try it later when I get home.

 

One question. I have PCEFI v10.3 from netkas (Previously Chameleon2 RC3). Do I have to replace ONLY the boot file with yours??? Do I have to do something else???

 

I've found that setting SMBiosversion on smbios.plist modifies the Boot ROM version. But, Setting my hack model as a MacPro3,1 and the version to MP31XXXX still makes GeekBench to detect my Hack as a hackintosh. I had to let it as a MacPro2,1. In the real Macs, what are the specs of these models???? I wanted to make look my hack as powerful as it gets.

 

Thanks in advance.

When I posted this in the other thread on this subject, you said I had 'just managed to change the cosmetics of System Profiler'! - and you were right.

http://www.insanelymac.com/forum/index.php...186926&st=0

 

 

I still think there's a lot of confusion here.

 

For example, on my system for the Q6600, I get:

 

1) from 'sysctl -a | grep cpu'

machdep.cpu.vendor: GenuineIntel

machdep.cpu.brand_string: Intel� Core2 Quad CPU Q6600 @ 2.40GHz

machdep.cpu.family: 6

machdep.cpu.model: 15

machdep.cpu.extmodel: 0

machdep.cpu.extfamily: 0

machdep.cpu.stepping: 11

machdep.cpu.feature_bits: 3219913727 58301

machdep.cpu.extfeature_bits: 537921536 1

machdep.cpu.signature: 1787

machdep.cpu.brand: 0

machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM

 

2) from 'system_profiler SPHardwareDataType'Model Name: Mac Pro

Model Identifier: MacPro3,1

Processor Name: Quad-Core Intel Xeon

Processor Speed: 3.10 GHz

Number Of Processors: 1

Total Number Of Cores: 4

L2 Cache: 8 MB

Memory: 4 GB

Bus Speed: 1.33 GHz

 

3) System Profiler - same as above (obviously!)

 

4) Geekbench - Intel Core 2 Quad Q6600 @ 3.10 GHz

 

5) CPU-X - Intel Core2 CPU Q6600 @ 2.40 GHz

 

Bizarre!

 

I said that cuz ur system profiler wasnt displaying any processor name. Now it is and so u can change it. as explained before theres no way this kext will display c2q q6600 cuz apple doesnt sell macs with this cpu bundled in.

Didn't work for me.

Produced some horrible CD/DVD drive boot up, which adds about 15-20 secs to my boot time. More importantly, the CPU was no longer recognised.

I've gone back to the original CPUInjector for the moment.

 

Did you actually try manually specifying in smbios.plist?!

 

Did you have CDs/DVDs in your drive at the time? Seems unlikely to add such an extra boot time.

×
×
  • Create New...