Thank you Duvel300.
Now people here can also fix the wrong latency values – in the same table – because like I said here this might be blocking ACPI CA from entering a C2+ state (the values are wrong anyway). Let's see what this brings.
Good job!
Note: If you have something like this:
[05Fh 095 1] _CST Support : E3
[060h 096 2] C2 Latency : 0065
[062h 098 2] C3 Latency : 03E9
Then you need to fix it. Just follow the provided link.
I am not completely sure about this, I tried it as well with no result. It seems Apple doesn't use this at all. Also comparing the FADT from different Mac's they all contain the max value for those fields which means it's not in use. I might be wrong tho and it doesn't hurt to give it a try.
Thanks for sharing the info and the patch.
However would be great if you can get in more details, about what is missing and what should be replaced/added.
Hey The King, you are right and I might make a little tutorial around it. I have read some of your work with regards to sound etc, great work! (hint..

).
The failing tables are missing the Reset Register bits:
[074h 116 12] Reset Register : <Generic Address Structure>
[074h 116 1] Space ID : 01 (SystemIO)
[075h 117 1] Bit Width : 08
[076h 118 1] Bit Offset : 00
[077h 119 1] Access Width : 00
[078h 120 8] Address : 0000000000000CF9
[080h 128 1] Value to cause reset : 06
Master Chief is correct, this is the missing piece of the puzzle.
brilliant
now, no kext are needed to reboot neither to shutdown/sleep
excellent work, only question :
can you explain who to patch the fadt.aml, i have a P35 and the PM2 address is 0000000000000000
or who to recompile our own facp table, iasl gives me errors (ever if i don't edit the dsl file) :
/Users/cparm/Desktop/facp.dsl 12: [000
Error 4096 - ^ Invalid character (0x5B), expecting ASL keyword or name
/Users/cparm/Desktop/facp.dsl 12: [000
Error 4096 - ^ syntax error, unexpected PARSEOP_INTEGER, expecting PARSEOP_DEFINITIONBLOCK
ps: i have recompiled PC_EFI 10.5 with your patch, since chameleon Rc4 gives me an error with system profiler in the sata section : "no device found" ???
with the patched pc_efi all work like a charm
=>
That's the bummer here so to say, you can't compile the dsl file, you can only decompile it to show you the contents of the file. So we will have to resort to editing the binary or aml file directly. You can do this with any decent hex editor. Personally I use Hex Editor Neo Free (Windows....).
To take your example of editing the value for your PM2 address, look up the offset for PM2 in your DSL file and you'll see it's at offset 0x48 and 4 bytes in length. Open the AML file with a hexeditor go to offset 0x48 and change the bytes to 0x00, and save the file. Take a look at the 2 included pictures.
Oh and good work you got it already ported to PC EFI!