Chameleon bootloader with SSDT and DSDT override, I written a patch for Chameleon which overrides default SSDT and DSDT |
Welcome to the Genius Bar. Here's how this forum works:
1. Members are encouraged to make a guide that details something that they might have found troubling or challenging. Chances are, if you've seen the same question asked over and over again, you should write a guide for it.
2. This is not the forum for asking questions. If you have a question about a thread that's already here, feel free to ask it. Just don't start a thread for a specific question. Use the other forums here for that.
3. Posting links to off-site tutorials is not allowed.
4. That's it! Thanks for sharing your information with the rest of us. :)
To keep this forum clean this forum is moderated. You can post in existing topics but new ones will have to be approved before they show up. Quality guides promoting new methods and encouraging users to learn will be approved.
![]() |
Chameleon bootloader with SSDT and DSDT override, I written a patch for Chameleon which overrides default SSDT and DSDT |
|
ab___73
InsanelyMac Protégé
|
![]() |
Jan 13 2009, 07:51 PM Post #41
|
![]()
|
New version uploaded, see start of topic.
Thanks again for all your support. __ AB |
|
wayover
InsanelyMac Protégé
|
![]() |
Jan 13 2009, 08:44 PM Post #42
|
|
New version uploaded, see start of topic. Thanks, we test the new version. QUOTE (ab___73) I wonder if anyone knows anything about the boot filesize restriction? This restriction seems to it's possible to bypass, someone already wrote about it, probably david elliot? It is very a pity that other gurus do not support the joint project. For a common cause! |
|
ab___73
InsanelyMac Protégé
|
![]() |
Jan 13 2009, 09:19 PM Post #43
|
![]()
|
Thanks, we test the new version. This restriction seems to it's possible to bypass, someone already wrote about it, probably david elliot? It is very a pity that other gurus do not support the joint project. For a common cause! Thanks for the hint: articles/time-to-grow-up Hmm, this could be possible!! |
|
nofearl
InsanelyMac Protégé
|
![]() |
Jan 14 2009, 10:26 AM Post #44
|
|
here is ssdts for Sony Vaio VGN-UX390N and VGN-TZ17GN
I have no idea what to look/fix.. any pointers would be nice.. BTW I get 5-6 hours of battery life with TZ but only 2 with UX (instead of 5-6 with extended battery on XP)
Attached File(s)
|
|
wayover
InsanelyMac Protégé
|
![]() |
Jan 14 2009, 07:24 PM Post #45
|
|
with new version 5 files SSDT is out and they are loaded properly!
iDQ965GFdsdt_ssdt_v2.zip ( 12.72K )
Number of downloads: 37Have a question. My e6300 processor supports only two pstates speedstep. min-max multiplier 6x/7x. It makes sense to do SSDT? I tried genericcpupowerman. When playing a movie(mpeg4), with frequency in few seconds jump voltage,and it lasts about an hour and a half). This is to display in the utility. I do not know how it is harmful to health and the normal functioning of the processor, the constant switching power surges. and yet I have errors, which I do not know how to fix( CODE sudo dmesg | grep ACPI ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed Thx |
|
pere
InsanelyMac Legend
|
![]() |
Jan 14 2009, 09:56 PM Post #46
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I did load a SSDT-1.aml (C-States control) from a Macbook and changed it to SSDT-3 (Where my Vaio has its C-States) , first time it loaded, it complained as the user 1 post ago:
Jan 14 17:59:53 Pere-osx kernel[0]: ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed Jan 14 17:59:53 Pere-osx kernel[0]: ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized I opened the .dsl from the macbook and changed this: "CPU0IST ", 0xBEEC9A98, 0x000002FE, "CPU1IST ", 0xBEEC8F18, 0x000000C8, "CPU0CST ", 0xBEEC7C98, 0x00000222, "CPU1CST ", 0xBEEC7F18, 0x00000085 Into my real information: "CPU0IST ", 0x7FED95F4, 0x00000238, "CPU1IST ", 0x7FED982C, 0x000000C8, "CPU0CST ", 0x7FED90D7, 0x00000498, "CPU1CST ", 0x7FED956F, 0x00000085 And it worked perfectly for my C-States... I will keep porting the Macbook SSDT to my Sony Vaio SSDT and see what can i get. I did use the debug version so i could see the messages. EDIT: I did compare all tables and found all of them are Equal from Macbook to Sony Vaio Cr11Z, the only differences i found: SSDT-0 : Vaio table includes two AHCI ports, Macbook, just one SSDT-1 (Vaio) SSDT-3 (Macbook), CPU C-States registers were different (as different processors must be). So no solution to shutdown for Sony Vaio on SSDT tables, just an improvement on C-States. I have attached al SSDT tables from Macbook... Looking forward for next version. Thanks ab____73.
Attached File(s)
|
|
ab___73
InsanelyMac Protégé
|
![]() |
Jan 14 2009, 10:12 PM Post #47
|
![]()
|
with new version 5 files SSDT is out and they are loaded properly!
iDQ965GFdsdt_ssdt_v2.zip ( 12.72K )
Number of downloads: 37Have a question. My e6300 processor supports only two pstates speedstep. min-max multiplier 6x/7x. It makes sense to do SSDT? I tried genericcpupowerman. When playing a movie(mpeg4), with frequency in few seconds jump voltage,and it lasts about an hour and a half). This is to display in the utility. I do not know how it is harmful to health and the normal functioning of the processor, the constant switching power surges. and yet I have errors, which I do not know how to fix( CODE sudo dmesg | grep ACPI ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed Thx I've looked at your dumps (thanks), I found no cst tables in them. When I dump the SSDT tables from my Laptop (HP530) I find CStates in the SSDT tables. When I dump the SSDT tables from my Desktop (Gigabyte P45) I find no CStates. That might explain the lack of CStates on your motherboard. the constant switching power surges GenericCPUPM has a latency setting that can be changed. This setting changes the frequency between PState (SpeedStep) changes. If you are worried i would set this according to your requirements. Although a greater latency might give degrade the performance of your processor, since it will take longer to detect the CPU load. I'm working on another version of the bootloader that allows other modified BIOS tables to get loaded. I've found an entry in the FACP table which might explain CState Problems: CODE [000h 000 4] Signature : "FACP" /* Fixed ACPI Description Table */ [004h 004 4] Table Length : 000000F4 [008h 008 1] Revision : 04 [009h 009 1] Checksum : E8 /* Incorrect checksum, should be E6 */ [00Ah 010 6] Oem ID : "APPLE " [010h 016 8] Oem Table ID : "Apple00 " [018h 024 4] Oem Revision : 0000005C [01Ch 028 4] Asl Compiler ID : "Loki" [020h 032 4] Asl Compiler Revision : 0000005F [024h 036 4] FACS Address : 7FAC5000 [028h 040 4] DSDT Address : 7FBAE000 [02Ch 044 1] Model : 00 [02Dh 045 1] PM Profile : 03 [02Eh 046 2] SCI Interrupt : 0009 [030h 048 4] SMI Command Port : 000000B2 [034h 052 1] ACPI Enable Value : A0 [035h 053 1] ACPI Disable Value : A1 [036h 054 1] S4BIOS Command : 00 [037h 055 1] P-State Control : 00 [038h 056 4] PM1A Event Block Address : 00000400 [03Ch 060 4] PM1B Event Block Address : 00000000 [040h 064 4] PM1A Control Block Address : 00000404 [044h 068 4] PM1B Control Block Address : 00000000 [048h 072 4] PM2 Control Block Address : 00000000 [04Ch 076 4] PM Timer Block Address : 00000408 [050h 080 4] GPE0 Block Address : 00000428 [054h 084 4] GPE1 Block Address : 00000000 [058h 088 1] PM1 Event Block Length : 04 [059h 089 1] PM1 Control Block Length : 02 [05Ah 090 1] PM2 Control Block Length : 00 [05Bh 091 1] PM Timer Block Length : 04 [05Ch 092 1] GPE0 Block Length : 08 [05Dh 093 1] GPE1 Block Length : 00 [05Eh 094 1] GPE1 Base Offset : 20 [05Fh 095 1] _CST Support : 00 [060h 096 2] C2 Latency : 0065 [062h 098 2] C3 Latency : 03E9 [064h 100 2] CPU Cache Size : 0000 [066h 102 2] Cache Flush Stride : 0000 [068h 104 1] Duty Cycle Offset : 01 [069h 105 1] Duty Cycle Width : 00 [06Ah 106 1] RTC Day Alarm Index : 0D [06Bh 107 1] RTC Month Alarm Index : 00 [06Ch 108 1] RTC Century Index : 32 [06Dh 109 2] Boot Architecture Flags : 0000 [06Fh 111 1] Reserved : 00 [070h 112 4] Flags (decoded below) : 000004A5 WBINVD is operational : 1 WBINVD does not invalidate : 0 All CPUs support C1 : 1 C2 works on MP system : 0 Power button is generic : 0 Sleep button is generic : 1 RTC wakeup not fixed : 0 RTC wakeup/S4 not possible : 1 32-bit PM Timer : 0 Docking Supported : 0 Reset Register Supported : 1 Sealed Case : 0 Headless - No Video : 0 Native instr after SLP_TYP : 0 PCIEXP_WAK Supported : 0 Use Platform Timer : 0 RTC_STS valid after S4 : 0 Remote Power-on capable : 0 APIC Cluster Model : 0 APIC Physical Dest Mode : 0 Hope this helps! AB |
|
ab___73
InsanelyMac Protégé
|
![]() |
Jan 15 2009, 02:27 PM Post #48
|
![]()
|
@Pere,
Have you tried the voodoo kernel to fix your shutdown problem. When i checked the source code there was a mod to the shutdown routine. This might work for you? -- AB |
|
pere
InsanelyMac Legend
|
![]() |
Jan 15 2009, 03:01 PM Post #49
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
No kernel/Openhalt/Acpi patch/Chud has bring back the shutdown properly.
|
|
wayover
InsanelyMac Protégé
|
![]() |
Jan 15 2009, 09:28 PM Post #50
|
|
the constant switching power surges GenericCPUPM has a latency setting that can be changed. This setting changes the frequency between PState (SpeedStep) changes. If you are worried i would set this according to your requirements. Although a greater latency might give degrade the performance of your processor, since it will take longer to detect the CPU load. Thanks. Now, in normal operation my desktop burn stone to 42 C, and keeping 48C when i'm coding videosource I'm working on another version of the bootloader that allows other modified BIOS tables to get loaded. I've found an entry in the FACP table which might explain CState Problems: from my mb FACP table
FACP.zip ( 1.43K )
Number of downloads: 50 |
|
mackerintel
InsanelyMac Geek
|
![]() |
Jan 17 2009, 08:56 PM Post #51
|
![]() ![]()
|
I don't really see the point of this version. SSDT can easily be added to DSDT and then you may specify DropSSDT=y and original SSDTs will be ignored. I said this somewhere in the topic dedicated to DSDT patch but that topic is now way too bloated. About 64k limit, extra and so on: it's already done in experimental chameleon. We're work on some nice features now.
|
|
_caine
InsanelyMac Protégé
|
![]() |
Jan 17 2009, 09:04 PM Post #52
|
![]()
|
I don't really see the point of this version. SSDT can easily be added to DSDT and then you may specify DropSSDT=y and original SSDTs will be ignored. Agree. It could be much better if someone fixes fsb detection like it done in smbiosresolver or in other injectors. |
|
mackerintel
InsanelyMac Geek
|
![]() |
Jan 17 2009, 10:15 PM Post #53
|
![]() ![]()
|
|
|
_caine
InsanelyMac Protégé
|
![]() |
Jan 17 2009, 10:16 PM Post #54
|
![]()
|
|
|
OneSman7
InsanelyMac Protégé
|
![]() |
Jan 17 2009, 10:17 PM Post #55
|
![]()
|
I don't really see the point of this version. SSDT can easily be added to DSDT and then you may specify DropSSDT=y and original SSDTs will be ignored. I said this somewhere in the topic dedicated to DSDT patch but that topic is now way too bloated. About 64k limit, extra and so on: it's already done in experimental chameleon. We're work on some nice features now. So where can I get this experimental version? |
|
mackerintel
InsanelyMac Geek
|
![]() |
Jan 17 2009, 10:33 PM Post #56
|
![]() ![]()
|
|
|
wayover
InsanelyMac Protégé
|
![]() |
Jan 18 2009, 06:12 PM Post #57
|
|
why netkas do not share sources? he use chameleon project source code and violates all the valid rules, it's crap guys, sadly
|
|
Signal64
InsanelyMac Geek
|
![]() |
Jan 27 2009, 11:37 AM Post #58
|
![]() ![]()
|
mackerintel is obviously correct. You can add SSDT to your DSDT and it will override those tables in bios.
Guessing you can add any other ACPI table there as well. Don't see why not (yet). You can also debug by specifying a test DSDT=(put your test dsdt aml filename here) on boot. Very helpful I'm interested in solving a "no _PSS table" and "_CST evaluation failed" errors. CODE kernel[0]: ACPI_SMC_PlatformPlugin::start - no _PSS table kernel[0]: ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed kernel[0]: ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized I tried to use my MacBook5,1 SSDT as a template and replaced the CST info to what my board was reporting and still got the _CST error. I also dumped all of the ACPI tables from the MacBook5,1 and of course there is no _PSS table there. I did a bit of digging for Linux on MacBook acpi topics and see there was some c-state problems in that arena. It was implied that OS X is ignoring the the FACP _CST Support : 00 entry and doing it's own thing hence reporting 00 to Linux caused C-State problems there. No definitive proof on that, but looking at the Info.plist for ACPI_SMC_PlatformPlugin.kext we see entries for C-States based on MacBook models among other goodies such as iGPU throttling (of course for apple hardware). There is also a Simple_PlatformPlugin.kext which looks interesting just by it's existence. Both of these are located in the IOPlatformPluginFamily.kext/Contents/PlugIns folder. Soooo. now I'm curious to try a few more things out here and see why some folks can apparently get their CST working in SSDT (model number not being set or found in the ACPI_SMC?) and what happens if we just try to use the Simple platform kext instead. BTW - I wrote this quick and dirty script to dump all of the acpi tables (with disassembly). Yea, it isn't elegant, more ksh'sh and brute force, but it works well and can be adapted. I'm using it to compare the various tables on different platforms. unzip, run the script ./dumpacpitbls, and it will create a acpitbls folder with all of the aml/dsl files.
Attached File(s)
|
|
ab___73
InsanelyMac Protégé
|
![]() |
Jan 30 2009, 12:08 AM Post #59
|
![]()
|
mackerintel is obviously correct. You can add SSDT to your DSDT and it will override those tables in bios. Guessing you can add any other ACPI table there as well. Don't see why not (yet). You can also debug by specifying a test DSDT=(put your test dsdt aml filename here) on boot. Very helpful BTW - I wrote this quick and dirty script to dump all of the acpi tables (with disassembly). Yea, it isn't elegant, more ksh'sh and brute force, but it works well and can be adapted. I'm using it to compare the various tables on different platforms. unzip, run the script ./dumpacpitbls, and it will create a acpitbls folder with all of the aml/dsl files. Thanks for the script signal64. Mackerintel is correct, you can add all processor functions (pstates, cstates and tstates) inside the _PR scope of the DSDT. I used this method before I modified MackerIntels excellent bootloader. I found it quite hard to follow all of the changes I was making to the dsdt file and thought it would be easier to break it down into smaller tables just like what the oem manufactures do. I wasn't going to release this into public domain, since i didn't think anyone would interested in it. But after reading that someone had power management problems i thought i would so that I could help. Thanks to everyone that uploaded their tables and Mackerintel for the original idea. |
|
coconup
InsanelyMac Geek
|
![]() |
Apr 16 2009, 01:45 PM Post #60
|
![]() ![]() ![]()
|
has anybody got ssdt tables from a macbook4,1? (possibly the t8100 one
|
![]() |
|
Lo-Fi Version | Time is now: 6th September 2010 - 03:13 AM |