Jump to content

Getting Snow Leopard to recognize your CPU


  • Please log in to reply
226 replies to this topic

#81
eberts

eberts

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 138 posts
Okay, I managed it to compile it for leopard by removing 64bit and by adjusting dependencies + target sdk. It works fine - reports Intel Core 2 Duo now.

Thanks a lot, DigitalDJ - great work! :)

#82
crystalprince

crystalprince

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 4 posts

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.ap...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.paulsch...et/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.....

#83
eberts

eberts

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 138 posts
One more question: In real mac ioregs cpu-type is registered in cpu0, cpu1 etc. not in cpus as with CPUInjector?
Any clues?
Thx

#84
GLXOZ

GLXOZ

    InsanelyMac Protégé

  • Members
  • PipPip
  • 93 posts
  • Gender:Male
Cool work, all detected correctly, Silverlight installed with no problem.

#85
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts

One more question: In real mac ioregs cpu-type is registered in cpu0, cpu1 etc. not in cpus as with CPUInjector?
Any clues?
Thx


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

#86
el_charlie

el_charlie

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 220 posts
  • Gender:Male
  • Location:Maracaibo, Venezuela

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!!!

#87
eberts

eberts

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 138 posts

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


Hmm, it doesn't or at least it's not reported in ioreg. Maybe it's because of Leopard 10.5.8?

#88
slipttees

slipttees

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 343 posts
  • Gender:Male
  • Location:Iguatu-CE, Brazil
Intel Core 2 Quad no recognized :S

smbios.plist key ?

#89
jasjeet

jasjeet

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 253 posts
awesome worked for Q6600, silverlight installed!

#90
desdichado

desdichado

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
Can anyone explain, how to add this info directly in DSDT ? Method (_DSM) doesn`t work in Processor Scope, seems to me.I cant add value "cpu-type" to CPU0 and CPU1.

#91
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts
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 :)

#92
ccg

ccg

    InsanelyMac Protégé

  • Members
  • Pip
  • 47 posts
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

#93
BLARGiAMdEAD

BLARGiAMdEAD

    InsanelyMac Protégé

  • Members
  • Pip
  • 48 posts
Well, I got my CPU detection working. Will fix my interconnect speed as soon as I go check what it is (Core i7 920 @2.66Ghz). I might try the modded Chameleon, but I don't really think it's that important, and I don't want to screw up my install.

#94
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts
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.

#95
el_charlie

el_charlie

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 220 posts
  • Gender:Male
  • Location:Maracaibo, Venezuela

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.

#96
imacken

imacken

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 435 posts
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.

#97
Beto2k7

Beto2k7

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 142 posts
  • Gender:Male
  • Location:::1

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.insanelym...p...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� Core™2 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 Core™2 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.

#98
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts

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.

#99
excitedguy

excitedguy

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts

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.


Link is dead...

#100
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,053 posts
  • Gender:Male
  • Location:UK
Well done with the development of this DigitalDJ. I have just downloaded the new version and try it tonight. :)





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy