Jump to content

Chameleon RC5 mode with mem detection enabled and automatic P-States & C-States generation for native power managment


kozlek
 Share

1,214 posts in this topic

Recommended Posts

iFabio

 

What was your C-State warning message before your fix?

 

I cannot get C-States to work so far. Below is the message in the kernel.log

 

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized

 

Even though C-states are not working, P state are working according to voodoomonitor and my processor core's are 10 degrees cooler now than before with Mojo's Chameleon Project and Slice's FakeSMC with Monitor Project.

 

I am averaging 43-48 degrees.

 

 

You said changing your CPU0, CPU1 etc to P001 , P002 etc fixed the C-State evaluation error but would that fix remedy the warning message above and if not any clue's on how to fix this?

 

Did you make those changes to both DSDT and SSDT tables or just DSDT?

 

Thanks

Link to comment
Share on other sites

You said changing your CPU0, CPU1 etc to P001 , P002 etc fixed the C-State evaluation error but would that fix remedy the warning message above

 

Yes it would, if you have the same issue as I had. See first post on page #17 - use the whole Processor scope from your original DSDT.

 

The CPU name (Pxxx/CPUxx) used in the CPU scope in your DSDT must match the name used in the SSDT tables, it's not important where you rename them.

But if you never did anything to your SSDT tables, the easiest way to fix this is to paste in the Processor scope from your unmodified DSDT, then the names will match.

Link to comment
Share on other sites

Ok, I just added this clarkdale cpu to be detected as i3,

please let me know if it works for you ...

Here:

boot_r325.zip

Hi rekursor,

 

Here is the CPU-Z info and the cputype for a iMac i3 is 2305.

 

post-547876-1281190486_thumb.png

 

PS: Thanks for the kind words on [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]+[url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]

Link to comment
Share on other sites

Here Chameleon 2 RC5 rev 325 (w/o kext) removed: reason, I post a new version

Thank's rekursor.

----------------------

 

iFabio

What was your C-State warning message before your fix?

I cannot get C-States to work so far. Below is the message in the kernel.log

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized

Even though C-states are not working, P state are working according to voodoomonitor and my processor core's are 10 degrees cooler now than before with Mojo's Chameleon Project and Slice's FakeSMC with Monitor Project.

I am averaging 43-48 degrees.

You said changing your CPU0, CPU1 etc to P001 , P002 etc fixed the C-State evaluation error but would that fix remedy the warning message above and if not any clue's on how to fix this?

Did you make those changes to both DSDT and SSDT tables or just DSDT?

Thanks

 

Hi I make the change in both DSDT and SSDT but I wont say this change is COSMETICS!!!

I love "perfection" when I look my IOREG and the reason is only for this... cosmetics...

With ORIGINAL Scope _PR (P001,P002.P00x....) My system manage the SS natively... I don't need special flag in my com.apple.Boot.plist and I have just my normal DSDT (with P00x name).

 

But if I change the name of the CPU in the Scope _PR (CPU1,CPU2,CPUx... ecc.ecc) I need DropSSDT=Yes in c.a.B.p

and I also need extra table like SSDT SSDT-1 SSDT-2 with the name also "patched". the geekbench score are identical with the SS in the DSDT. :)

 

w/o this extra table I get your same error CST and LPCB not initialized ... and the geekbench score.... go down

 

 

Sorry for my poor english

Fabio

Link to comment
Share on other sites

Having a quick look to the SMC version pb,

it looks like it's more a FakeSMC job than a job in the booter...

In FakeSMC, in the info.plist file, you have one smc key called 'REV'.

This key should permit you to change the smc version ...

Maybe our local fakesmc guru and contributor (mozodojo of course :) ) could help more on that one...

 

Thanks rekursor already have the latest FakeSMC with monitoring,

and I also customized the Info.plist file with the keys taked from a real MacPro4, 1 and version of SMCkey too :)...

(thank's to the developer on projectosx)

 

I would suggest a idea.

I am not a developer, and I do not have the knowledge to do so.

 

In connection with what I posted previously about FakeSMC "REV" ...

 

Like almost all Mac clones require Decripter like FakeSMC of netkas,

Now, without this emulator, our computer will not start, it would be possible to add this basic functionality?

Maybe with basic standard key?

Maybe with extra support for an eventual "dummy" FakeSMC customizable in Extra or S/L/E (no bin inside)?

 

At this stage of development, chameleon recognize and award a Macintosh model...

So.. why not make free our boot from a kext decripter?

Maybe enriching the SMBIOS Pacher? with more real data?Maybe including the version of "SMC"?

 

just an idea here...

// defaults for a MacBook Pro core i3/i5/i7
static const SMStrEntryPair const sm_macbookpro_defaults[]={
{"SMbiosvendor",	"Apple Inc."			},
{"SMbiosversion",	"MBP61.88Z.0057.B09.1004161215"	},
{"SMbiosdate",		"04/04/2010"			},
{"SMmanufacter",	"Apple Inc."			},
{"SMproductname",	"MacBookPro6,2"			},
{"SMsystemversion",	"1.58f16"				}, // <-- the REV key
{"SMCcompatible",	"smc-piketon"		}, 
{"SMserial",		"SOMESRLNMBR"			},
{"SMfamily",		"MacBookPro"			},
{"SMboardmanufacter",	"Apple Inc."			},
{"SMboardproduct",	"Mac-F22586C8"			},
{ "",""	}
};

 

now... I now most of this part are pure cosmetics I know... but I think is a point of start...

And sorry for this long OFFTOPIC

Fabio

Link to comment
Share on other sites

Possible to add this? I use, like other, iMac10,1 and not MacPro3,1. Thanks

 

// defaults for an iMac10,1
static const SMStrEntryPair const sm_macpro_defaults[]={
{"SMbiosvendor",		"Apple Computer, Inc."			},
{"SMbiosversion",		"IM101.00CC.B00"	},
{"SMbiosdate",			"04/01/2008"					},
{"SMmanufacter",		"Apple Computer, Inc."			},
{"SMproductname",		"iMac10,1"						},
{"SMsystemversion",		"1.0"							},
{"SMserial",			"SOMESRLNMBR"					},
{"SMfamily",			"iMac"						},
{"SMboardmanufacter",	"Apple Computer, Inc."			},
{"SMboardproduct",		"Mac-F4208DC8"					},
{ "",""	}
};

Link to comment
Share on other sites

FakeSMC from netkas hacks the SMC API in OS X, in other words, each time mac os x needs to read/write any SMC data, it is redirectioned to this kext. AFAIK, we can't do that from the boot, sorry :)

 

...

Like almost all Mac clones require Decripter like FakeSMC of netkas,

Now, without this emulator, our computer will not start, it would be possible to add this basic functionality?

Maybe with basic standard key?

Maybe with extra support for an eventual "dummy" FakeSMC customizable in Extra or S/L/E (no bin inside)?

...

{"SMsystemversion", "1.58f16" }, // <-- the REV key

...

now... I now most of this part are pure cosmetics I know... but I think is a point of start...

And sorry for this long OFFTOPIC

Fabio

 

 

That would make sense for me for default core 2 duo's configs, to set the default config to iMac10,1

I would like the opinion of the team (and others) on that, mozodojo ?

After all, it's all about defaults that can still be overriden as before if some people don't like it...

-Rek

 

Possible to add this? I use, like other, iMac10,1 and not MacPro3,1. Thanks

 

// defaults for an iMac10,1
static const SMStrEntryPair const sm_macpro_defaults[]={
{"SMbiosvendor",		"Apple Computer, Inc."			},
{"SMbiosversion",		"IM101.00CC.B00"	},
{"SMbiosdate",			"04/01/2008"					},
{"SMmanufacter",		"Apple Computer, Inc."			},
{"SMproductname",		"iMac10,1"						},
{"SMsystemversion",		"1.0"							},
{"SMserial",			"SOMESRLNMBR"					},
{"SMfamily",			"iMac"						},
{"SMboardmanufacter",	"Apple Computer, Inc."			},
{"SMboardproduct",		"Mac-F4208DC8"					},
{ "",""	}
};

Link to comment
Share on other sites

FakeSMC from netkas hacks the SMC API in OS X, in other words, each time mac os x needs to read/write any SMC data, it is redirectioned to this kext. AFAIK, we can't do that from the boot, sorry :)

-Rek

 

You right!

 

Thank's for the fast reply!

 

Fabio

Link to comment
Share on other sites

That would make sense for me for default core 2 duo's configs, to set the default config to iMac10,1

I would like the opinion of the team (and others) on that, mozodojo ?

After all, it's all about defaults that can still be overriden as before if some people don't like it...

-Rek

 

I think best model for core 2 duo is macpro3,1. Because of graphics section in SMC_Platform_Plugin. Need to check iMac10_1.plist first :( Maybe it will be better to use.

Link to comment
Share on other sites

I think best model for core 2 duo is macpro3,1.

Yes please. Macpro3,1 is the preferred model for my E7300 as aside from supporting CPU stepping it has the added bonus of stopping an annoying audio blip which occurs when first playing sound after a period of no sound.

Keep up the sterling work guys :(

Link to comment
Share on other sites

Yes it would, if you have the same issue as I had. See first post on page #17 - use the whole Processor scope from your original DSDT.

 

The CPU name (Pxxx/CPUxx) used in the CPU scope in your DSDT must match the name used in the SSDT tables, it's not important where you rename them.

But if you never did anything to your SSDT tables, the easiest way to fix this is to paste in the Processor scope from your unmodified DSDT, then the names will match.

 

I read over your post from Page 17. My CPU0 and CPU1 are labelled exactly that way in my SSDT tables by default so I have to assume I don't have to worry about changing the names to P001 , P002.

 

I am not sure about the ALIAS in the DSDT and if its there remove them or not?

 

What I find interesting from your post and now have to try is not load the CPU0st and CPU1st and only load CPU0CST, CPU1CST and the SSDT table CPUPM.

 

Three SSDT's and leave out the other two. I wonder if that will fix the C-state functionality and warning message and still have P-state function?

 

I have to test this.

 

Thanks

 

 

EDITED:

 

 

I removed all SSDT's except for the CPU0CST , CPU1CST and CPUPM and I still have the LPC Initialization warning and C State Power Management Not Initialized.

 

 

What I find interesting is P-states still work perfectly without Cpu0lst and Cpu1lst. But Chameleon is reporting 5 SSDT loaded successfully when its only 3?

 

I am attaching my DSDT and SSDT to see if someone with a bit more knowledge than me could find something in the script that needs adjustment to make it work or am I SOL?

 

Thanks

 

 

Dell_XPS_M1530.zip

Link to comment
Share on other sites

Thank you for the interesting work.

 

Experiencing what may be anomalous results which may interest or be of utility. No doubt it's user error, but I am not complaining.

 

Running rev325 and loading NullCPUPowerManagement my temps are near 10C lower, still have speedstepping AND can see voltage drop from 1.260 to 1.132 in VoodooMonitor. No voltage change w/o "Null..." Four P-States are generated, and none are associated with lower voltages.

 

Identical results on two discreet near identical 10.6.4 installs.

 

Any notion as to how I might achieve the same result without loading "Null"?

Link to comment
Share on other sites

How to use Nvidia rom loading with this latest bootloader ?

I looked in boothelp.text but no informations about usage.

 

I found some different informations in the threads here.

UseNvidiaROM seems to be the right one - but how to use that ?

1. as UseNvidiaROM=Yes key but where put the nvidia.rom file and whats named ( i read name must be vender_deviceID.rom ?!

2. or as UseNvidiaROM=/Extra/nvidia.rom

Thanks

is that VBIOS=Yes an old way and obsolent, olso older postings says that it must be in / as /NVIDIA.ROM - very confusing)

 

R325.pkg worked perfect as i installed on second HD :)

 

Screenshoot shows my 8800GTX (GraficsEnabler works :) ) without Nvidiarom (orig/internal) usage.

Bildschirmfoto_2010_08_08_um_14.56.55.jpg

Link to comment
Share on other sites

a few posts up you were talkling about macpro3,1 macpro10,1 etc, which would be best for my system, i have the chamleon rc5 v 318, specs in sig

 

it said that for C-states i had to have AppleLPC loaded but i heard that since i got an AMD system i cant load LPC?

 

How do i check if P-States/C-States are working? besides GeneratePStates=yes in chameleon and hope they're working, i was looking for a in OSX way to see if they're working

 

One last question, what are C-States? i know that P-States basically tell the CPU to run at lower speeds when not being used as much, right?

 

sorry if i sound like a nub, im just trying to figure this stuff out ;)

Link to comment
Share on other sites

Hey macman,

 

I don't understand. In your previous post you mentioned it was recognized as a core 2 duo.

So why 'still' showing as core i5 ?

Also, did you try to override the smbios.plist SMcputype and changing it to 2503 ?

Just curious, if you can get the correct cpu, we can get it as well, otherwise it can be something else :)

 

No good, still seen as Core i5.

 

Even tried using the iMac Mid-2010 update with newer kernel.

 

What else can I get you or try?

Link to comment
Share on other sites

Hey macman,

 

I don't understand. In your previous post you mentioned it was recognized as a core 2 duo.

So why 'still' showing as core i5 ?

Also, did you try to override the smbios.plist SMcputype and changing it to 2503 ?

Just curious, if you can get the correct cpu, we can get it as well, otherwise it can be something else ;)

Hey rekursor,

 

My bad, not enough coffee yet this morning. I was using the wrong smbios.plist which had an i5 SMcputype.

 

r325 is injecting 2305 for cpu correctly, but it's still unknown in System Profiler using 10.6.4 with Mid 2010 iMac Update. I guess we'll need to wait for 10.6.5 for it to be recognized.

 

Thanks for doing this.

 

MacMan

Link to comment
Share on other sites

What I find interesting from your post and now have to try is not load the CPU0st and CPU1st and only load CPU0CST, CPU1CST and the SSDT table CPUPM.

You can also try not loading any at all - let the bootloader handle it and see what happens.

What I find interesting is P-states still work perfectly without Cpu0lst and Cpu1lst. But Chameleon is reporting 5 SSDT loaded successfully when its only 3?

You enabled GeneratePStates and GenerateCStates right? The way I understand it (hopefully one of the devs will clarify), this is why you get two 'phantom' SSDTs, those are generated by the bootloader and passed on to the OS. On my system, Chameleon RC5 cannot get C-states working by itself, that's why I have to load the C-state SSDT tables.

a few posts up you were talkling about macpro3,1 macpro10,1 etc, which would be best for my system

Apple use Intel CPUs, there are no Mac model profiles that match with your hardware. Therefore it doesn't make any difference which one you use.

it said that for C-states i had to have AppleLPC loaded but i heard that since i got an AMD system i cant load LPC?

Even if you could get AppleLPC.kext to load, you can still not have 'native power management' in OS X on a PC with AMD CPU.

How to use Nvidia rom loading with this latest bootloader ?

It works like in AsereBLN 1.19, instructions are here:

http://www.efixusers.com/showthread.php?t=644

Link to comment
Share on other sites

The 'correct' cpu is the one that you installed in your configuration :)

Now if you want your system to show as a xeon processor as in a macpro, you can still do that by overriding the SMcputype value in smbios to 1281.

But if you do that, you might loose some automatically handled features like speedstep related operations ...

Personally, I like to setup an iMac11,1 with core ix's because the cpu match is vanilla.

-Rek

One question, why does the i7 (1366) range show as an i7 rather than the correct "Quad-Core Intel Xeon" in a MacPro 4,1?
Link to comment
Share on other sites

I removed all SSDT's except for the CPU0CST , CPU1CST and CPUPM and I still have the LPC Initialization warning and C State Power Management Not Initialized.

i have same problem and i dont know how to fix it

and one more error ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST time out...

anybody know how to fix it? help me

Link to comment
Share on other sites

It's impossible to help you without knowing anything about your configuration and your hardware.

Model identifier is important, DSDT processor scope must be unmodified, Intel CPU is required, AppleLPC.kext must be loaded, appropriate CPU type override in smbios.plist (or none at all), etc etc. There is more, so read the whole thread.

if we're replicating MacPro systems, surely we should have the correct CPU type identified?

I agree with Rek, it's better for compatibility to use a model identifier from a Mac that has the same CPU (type/family) as your actual CPU as opposed to faking your CPU type.

 

It makes sense when you consider that OS X matches and loads power management settings by model identifier - not by CPU type. Take a look at /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Info.plist.

 

A little experiment from a while back (10.6.2 - 10.6.3):

http://www.projectosx.com/forum/index.php?showtopic=1024

Once you find out which Mac models use the same CPU type/family as yours, experiment with the model identifiers, as you can see if you follow the link, iMac8,1 didn't work out so well for me, whereas iMac9,1 is nearly perfect.

 

This list doesn't show the model identifiers but it's a good starting point:

http://en.wikipedia.org/wiki/List_of_Macin..._type#Intel_x86

This is also useful - type a model identifier in the search box:

http://www.everymac.com/ultimate-mac-lookup/

Laptop owners should use a MacBook/Air/Pro model identifier.

 

When I get some non-fragmented free time to play I'll try iMac10,1, as that model had a Wolfdale C2D CPU (like my C2D E8500), iMac9,1 had Penryn C2D.

For some reason I have not been able to get MacPro3,1 to work at all on my PC. It'll revert to iMac8,1. This happens even when booting a Snow Leopard retail DVD from a Chameleon boot CD with MacPro3,1 set in smbios.plist, so it's not something on my main installation that prevents it from working.

Link to comment
Share on other sites

 Share

×
×
  • Create New...