Jump to content

Chameleon bootloader with SSDT and DSDT override


  • Please log in to reply
130 replies to this topic

#41
ab___73

ab___73

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
New version uploaded, see start of topic.

Thanks again for all your support.

__
AB

#42
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts

New version uploaded, see start of topic.

Thanks, we test the new version.

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!

#43
ab___73

ab___73

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts

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!!
;)

#44
nofearl

nofearl

    InsanelyMac Protégé

  • Members
  • PipPip
  • 71 posts
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 Files



#45
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
with new version 5 files SSDT is out and they are loaded properly!
Attached File  iDQ965GFdsdt_ssdt_v2.zip   12.72KB   55 downloads
Have 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(
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

#46
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts
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 Files



#47
ab___73

ab___73

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts

with new version 5 files SSDT is out and they are loaded properly!
Attached File  iDQ965GFdsdt_ssdt_v2.zip   12.72KB   55 downloads
Have 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(

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:

[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

#48
ab___73

ab___73

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
@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

#49
pere

pere

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 726 posts
No kernel/Openhalt/Acpi patch/Chud has bring back the shutdown properly.

#50
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts

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
Attached File  FACP.zip   1.43KB   63 downloads

#51
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts
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.

#52
_caine

_caine

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male
  • Location:Russia, Tver

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.

#53
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

Agree.
It could be much better if someone fixes fsb detection like it done in smbiosresolver or in other injectors.


iNDi is working on it and has made some spectacular progress

#54
_caine

_caine

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male
  • Location:Russia, Tver

iNDi is working on it and has made some spectacular progress

offtop: any news about netkas' pc efi 9 sources?

#55
OneSman7

OneSman7

    InsanelyMac Protégé

  • Members
  • Pip
  • 35 posts
  • Gender:Male
  • Location:Moscow

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? :) I do not mind what to use:SSDT or DSDT, as soon as it fixes shutdown/restart.

#56
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

offtop: any news about netkas' pc efi 9 sources?

As time goes by it seems that netkas has never intended to release the source

So where can I get this experimental version? :)

Nowhere. It's only for developers.

#57
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
why netkas do not share sources? he use chameleon project source code and violates all the valid rules, it's {censored} guys, sadly

#58
Signal64

Signal64

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 159 posts
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 :wacko:

I'm interested in solving a "no _PSS table" and "_CST evaluation failed" errors.
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 Files



#59
ab___73

ab___73

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts

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 :shock:
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.

#60
coconup

coconup

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 190 posts
has anybody got ssdt tables from a macbook4,1? (possibly the t8100 one ;)), thank you





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