Jump to content

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


  • Please log in to reply
1214 replies to this topic

#21
Onixs

Onixs

    Since 2007

  • Members
  • PipPipPipPipPipPipPip
  • 816 posts
  • Gender:Male

Hi mozodojo!

Grats for your nice changes! :D Just merged back your rev 351 changes to our trunk.

Many thanks!

Bye,
zef



zef

booting with -f no longer works :(

#22
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

Hi mozodojo!

Grats for your nice changes! :) Just merged back your rev 351 changes to our trunk.

Many thanks!

Bye,
zef


Hi zef. Thank you! Merged back your changes too :)

#23
rekursor

rekursor

    InsanelyMac Sage

  • Retired Developers
  • 369 posts
Great Work mojodo !

Thanks especially for fixing the system profiler problem happening on few systems, I couldn't figure that alphas-digits-only-char-allowed problem :)

We could improve the memory detection speed as well, by reading only the headers instead of a full spd page and finally read it only when a slot is not empty.

I wanted to improve that myself after my first mem detect impl., but found a (great) new job sucking all my development time & energy right now :)

Keep on the good work !

-Rek

If you experienced a problem patching your DSDT/SSDT to enable Mac OS X native power management, or you don't know how to do this - the new bootloader is for you! Should work on most modern systems/processors.

Bootloader based on latest Chameleon RC5 rev184. Mem detection is enabled and slightly modified: fixed system profiler returns error while reading memory info in some cases. P-States & C-States are exported to the system via additional SSDTs, so if you have native SSDTs with _CST methods you should use "DropSSDT" = "Yes" option in boot.plist. If you have modded DSDT with _CST methods you should remove them or it'll be kernel panic on system start. The bootloader also supports multiple SSDT loading (names should be SSDT.aml, SSDT-1.aml ... SSDT-29.aml). Bootloader also supports latest graphic cards (code was obtained from here)

To enable native power management you should use proper mac model + HPET enabled. To enable C-States you must have LPC working on your system. It could be enabled via DSDT mod or injector.

Sources available here. The name of the project is Chameleon-Mozodojo.

P-States generation algo based on original superhai's algo from VoodooPower project.



#24
Gabo_c

Gabo_c

    InsanelyMac Protégé

  • Members
  • PipPip
  • 99 posts
  • Gender:Male
  • Location:Argentina
sorry for my silly question....how can i compile it? i'm a newbie and i want to try since i want to get ride of cpuinjector kext to get my cpu recognized....is there any tutorial or some one good pal can tell me how to do it? my cpu it's a core 2 duo e7600 same on imac 10,1 bot no one loader recognize it...it's always unknown on about this mac and no info on system profiler....but with my old cpu e4700 was detected proper....can some one give me a hand?
Thanks a lot!

#25
danielkza

danielkza

    InsanelyMac Protégé

  • Members
  • PipPip
  • 66 posts
  • Gender:Male
  • Location:São Paulo - Brasil
Install XCode from your OS X install DVD. Open Chameleon.xcodeproj in the 'Chameleon/Chameleon-Mozodojo' folder. Go to Build in the main menu, and build it. Right-click the sym/i386 folder on the left pane and choose 'Reveal With Finder'. Copy the 'boot' file to the root of your main drive.

Reboot.

#26
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

Great Work mojodo !

Thanks especially for fixing the system profiler problem happening on few systems, I couldn't figure that alphas-digits-only-char-allowed problem :)

We could improve the memory detection speed as well, by reading only the headers instead of a full spd page and finally read it only when a slot is not empty.

I wanted to improve that myself after my first mem detect impl., but found a (great) new job sucking all my development time & energy right now :)

Keep on the good work !

-Rek


Thank you for your work! Mem detect works great on my mobo. I've figured out Sysprofiler problem by chance, looking on mem partno on some boards like P4837H8456 and mine didn't worked with "-" chars in name. And speed improvement would be cool :)

#27
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,305 posts
  • Gender:Male
  • Location:UK

You need to DropSSDT or not to use GenerateCStates feature.

Hi Mozodojo.. it works - Fantastic :)

After reading your post again along with the source code, I realised for all my attempts I hadn't added the GenerateCStates and GeneratePStates boot options to c.a.B.p. Maybe you could update your opening post to mention they are required to activate the functionality?

Top job

#28
rednous

rednous

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 417 posts
  • Gender:Male
  • Location:Galaxy: Milky Way
  • Interests:graphic design, mac, progressive and house
@mozodojo
Great work! :thumbsup_anim: I was reading this thread since the beginning and i'll definitely compile and test your mozodojo-chameleon, will report in order to improved it further. Currently I'm booting my system with valv's AnVal chameleon (AnVAL5 pre release) and i report its behavior when there's a new build.

I have just one small but important recommendation to all the programmers here: Please take some time to explain and document the new features, boot keys, etc. on how to implement and test the new build, version. It'll be definitely very handy not only for programmers but for rest people -- this way more quality input could be gained, according to me :)

@Rekursor
I'm glad to see you here joining forces with the rest again:) It's great you're back :)

mozodojo, valv, Rekursor, again top job, guys :thumbsup_anim:
Greets and thanx for your time spending on developing Chameleon

#29
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

Hi Mozodojo.. it works - Fantastic :thumbsup_anim:

After reading your post again along with the source code, I realised for all my attempts I hadn't added the GenerateCStates and GeneratePStates boot options to c.a.B.p. Maybe you could update your opening post to mention they are required to activate the functionality?

Top job


Wow! I forget to say about boot options! Thank you, already added short description :thumbsup_anim:

#30
blackosx

blackosx

    InsanelyMacaholic

  • Coders
  • 3,305 posts
  • Gender:Male
  • Location:UK

Wow! I forget to say about boot options! Thank you, already added short description :thumbsup_anim:

Great. That'll hopefully help a few others. You code is working jut fine here now :thumbsup_anim:

p.s., Hi Rekursor - good to hear you're still alive and well (I know you've been busy).

#31
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,907 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Q: What is usage for DropSSDT ?
If i remove my PStates / Cstates from DSTD.aml to test it, must i add DropSSDT=Yes or can i leave my boot.plist without hat key ? I dont have SSDT.aml files.
(Thanks adding usage of GenerateXYZ keys)

#32
danielkza

danielkza

    InsanelyMac Protégé

  • Members
  • PipPip
  • 66 posts
  • Gender:Male
  • Location:São Paulo - Brasil

Q: What is usage for DropSSDT ?
If i remove my PStates / Cstates from DSTD.aml to test it, must i add DropSSDT=Yes or can i leave my boot.plist without hat key ? I dont have SSDT.aml files.
(Thanks adding usage of GenerateXYZ keys)

You need DropSSDT if your motherboard's original SSDT has P/C-States.

#33
VCH888

VCH888

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 590 posts
Thanks mozodojo :)

testing devices: E2180, 945GCM-S2L, memory DDR2 667

added these to com.apple.Boot.plist, no SSDT.aml and so on in /E

<key>GeneratePStates</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>DropSSDT</key>
<string>Yes</string>

cpu section in DSDT;

Scope (_PR)
{
Processor (CPU0, 0x00, 0x00000410, 0x06) {}
Processor (CPU1, 0x01, 0x00000410, 0x06) {}
}

see the result;
Attached File  E2180.jpg   118.56KB   615 downloads

Only one problem right now is that reported system memory @ 800 MHz.

I will post my other devices tonight.

#34
zef

zef

    InsanelyMac Geek

  • Retired Developers
  • 152 posts

zef

booting with -f no longer works :(


Thx rals2007 for the report!

Just fixed it:

http://forge.voodoop...rce/commit/195/

#35
rednous

rednous

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 417 posts
  • Gender:Male
  • Location:Galaxy: Milky Way
  • Interests:graphic design, mac, progressive and house

cpu section in DSDT;

Scope (_PR)
	{
		Processor (CPU0, 0x00, 0x00000410, 0x06) {}
		Processor (CPU1, 0x01, 0x00000410, 0x06) {}
	}


tmongol, i was wondering whether this is your whole _PR scope you use with the mozodojo-chameleon? thanx in advance :(

#36
Onixs

Onixs

    Since 2007

  • Members
  • PipPipPipPipPipPipPip
  • 816 posts
  • Gender:Male

Thx rals2007 for the report!

Just fixed it:

http://forge.voodoop...rce/commit/195/



zef

Thanks zef. And one more thing though, "About This Mac" shows my CPU (Quad Core) as UNKNOWN. It was working/detecting before you merge mozodojo's patch.

#37
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

zef

Thanks zef. And one more thing though, "About This Mac" shows my CPU (Quad Core) as UNKNOWN. It was working/detecting before you merge mozodojo's patch.


Where is some problems with CPU detection after I've integrated valv's CPU type injection code. Need more testers and reports to fix it. So Quad Core is not detected or information for injection was incorrect. Will check it later.

#38
FKA

FKA

    are we there yet?

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,626 posts
  • Gender:Male
Hi mojodojo

Still no joy I'm afraid.
Have just tried rev 352 of the trunk. Added GenrateCStates=Yes to boot.plist and tried with and without DropSSDT (There are no _CST data in my SSDT!).

Also tried above combinations with and without CPU Alias in Scope _PR.

EDIT - CPU still detected as Xeon, same as ever.

Cheers
D

#39
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

Hi mojodojo

Still no joy I'm afraid.
Have just tried rev 352 of the trunk. Added GenrateCStates=Yes to boot.plist and tried with and without DropSSDT (There are no _CST data in my SSDT!).

Also tried above combinations with and without CPU Alias in Scope _PR.

EDIT - CPU still detected as Xeon, same as ever.

Cheers
D


try to use "Wait"="Yes" option in boot.plist to check chameleon log. I need some debug information from it. Maybe SSDT patcher didn't found CPUs in DSDT. Where is knowing bug in CPU name detection algo. I'll fix it later.

#40
VCH888

VCH888

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 590 posts

tmongol, i was wondering whether this is your whole _PR scope you use with the mozodojo-chameleon? thanx in advance :blink:

Yes, i think so.



@mozodojo

My Q9400 was Unknown in "About This Mac."
Chameleon r352.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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