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
1213 replies to this topic

#881
Azimutz

Azimutz

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 759 posts
  • Gender:Male
  • Location:Almadan - Pt.
  • Interests:At the moment, OSx86.. In general, music, audiophile, computers.. to much to mention...

Hi, thanks for the info about that nvcap overwrite key. I didnt tried that already. But perhaps that code isnt (isnt planned) in our chameleon builds.

Mitch, this NVCAP key is on the trunk long time ago, look here.
I just don't have a nVidia to test it so, i can't give more info.

#882
kozlek

kozlek

    InsanelyMac Sage

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

Yep. chameleon injects an fixed NVCAP at boottime - but at least one byte got changed somehow at running time of OS X - look at my screenshoots of IORegistry Explorer.
Not all values (of the 20 hex bytes) shown in IORreg are 100% of chameleon bootloaded injects it. Some bytes got changed after the booting by OS X (some drivers i believe).


2 bytes changing by chameleon, if you don't trust me (from nvidia.c):

default_NVCAP[6] = channel1;
	default_NVCAP[8] = channel2;


#883
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,884 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Thanks !
I looked only fast over the chameleon source and found only the fixed config
static uint8_t default_NVCAP[]= {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a,
0x00, 0x00, 0x00, 0x00
};
So later (i not seen at fist look) does chameleon work with that initial code and overwrites 6 + 8 (index from 0) first with zeros then computes the values.
Thanks for clearing that "magic" of changing an (my meaning before your hint to that code of array 6,8 changes) :(
HINT: Because the NVCAP compute routine for 6+8 bytes sets them to zero , then computes it may be more logical to set also byte 6+ 8 (0x0d + 0x00) to 0x00 in the static init code ?

#884
geticus

geticus

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 120 posts
  • Gender:Male
  • Location:Paris
Hi guys and thank you for this excellent work.

I'm using Chameleon 2.0 RC5 r518 in my hack, with P-states and C-states enbled in com.apple.Boot, and evrything seems to be all right except for the temperature of my E8400 : it stacks at 53-54 degrees Celsius ?

In Extra/Extension I have only fakesmc.kext, JMicronATA.kext and LegacyHDA.kext and I use DSDT.aml fixes for my GA-EP35-DS3 (no P-States or C-States fix)

Thank you

#885
JBraddock

JBraddock

    Ph.D (Can) in Human Rights

  • Members
  • PipPipPipPipPipPipPip
  • 549 posts
  • Location:UK

Hi guys and thank you for this excellent work.

I'm using Chameleon 2.0 RC5 r518 in my hack, with P-states and C-states enbled in com.apple.Boot, and evrything seems to be all right except for the temperature of my E8400 : it stacks at 53-54 degrees Celsius ?

In Extra/Extension I have only fakesmc.kext, JMicronATA.kext and LegacyHDA.kext and I use DSDT.aml fixes for my GA-EP35-DS3 (no P-States or C-States fix)

Thank you

This is also case for me. CPU (P8400) works hotter and also there is almost a constant fan noise.

Now, I've overridden my SSDT tables and get them loaded from Extra folder. Alongside a Legacy ACPI_SMC_PlatformPlugin, I have P-tates and C-States (don't know how many of them though). At least, it works cooler and fan is more stable.

By the way, is there a relatively stable version of this branch of Chameleon.
Which build do you suggest?

#886
geticus

geticus

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 120 posts
  • Gender:Male
  • Location:Paris
Thank you man, I'm feeling less alone.

How did you do it because I do not know much about SSdT tables

greatings

#887
JBraddock

JBraddock

    Ph.D (Can) in Human Rights

  • Members
  • PipPipPipPipPipPipPip
  • 549 posts
  • Location:UK

Thank you man, I'm feeling less alone.
How did you do it because I do not know much about SSdT tables
greatings


Here is the main guide that I used. There are things that I couldn't figure out yet.
Also, I believe that you could post this topic as it is also a feature of this branch of Chameleon so it shouldn't be off topic.

#888
Time2Retire

Time2Retire

    Retired

  • Retired Developers
  • 1,012 posts
  • Gender:Female
  • Location:anonymouse.eu
Would it be possible to include something like this:
if (cpuid_features() & CPUID_FEATURE_APIC)
	verbose("Local APIC discovered and enabled\n");
This to help inform us poor (HP) notebook users what is going on? Thanks.

Next step would be to include some lines (inspired by lapic.c) to start the local apic, since this is what is bothering me (HP BIOS doesn't do its job).

Edit: I presume that this might be added to struct CPU in platform.h and I found out that CPUID_FEATURE_APIC is basically:
#define	CPUID_FEATURE_APIC	(1ULL << 9)
But I'm still stuck on the call to: cpuid_features()

Edit 2: Ok. I think I need do_cpuid(0, cpid); and then do the logical AND on either cpid[2] or cpid[3] but I don't know which one to use. Confused on this hi-low byte-word thing. CPUID_FEATURE_APIC is bit two on cpid[3]? Anyone?

Edit 3: Right. I found a boot-log, in IORegistryExplorer, and bit 9 is set (CPU: Features: 0x000002ff) and thus this all is moot. Too bad that non of the lurkers here clued me in.

#889
ed_co

ed_co

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 187 posts

Memory detection is enabled by default in the modules revisions as well.
The memory detection code by Mozodojo and others is different from Asere's in that it only detects the default speed, not what it's been changed to by adjusting the memory multiplier aor base clock in BIOS.
Asere didn't post his source code, so we don't know for certain how he detected actual speed.


Didn't post the code?

I thought that was here:
http://github.com/aserebln/Chameleon

Maybe I'm wrong, but if I am not wrong, maybe you can fix all the problems with the mem detection... because doesn't work yet.

And should be great to add the ATI HD 5870 support as well to run this cards OTB.

Cheers.

#890
Time2Retire

Time2Retire

    Retired

  • Retired Developers
  • 1,012 posts
  • Gender:Female
  • Location:anonymouse.eu
Dang. This beast keeps rebooting here.

What are the minimal com.apple.Boot.plist requirements for this? What options do I need? What folders / files do I have to have?

Please note that I don't want a theme, logo or anything. In fact I don't have much space left for it on my boot partition. I have only one HDD in my notebook. Please advise.

Edit: This is what I have right now (in: /Volumes/KICKSTART/Library/Preferences/SystemConfiguration/com.apple.Boot.plist) for Revolution 6.24, which boots fine here:

p.s. I've already add some extras, which are not used in Revolution but whatever. Still no go.

My /DSDT.aml is fine and I have /Extra/Extensions/Extensions.mkext so that can't be it. What's next?

TIA,

Sam.

#891
DarwinX

DarwinX

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 619 posts
  • Gender:Male
  • Location:Florida
Doesn't Extensions.mkext belong in the /Extra folder rather than the /Extra/Extensions one?


"My /DSDT.aml is fine and I have /Extra/Extensions/Extensions.mkext so that can't be it. What's next?"

#892
Time2Retire

Time2Retire

    Retired

  • Retired Developers
  • 1,012 posts
  • Gender:Female
  • Location:anonymouse.eu

Doesn't Extensions.mkext belong in the /Extra folder rather than the /Extra/Extensions one?


"My /DSDT.aml is fine and I have /Extra/Extensions/Extensions.mkext so that can't be it. What's next?"

Silly typo. My bad.

Thanks.

Edit: This is what I use to create it:
sudo kextcache -v 1 -t -l -mkext2 /Volumes/KICKSTART/Extra/Extensions.mkext /Volumes/KICKSTART/Extra/Extensions/
Edit 2: No more reboots. Sweet.

#893
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 476 posts
  • Gender:Male
  • Location:41.648324, -70.635260

Didn't post the code?

I thought that was here:
http://github.com/aserebln/Chameleon

Maybe I'm wrong, but if I am not wrong, maybe you can fix all the problems with the mem detection... because doesn't work yet.

And should be great to add the ATI HD 5870 support as well to run this cards OTB.

Cheers.

Doesn't work how; no speed, default speed, incorrect speed, etc.?
Have you filed a bug report at http://forge.voodoop...rg/p/chameleon/?

According to rekursor the AsereBLN memory detection code hasn't been posted;
http://www.efixusers...p;postcount=211

Assuming it has been posted since, now you can fix C2RC5 yourself.

#894
Time2Retire

Time2Retire

    Retired

  • Retired Developers
  • 1,012 posts
  • Gender:Female
  • Location:anonymouse.eu
Mem detection works on my HP G72, but Chameleon did select iMac11,1 as model identifier, which is wrong because there is no iMac with this CPU type.:
Memory Slots:  ECC:	DisabledBANK 0/DIMM0:  Size:	2 GB  Type:	DDR3  Speed:	1333 MHz  Status:	OK  Manufacturer:	Ramaxel Technology  Part Number:	RMT1970ED48E8F1333A  Serial Number:	XXXXXXXXBANK 2/DIMM1:  Size:	2 GB  Type:	DDR3  Speed:	1333 MHz  Status:	OK  Manufacturer:	Ramaxel Technology  Part Number:	RMT1970ED48E8F1333A  Serial Number:	XXXXXXXX
But 'About This Mac' shows "Unknown" instead of "Intel i3-350m" (or whatever it should be). Can this be fixed, cleanly, somehow? I'm aware of the dirty hack, but that's not what I am looking for. I want the booter to recognize my CPU.

p.s. I have 10.6.4 with all the latest updates installed.

Edit: The CPU is detected as 0x0901. Well. That's what I see in IORegistryExplorer as cpu-type.

#895
JBraddock

JBraddock

    Ph.D (Can) in Human Rights

  • Members
  • PipPipPipPipPipPipPip
  • 549 posts
  • Location:UK
In r518, there is small problem with the custom theme. I am using a custom theme designed for full hd resolution. With this version of Chameleon, the timeout screen and the actual Chameleon screen appears to be overlapped. In the timeout screen, I see my Chameleon screen as well.

I tried this branch of Chameleon before and this is the first time I witnessed such a problem.

#896
ed_co

ed_co

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 187 posts

Doesn't work how; no speed, default speed, incorrect speed, etc.?
Have you filed a bug report at http://forge.voodoop...rg/p/chameleon/?

According to rekursor the AsereBLN memory detection code hasn't been posted;
http://www.efixusers...p;postcount=211

Assuming it has been posted since, now you can fix C2RC5 yourself.


Doesn't work memory speed detection, shows 1066 instead 1333 (or 1328 as shows the post screen, and AsereBLN 1.1.9 as well).
I don't know how to do the bug report, as I am not chameleon coder.
As I said, I didn't know if AsereBLN posted or not the mem detection, but the page that I refer is different than chameleon web page. So maybe is there, maybe not...
Sorry if I am bothering someone, maybe my english is not very good and there is a misunderstanding.

Cheers.

#897
atka

atka

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts

Doesn't work memory speed detection, shows 1066 instead 1333 (or 1328 as shows the post screen, and AsereBLN 1.1.9 as well).
I don't know how to do the bug report, as I am not chameleon coder.
As I said, I didn't know if AsereBLN posted or not the mem detection, but the page that I refer is different than chameleon web page. So maybe is there, maybe not...
Sorry if I am bothering someone, maybe my english is not very good and there is a misunderstanding.

Cheers.


No he hasn't posted his mem detection code.

#898
Time2Retire

Time2Retire

    Retired

  • Retired Developers
  • 1,012 posts
  • Gender:Female
  • Location:anonymouse.eu

Doesn't work memory speed detection, shows 1066 instead 1333 (or 1328 as shows the post screen, and AsereBLN 1.1.9 as well).
I don't know how to do the bug report, as I am not chameleon coder.
As I said, I didn't know if AsereBLN posted or not the mem detection, but the page that I refer is different than chameleon web page. So maybe is there, maybe not...
Sorry if I am bothering someone, maybe my english is not very good and there is a misunderstanding.

Cheers.

So you can't fix it yourself, and neither can I for you, but you may want to add the missing bits. Fill in the blanks by starting with the module manufacturer and type. How else can the developers help you? I wouldn't know how. Also. Is the rest of the RAM info displayed correctly?

p.s. Have a look at this include file. Do you see the manufacturer of your modules in this list? If yes, that would be a good start.

Edit: My HP Notebook display won't work without using MacBookPro6,1 and thus I had to grab the data from a real one. Here's the CPU info of it: Intel® Core™ i5 CPU M 540 @ 2.53GHz

And here's the data I use now:
The 'cpu_type' should be 0x602 (for this specific CPU).// defaults for a MacBook Prostatic const SMStrEntryPair const sm_macbookpro_defaults[] = {    {"SMbiosvendor",    "Apple Inc."            },    {"SMbiosversion",    "MBP61.88Z.0057.B05.1003191134"    },    {"SMbiosdate",        "03/19/10"            },    {"SMmanufacter",    "Apple Inc."            },    {"SMproductname",    "MacBookPro6,1"            },    {"SMsystemversion",    "1.0"                },    {"SMserial",        "SOMESRLNMBR"            },    {"SMfamily",        "MacBookPro"            },    {"SMboardmanufacter",    "Apple Inc."            },    {"SMboardproduct",    "Mac-F22589C8"            },    { "",""    }};
Just in case anyone else wants it.

#899
Jingu

Jingu

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 119 posts
How did you get your cpu-type 0x602 to be recognized?

My laptop core i7 keeps getting recognized as a desktop core i7, so I keep getting iMac11,1 core i3/i5/i7 instead of a MacbookPro.

Looks like the code for MacBookPro core i5/i7 processors still has not been included in smbios_patcher.c of Chameleon v2 RC5 as of revision 517.

#900
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,111 posts
  • Gender:Male
  • Location:Brazil

My laptop core i7 keeps getting recognized as a desktop core i7

Try using the system-type=2 override (EDIT: see post by Azimuth below!)
"system-type is now supported. Default is 1 (Desktop). Use system-type=2 in com.apple.Boot.plist if you have laptop."
From here:
http://www.efixusers...hread.php?t=644
Which comes from here:
http://blog.tdev.me/...intel-atom.html
Which in turn comes from SMBIOSResolver and other now obsolete stuff..





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