Jump to content

Chameleon bootloader with SSDT and DSDT override


ab___73
 Share

131 posts in this topic

Recommended Posts

never mind I finally found them even if the addresses I had were completely wrong.. I'm trying to inject them in the dsdt and use dropssdt in chameleon now

 

edit: it works :rolleyes: , I got rid of those errors and my fan isn't always spinning like before.. however according to cpu-x I don't have throttling (always stuck at 2100mhz). tomorrow I'll see how long does the battery last now, these are my tables btw: Archive.zip

 

any suggestion on the throttling? I may try to copy and paste the pstates of the mb4,1 tomorrow

Link to comment
Share on other sites

never mind I finally found them even if the addresses I had were completely wrong.. I'm trying to inject them in the dsdt and use dropssdt in chameleon now

 

edit: it works :hammer: , I got rid of those errors and my fan isn't always spinning like before.. however according to cpu-x I don't have throttling (always stuck at 2100mhz). tomorrow I'll see how long does the battery last now, these are my tables btw: Archive.zip

 

any suggestion on the throttling? I may try to copy and paste the pstates of the mb4,1 tomorrow

You can not trust cpu-x completely. Use other measuring tools instead, for example MSR Tools. I always run MSR Tools + Geekbench to test the throttling.

 

EDIT: cpu-x vs. coolbook

cpuxvscoolbook.jpg

 

kizwan

Link to comment
Share on other sites

alright here's my ioreg dump vs a mb4,1 one that has the same processor. I already modified the _PSS section so as you can see (under CPU0 - ACPI_SMC_Platformplugin) the PerformanceStateArray and the stepper-data sections are identical in the two ioregs. Almost everything else is the same as well but the CPUPLimit value, which is 0x0 in the macbook and 0x6 in mine. I think this value locks my cpu to the highest pstate. if I put for example 5 pstates under _PSS (instead of 7), I will get CPUPLimit=0x04 and so on... any way to manually force this value to 0x0 through dsdt?

 

You can not trust cpu-x completely. Use other measuring tools instead, for example MSR Tools. I always run MSR Tools + Geekbench to test the throttling.

 

kizwan

 

kizwan, I think cpu-x reads the info directly from the processor. It used to detect throttling with every power management kext I've been using. If it shows the processor stuck at 2100 I'm pretty sure it is not throttling :D

 

edit: just a confirmation.. sysctl -a output:

 

[...]

hw.ncpu = 2

hw.cpufrequency = 2100000000

hw.availcpu = 2

hw.ncpu: 2

hw.activecpu: 2

hw.cpufrequency_max: 2100000000

hw.cpufrequency_min: 2100000000

hw.cpufrequency: 2100000000

[...]

ioregs.zip

Link to comment
Share on other sites

never mind I finally found them even if the addresses I had were completely wrong.. I'm trying to inject them in the dsdt and use dropssdt in chameleon now

 

edit: it works :) , I got rid of those errors and my fan isn't always spinning like before.. however according to cpu-x I don't have throttling (always stuck at 2100mhz). tomorrow I'll see how long does the battery last now, these are my tables btw: Archive.zip

 

any suggestion on the throttling? I may try to copy and paste the pstates of the mb4,1 tomorrow

 

coconup,

 

How did you find you CState tables? I would love to find out.

 

-

AB

Link to comment
Share on other sites

coconup,

 

How did you find you CState tables? I would love to find out.

 

-

AB

 

basically I found the beginning of the first cst table at the end of what I extracted according to my ssdt (which was wrong), then I extracted a huge piece of memory beggining more or less from there and I chopped it with hexedit to get all the correct tables :)

 

I installed msr tools and it reports some weird things like a 37x multiplier at 2.1ghz (it should be 10.5).. no vanilla throttling so far.. however I have throttling if I use coolbook but I still have that 37x at full speed. also, I lost that 'stepper-data' section in my ioreg, I think it happened after installing coolbook so I'll remove it in order to make some tests on an eventual vanilla throttling.

 

btw has anybody a clean vanilla throttling with applecpupm?

 

edit: I removed coolbook and msr-tools reporst I'm stuck at 800mhz (lowest pstate)... it is definitely that CPUPLimit value that must be changed, any idea?

btw I got back to the ioreg I posted before, and it's not cosmetic.. my cpu is really stuck at 800mhz cos benchmarks went down from 2800 to 1000 in geekbench :wacko:

Link to comment
Share on other sites

nobody had a look to those ioregs? they are almost identical I just need to change that CPUPLimit value.. no ideas?!

 

Had a look and they are nearly identical.

 

What i have noticed is that the CState overrides are different. coco = True, and the MacBook = MacBook4,1.

 

You adjust this by looking in the ACPI_SMC_PlatformPlugin.kext located in the IOPlatformPluginFamily.kext and adjusting this kext to match your configuration.

 

If i were u i would take a few steps back and use the original p-states from your mac clone. Modify them so you can get a better understanding of how your mac clone works.

 

I have found out the hard way, that not all 2.1Ghz Processors are the same, they will be different revisions and the one in your mac will be different to the one in your mac clone.

They are many white papers and documents written by intel on speedstep implementation if you google, intel speedstep whitepaper you will find them.

 

I'm sorry that i cannot give you the answers you wish.

 

--

AB

Link to comment
Share on other sites

well, I already looked into that kext but I found nothing apparently useful.. however I didn't search deeply. if you have an idea of what to look for it would be helpful. also I thought that if my smbios is set on a mb4,1 configuration it should be enough, indeed if I set my smbios to mp3,1 some of those values in the cpu's ioreg disappear. finally, I found my original pstates to be slightly wrong (I have a chinese laptop), since they are configured to a maximum of 2300mhz while my cpu runs at 2100...

Link to comment
Share on other sites

I made it :)

 

there is an array in that kext called PLimitDict, I just had to add Macbook4,1=0 to make my cpuplimit value equal to 0 in the ioreg.. now I have 'vanilla' throttling, however it would be cool to find a cleaner solution through the dsdt

Link to comment
Share on other sites

I made it :)

 

there is an array in that kext called PLimitDict, I just had to add Macbook4,1=0 to make my cpuplimit value equal to 0 in the ioreg.. now I have 'vanilla' throttling, however it would be cool to find a cleaner solution through the dsdt

So...this explain why I have vanilla throttling, right? Because it has been set (by default) to MacPro3,1 in smbios.plist (located in EFI partition). There is already an entry for MacPro3,1 in Info.plist (PLimitDict - ACPI_SMC_PlatformPlugin.kext).

 

Can you share with me what values missing when you set to MacPro3,1? My ioreg shows MacBookPro4,1 but System Profiler shows MacPro3,1. :) This is because there are smbios.plist (MacPro3,1) & SMBIOSResolver.kext (MacBookPro4,1) in the EFI partition. I did not remove SMBIOSResolver.kext when migrated to Chameleon 2.0 RC1.

 

kizwan

Link to comment
Share on other sites

  • 2 weeks later...

GUYS,

i've made as it was adviced in first post. i got run ./getSSDT5.sh command and i get 5 dsl files and one dsdt file. then i've try to run next step with ./iasl -sa command and i got some errors while compiling:

 

MacBookPro:ssdtboot-chameleon2 dee$ ./iasl -sa SSDT-0.dsl

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20080926 [Oct 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

SSDT-0.dsl 1: ACPI {

Error 4095 - ^ syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK

 

ASL Input: SSDT-0.dsl - 126 lines, 4715 bytes, 0 keywords

 

 

Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

 

i don't know what to do now ! please advice me how to fix my ACPI ...

 

right now i'm running with AppleIntelCPUManagement form 10.5.7 with SMBIOS override for MacBookPro2,1 i'm using also CoolBookController that works fine so my CPU temp with normal usual work on laptop is about 68-78 C (2.33Ghz C2D) is it OK ?

GeekBench 64bit result is : 3425 points http://browse.geekbench.ca/geekbench2/view/135796

Link to comment
Share on other sites

GUYS,

i've made as it was adviced in first post. i got run ./getSSDT5.sh command and i get 5 dsl files and one dsdt file. then i've try to run next step with ./iasl -sa command and i got some errors while compiling:

 

MacBookPro:ssdtboot-chameleon2 dee$ ./iasl -sa SSDT-0.dsl

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20080926 [Oct 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

SSDT-0.dsl 1: ACPI {

Error 4095 - ^ syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK

 

ASL Input: SSDT-0.dsl - 126 lines, 4715 bytes, 0 keywords

 

 

Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

 

i don't know what to do now ! please advice me how to fix my ACPI ...

 

right now i'm running with AppleIntelCPUManagement form 10.5.7 with SMBIOS override for MacBookPro2,1 i'm using also CoolBookController that works fine so my CPU temp with normal usual work on laptop is about 68-78 C (2.33Ghz C2D) is it OK ?

GeekBench 64bit result is : 3425 points http://browse.geekbench.ca/geekbench2/view/135796

 

 

Just to make you aware that the SSDT-0.aml files currently don't work with the new Chameleon2 graphical bootloader.

 

If you are still interested post the files.

 

--

AB

Link to comment
Share on other sites

i'm using chameleon posted here with SSDT and DSDT support. here are my SSDT files :

SSDT.zip

 

of course that i'm interresting. i also wondering that ModelID have something with it..couse i've checked plist for ACPI_SMC_PlatformPlugin.kext and i found there different ModelID's but only one entry for MacbookPro2,1

so i will try to config my SMBIOS list to get MacbookPro4,1 and check that will have some influence.

Link to comment
Share on other sites

hmm, weird,

I can not find out _CST table.

My Mobo is ASUS P5W DH DELUXE + E6300

 

[	0.000000] ACPI: RSDP 000FAF00, 0024 (r2 ACPIAM)
[	0.000000] ACPI: XSDT C7F80100, 005C (r1 A_M_I_ OEMXSDT  12000726 MSFT	   97)
[	0.000000] ACPI: FACP C7F80290, 00F4 (r3 A_M_I_ OEMFACP  12000726 MSFT	   97)
[	0.000000] ACPI: DSDT C7F80590, 9560 (r1  A0543 A0543000		0 INTL 20060113)
[	0.000000] ACPI: FACS C7F8E000, 0040
[	0.000000] ACPI: APIC C7F80390, 0080 (r1 A_M_I_ OEMAPIC  12000726 MSFT	   97)
[	0.000000] ACPI: OEMB C7F8E040, 0066 (r1 A_M_I_ AMI_OEM  12000726 MSFT	   97)
[	0.000000] ACPI: HPET C7F89AF0, 0038 (r1 A_M_I_ OEMHPET  12000726 MSFT	   97)
[	0.000000] ACPI: MCFG C7F89B30, 003C (r1 A_M_I_ OEMMCFG  12000726 MSFT	   97)
[	0.000000] ACPI: SSDT C7F8E0B0, 01C6 (r1	AMI   CPU1PM		1 INTL 20060113)
[	0.000000] ACPI: SSDT C7F8E280, 013A (r1	AMI   CPU2PM		1 INTL 20060113)
[	0.000000] ACPI: Local APIC address 0xfee00000
[	0.000000] ACPI: PM-Timer IO Port: 0x808
[	0.000000] ACPI: Local APIC address 0xfee00000

 

There is only "CPU1PM" and "CPU2PM", instead of "Cpu0Tst" and "Cpu1Tst".

 

1. Full dmesg list is as followings.

 

http://pastebin.com/m1bb7b703

 

2. SSDT1.dsl

http://pastebin.com/d7eac401

 

I try to use several ROM BIOS as followings.

v.2503 Working Great!! But, it just shutdown abnormally after login 3-5 minutes, In case of Ubuntu is O.K.

 

v. 2602, v. 2704, v. 2801 did not support

 

3. My full ahci dump in Ubuntu 9.04

http://www.mediafire.com/?sharekey=743debc...803ef2771e15176

Link to comment
Share on other sites

i'm using chameleon posted here with SSDT and DSDT support. here are my SSDT files :

SSDT.zip

 

of course that i'm interresting. i also wondering that ModelID have something with it..couse i've checked plist for ACPI_SMC_PlatformPlugin.kext and i found there different ModelID's but only one entry for MacbookPro2,1

so i will try to config my SMBIOS list to get MacbookPro4,1 and check that will have some influence.

 

Your SSDT-0 and SSDT-1 are used for SATA power management i would just ignore and skip loading these SSDT files. I've attached compiled SSDT-2 to 4 which relates to powermanagement. I manually compiled these using the following commands.

 

iasl -sa SSDT-2.dsl

iasl -sa SSDT-3.dsl

iasl -sa SSDT-4.dsl

 

put the SSDT-2.aml, SSDT-3.aml and SSDT-4.aml files into the root of your system. The bootloader will skip 0 and 1 and load the default tables since they are not found but continue to load 2,3 and 4.

 

dakkie.zip

 

hmm, weird,

I can not find out _CST table.

My Mobo is ASUS P5W DH DELUXE + E6300

 

[	0.000000] ACPI: RSDP 000FAF00, 0024 (r2 ACPIAM)
[	0.000000] ACPI: XSDT C7F80100, 005C (r1 A_M_I_ OEMXSDT  12000726 MSFT	   97)
[	0.000000] ACPI: FACP C7F80290, 00F4 (r3 A_M_I_ OEMFACP  12000726 MSFT	   97)
[	0.000000] ACPI: DSDT C7F80590, 9560 (r1  A0543 A0543000		0 INTL 20060113)
[	0.000000] ACPI: FACS C7F8E000, 0040
[	0.000000] ACPI: APIC C7F80390, 0080 (r1 A_M_I_ OEMAPIC  12000726 MSFT	   97)
[	0.000000] ACPI: OEMB C7F8E040, 0066 (r1 A_M_I_ AMI_OEM  12000726 MSFT	   97)
[	0.000000] ACPI: HPET C7F89AF0, 0038 (r1 A_M_I_ OEMHPET  12000726 MSFT	   97)
[	0.000000] ACPI: MCFG C7F89B30, 003C (r1 A_M_I_ OEMMCFG  12000726 MSFT	   97)
[	0.000000] ACPI: SSDT C7F8E0B0, 01C6 (r1	AMI   CPU1PM		1 INTL 20060113)
[	0.000000] ACPI: SSDT C7F8E280, 013A (r1	AMI   CPU2PM		1 INTL 20060113)
[	0.000000] ACPI: Local APIC address 0xfee00000
[	0.000000] ACPI: PM-Timer IO Port: 0x808
[	0.000000] ACPI: Local APIC address 0xfee00000

 

There is only "CPU1PM" and "CPU2PM", instead of "Cpu0Tst" and "Cpu1Tst".

 

1. Full dmesg list is as followings.

 

http://pastebin.com/m1bb7b703

 

2. SSDT1.dsl

http://pastebin.com/d7eac401

 

I try to use several ROM BIOS as followings.

v.2503 Working Great!! But, it just shutdown abnormally after login 3-5 minutes, In case of Ubuntu is O.K.

 

v. 2602, v. 2704, v. 2801 did not support

 

3. My full ahci dump in Ubuntu 9.04

http://www.mediafire.com/?sharekey=743debc...803ef2771e15176

 

Don't worry.

Some motherboards don't have CST tables since they don't need them. E.G. my gigabyte EP45 doesn't have them. CST are normally only required in laptops for preserving battery life.

Link to comment
Share on other sites

Big thx

i'll try them soon and give you the shout.. :(

 

PS . did you modified them somehow or just compiled .aml files ? cause i made .aml files and chameleon loaded successfully those tables as it was showed on startup. 3 of them loaded.. but still errors with ACPI_SMC_PlatformPlugin.kext

Link to comment
Share on other sites

Don't worry.

Some motherboards don't have CST tables since they don't need them. E.G. my gigabyte EP45 doesn't have them. CST are normally only required in laptops for preserving battery life.

 

Thanks,

Link to comment
Share on other sites

Don't worry.

Some motherboards don't have CST tables since they don't need them. E.G. my gigabyte EP45 doesn't have them. CST are normally only required in laptops for preserving battery life.

 

Hmm, really?

Your mobo is GA-EP45-UD3R?

When you boot in Ubuntu or Linux, do you see SSDT?

In my Mobo, p5w dh deluxe, I can not see SSDT if I used latest 2801 ROM from ASUS. That's why I downgrade to 2503, old ROM.

There were SSDT only when I used 2503 ROM, but, it just shutdown abnormally after booting OSX, 3-5 minutes.

In case of Ubuntu, it's O.K.

 

This Symptom is really weird.

And I grabbed Ioregister when I used 2503 ROM as followings.

I have to grab this Ioregistry within 5 minutes after booting OSX. ^ ^

 

Link to comment
Share on other sites

Hello

any way to use this bootloader from usb?

 

Yea, I replace boot with attached bootloader in Boot-132 USB Memory stick.

It seems to be worked.

And It can loads initrd.img.

Link to comment
Share on other sites

hmm, weird,

I can not find out _CST table.

My Mobo is ASUS P5W DH DELUXE + E6300

 

[	0.000000] ACPI: RSDP 000FAF00, 0024 (r2 ACPIAM)
[	0.000000] ACPI: XSDT C7F80100, 005C (r1 A_M_I_ OEMXSDT  12000726 MSFT	   97)
[	0.000000] ACPI: FACP C7F80290, 00F4 (r3 A_M_I_ OEMFACP  12000726 MSFT	   97)
[	0.000000] ACPI: DSDT C7F80590, 9560 (r1  A0543 A0543000		0 INTL 20060113)
[	0.000000] ACPI: FACS C7F8E000, 0040
[	0.000000] ACPI: APIC C7F80390, 0080 (r1 A_M_I_ OEMAPIC  12000726 MSFT	   97)
[	0.000000] ACPI: OEMB C7F8E040, 0066 (r1 A_M_I_ AMI_OEM  12000726 MSFT	   97)
[	0.000000] ACPI: HPET C7F89AF0, 0038 (r1 A_M_I_ OEMHPET  12000726 MSFT	   97)
[	0.000000] ACPI: MCFG C7F89B30, 003C (r1 A_M_I_ OEMMCFG  12000726 MSFT	   97)
[	0.000000] ACPI: SSDT C7F8E0B0, 01C6 (r1	AMI   CPU1PM		1 INTL 20060113)
[	0.000000] ACPI: SSDT C7F8E280, 013A (r1	AMI   CPU2PM		1 INTL 20060113)
[	0.000000] ACPI: Local APIC address 0xfee00000
[	0.000000] ACPI: PM-Timer IO Port: 0x808
[	0.000000] ACPI: Local APIC address 0xfee00000

 

There is only "CPU1PM" and "CPU2PM", instead of "Cpu0Tst" and "Cpu1Tst".

 

1. Full dmesg list is as followings.

 

http://pastebin.com/m1bb7b703

 

2. SSDT1.dsl

http://pastebin.com/d7eac401

 

I try to use several ROM BIOS as followings.

v.2503 Working Great!! But, it just shutdown abnormally after login 3-5 minutes, In case of Ubuntu is O.K.

 

v. 2602, v. 2704, v. 2801 did not support

 

3. My full ahci dump in Ubuntu 9.04

http://www.mediafire.com/?sharekey=743debc...803ef2771e15176

 

I finally find out proper ROM BIOS, 2504, not 2503.

It seems to be final version for supporting EIST.

I update every acpi dump using 2504, ROM.

http://www.mediafire.com/?sharekey=743debc...803ef2771e15176

Link to comment
Share on other sites

i'm having trouble getting anything useful from dmesg, even with mach_kernel.voodoo set to run with the boot flag kprintf=1. it's just all a bunch of appledecrypt.kext output. so even though i have a modified dsdt.aml that has ssdt.aml integrated into it, i can't see the modified memory locations because of appledecrypt.kext (i'm assuming). anyone deal with this? i'm not sure if i can use dsmos.kext as a replacement for appledecrypt, and if that would even help.

 

this is on an asus 1000he running vanilla 10.5.7 with all non-essential hack kexts on the efi chameleon partition. running chameleon 2.01.

 

any help is appreciated.

Link to comment
Share on other sites

i'm having trouble getting anything useful from dmesg, even with mach_kernel.voodoo set to run with the boot flag kprintf=1. it's just all a bunch of appledecrypt.kext output. so even though i have a modified dsdt.aml that has ssdt.aml integrated into it, i can't see the modified memory locations because of appledecrypt.kext (i'm assuming). anyone deal with this? i'm not sure if i can use dsmos.kext as a replacement for appledecrypt, and if that would even help.

 

this is on an asus 1000he running vanilla 10.5.7 with all non-essential hack kexts on the efi chameleon partition. running chameleon 2.01.

 

any help is appreciated.

 

Use the system console to view the debug output.

 

Applications->Utilities->Console

 

Search for SSDT

 

Hope this helps

Link to comment
Share on other sites

 Share

×
×
  • Create New...