Jump to content

Getting Snow Leopard to recognize your CPU


DigitalDJ
 Share

227 posts in this topic

Recommended Posts

Yup.. works fine. But, i'm not planing using it.. i just prefer to edit About This Mac and see my real CPU there.. don't mind if it doesn't show on System Profiler. The problem is, this doesn't fool many apps (check pic.. it all depends on were the apps go get the info) and can only return CPU families used by Apple.

Anyway, that's just me :) not criticizing, or i wouldn't have tested it.

 

About loading the kext from Extra.. It loads fine from /Extra/Extensions.mkext.. it may need OSBundleRequired edited, from Safe Boot to Root or Local-Root to load from /Extra/Extensions. Don't think it's a dependencies problem (looking at the plist).

 

Thanks

 

p.s.: upss.. forgot about Regie SE and Processor Pane.. those say i have Pentium 4 on Snow, unknown on Leo.

And some (Onyx, some irc scripts) even say i have Intel 80486 (i486) :P ... whatever..

post-291566-1254327983_thumb.png

Edited by Azimutz
Link to comment
Share on other sites

you need to change every instance of Pxx to CPU. otherwise you will miss a lot of "features" like PerformanceStateArray (speedstep!!). this particular problem maybe because your SSDT table maybe referencing your Pxx objects rather than the CPU object. you have lot of readin to do

  • Thanks @yeehaa
     
  • I have an Asus Rampage II X58 motherboard I don't have an SSDT table!
  • I just use the Chameleon RC3 with the default kexts.
  • I have changed every instance of Pxx to CPUx.

The question is the following:

P001 ---> CPU0 or P001 ---> CPU1?

And do I need to copy to each line this ( 0x00000810, 0x06) like on MacPro 4,1?

 

I can see that the SSDT Table is definitely referencing Pxx objects...

How do I rectify this?

Thanks

Link to comment
Share on other sites

Do you happen to have the source for this laying around? Or any idea on the other cpu-types for other CPUs?

No I don't have the source with that mod anymore, this is like maybe two years ago. It is a two line add, so it is not hard. I looked at your source, first time you made a kext maybe? Anyway you do it very cumbersome.

 

I experimented with the cpu-types, they are of two bytes (if you have more you will get an error message) it was fun when it reported PowerPC, I don't remember which was for whom anymore.

Link to comment
Share on other sites

Hi and many thanks for this DigitalDJ

CPU is recognized now in about this mac and system profiler, still on interconnect-speed it say 533 MT/s instead 4.8 GT/s

Any idea how to fix this?

Also do u think Serial Number (processor tray) can be added?

 

Thanks! ;)

 

P.S. on Reggie_SE still it say unknown cpu :|

Link to comment
Share on other sites

Yup.. works fine. But, i'm not planing using it.. i just prefer to edit About This Mac and see my real CPU there.. don't mind if it doesn't show on System Profiler. The problem is, this doesn't fool many apps (check pic.. it all depends on were the apps go get the info) and can only return CPU families used by Apple.

Anyway, that's just me :) not criticizing, or i wouldn't have tested it.

 

About loading the kext from Extra.. It loads fine from /Extra/Extensions.mkext.. it may need OSBundleRequired edited, from Safe Boot to Root or Local-Root to load from /Extra/Extensions. Don't think it's a dependencies problem (looking at the plist).

 

Thanks

 

(Olá Azi)

 

Hello! which code did you used? I see you got a "Core2Duo" CPU. Aren't you using Chamaleon RC3 to get rid of Extensions.mkext?

 

Abraço

Link to comment
Share on other sites

On my ASUS P6T SE ...

Notice the 'alias' to 'CPU'

 

There is a definitely mapping (P00x, CPUx) using Alias (SourceObject, AliasObject)

Arguably, creating objects for Processor Alias() is a "bad" idea; any idea why a BIOS author would do that? What was the purpose of those useless statements? One can load most OS like Linux and Windows without Alias(). And from a programmers perspective there is no actual need; actually these Processor Alias() statements produce more bugs and create unnecessary debugging variables in some Operating Systems. And thats why in OSX we have to remove them. Since AcpiWalkNamespace treats CPUx as the real Processor objects, the probe order for acpi(4) bus children will be P001, CPU1, P002, CPU2, P003, CPU3, P004, CPU4. This is very bad, because half of processors are attached twice and half -- aren't attached at all. Moreover, est (Enhanced SpeedStep cpufreq driver) isn't able to get _PSS for CPUx, so P-states will be missing for half of processors!

 

And that's why the great MacPro has no 'Alias' to 'CPU' statements.

 

Observing the objects "P001" and "CPU1", they have the same type and flags. In other words we shouldn't have to distinguish between the two. They should act the same according to the ACPI spec.

 

According to the ACPI specification: Alias (SourceObject, AliasObject)

Creates a new object named AliasObject that refers to and acts exactly the same as SourceObject. AliasObject is created as an alias of SourceObject in the namespace. The SourceObject name must already exist in the namespace. If the alias is to a name within the same definition block, the SourceObject name must be logically ahead of this definition in the block.

Link to comment
Share on other sites

you need to change every instance of Pxx to CPU. otherwise you will miss a lot of "features" like PerformanceStateArray (speedstep!!). this particular problem maybe because your SSDT table maybe referencing your Pxx objects rather than the CPU object. you have lot of readin to do :)

 

@DijitalDJ: thanks for the tip. and nice to see you active here!

 

You mean like this ? But this comes even with the Pxx CPU identifier ... or should there be more values than 10 ?

 

post-1162-1254349307_thumb.png

Link to comment
Share on other sites

Thanks for this, shows up nicely for my Core i7 (as Quad-Core Xeon) with the QPI value. :) For those of you using a CPU with a QPI, fill in the correct value divided by 4 in SMexternalclock. For example, I filled in 1200 to get a value of 4.8GT/s in System Profiler, which is correct for my i920. :)

 

I do have one remark though, I think the OSBundleRequired or dependencies aren't correct yet. The kext works fin in /E/E, but only when I boot with -v, which gives kexts a small delay in loading.

If I boot without -v, AppleIntelCPUPowerManagement panics immediately. I'm gonna try some different OSBundleRequired values now, and see if it helps.

Link to comment
Share on other sites

Thanks for this, shows up nicely for my Core i7 (as Quad-Core Xeon) with the QPI value. B) For those of you using a CPU with a QPI, fill in the correct value divided by 4 in SMexternalclock. For example, I filled in 1200 to get a value of 4.8GT/s in System Profiler, which is correct for my i920. :)

Thanks mate!

That did the trick(SMexternalclock=1200) now I have 4.8 GT/s :)

Link to comment
Share on other sites

Thanks for this, shows up nicely for my Core i7 (as Quad-Core Xeon) with the QPI value. B) For those of you using a CPU with a QPI, fill in the correct value divided by 4 in SMexternalclock. For example, I filled in 1200 to get a value of 4.8GT/s in System Profiler, which is correct for my i920. :)

 

I do have one remark though, I think the OSBundleRequired or dependencies aren't correct yet. The kext works fin in /E/E, but only when I boot with -v, which gives kexts a small delay in loading.

If I boot without -v, AppleIntelCPUPowerManagement panics immediately. I'm gonna try some different OSBundleRequired values now, and see if it helps.

 

Thanks mate!

That did the trick(SMexternalclock=1200) now I have 4.8 GT/s :)

 

EDIT: Dur. It goes in smbios.plist.

Link to comment
Share on other sites

Awesome find DigitalDJ, thanks for submitting this, it works really great!

 

BTW, is there any chance that it makes to DSDT patching?

 

(And for those who can't get it working from /Extra/Extensions: just correct the kext's Info.plist by changing OSBundleRequired to Root)

Link to comment
Share on other sites

Hey Guys! DigitalDJ, thanks for the great job man!

My CPU is being recognized as Intel Core 2 Duo (I have an E8400), but still, whenever I try to install VMware fusion it says it can only be installed if you own an Intel processor. Everything else works perfectly in my machine and I am using PC EFI V10.3.

 

Any thoughts?

 

Moloko

Link to comment
Share on other sites

Hey Guys! DigitalDJ, thanks for the great job man!

My CPU is being recognized as Intel Core 2 Duo (I have an E8400), but still, whenever I try to install VMware fusion it says it can only be installed if you own an Intel processor. Everything else works perfectly in my machine and I am using PC EFI V10.3.

Moloko

Oh oh! I hope you've done something wrong with your install, because that's the exact sort of thing this was hoped to fix!

The install can easily be fixed by a workaround, but it's the non-Intel message that's a worry.

Link to comment
Share on other sites

Oh oh! I hope you've done something wrong with your install, because that's the exact sort of thing this was hoped to fix!

The install can easily be fixed by a workaround, but it's the non-Intel message that's a worry.

 

imacken,

 

I don't know. I have two different installs, a Testee one that I run from my External hard drive to try all kexts and changes before applying to my hard drive and both have the same issue. I made a retail install and the only thing I have in my extra folder is:

/Extra

smbios.plist

Extensions.mkxt

/Extensions

AHCIPortinjector.kext

CPUinjector.kext

fakesmc.kext

IOAHCIBlockStorageInjector.kext

NullCPUPowerManagement.kext

OpenHaltRestart.kext

 

I am not sure what (And if) I did something wrong. I have also tried with chameleon RC3 and got the same results. I'm not using a DSDT table.

Any thoughts?

 

Thanks,

 

Moloko

Link to comment
Share on other sites

Oh oh! I hope you've done something wrong with your install, because that's the exact sort of thing this was hoped to fix!

The install can easily be fixed by a workaround, but it's the non-Intel message that's a worry.

just installed it, everything works, tried silverlight and there was no error about intel processor not found

its not a cosmetic hack cause i noticed that it also replaced the one i had wrote in about this mac

So it doesnt find "unknown processor" anymore

one thing..

GeekBench, still shows the real cpu (quad core)

Link to comment
Share on other sites

 Share

×
×
  • Create New...