Jump to content

Open Core 0.6.8 utility ACPIe

Recommended Posts

Hey iFabio, I had a similar question today and saw that this is (currently) the topmost Google result. I figured I'd put my findings here to help future visitors. Here's my mini-tutorial:

acpie is a utility that accepts a binary ACPI dump and a path within and will report the offset, if any, where that path occurs. I haven't looked at the repo but I have to imagine this is probably just logic OpenCore already uses internally for things like ACPI patching that's being exposed via this single-purpose utility. In my case, I'd seen the note below while reviewing the documentation and figured I'd give it a try.



Use with care, not all OEM tables can be parsed. Use ACPIe utility to debug. ACPIe compiled with DEBUG=1 make command produces helpful ACPI lookup tracing.


Anyway, the syntax of the command is:

acpie.exe -f (filename of a binary ACPI dump) (ACPI path) [optional: occurrence, if none specified will assume the first]

You can see here that my first command failed because I was trying to use the textual tables, not the compiled one. The successful invocation shows the offset within the file where \_SB occurs, so we know that our path exists within ACPI (as it should for \_SB).



In my case I wanted to verify that the path I'd found for my HPET entry was valid. I manually 'walked up' the nested braces within the .dsl file, but wasn't sure if my understanding of the syntax was correct (I'm honestly still a little confused why sometimes it's _SB and other times _SB_, but that's another story...). Anyway, the path I'd found was


and if I enter it...


You can see that I get an offset, so I think I've at least got the proper path in mind. You can also see what happens if you specify a value that couldn't be found (I can assure you that replacing an O for a 0 was totally not a mistake I made and definitely completely intentional 😊).

Just to double-check, if I grab a copy of the opcode list, open the .aml and go to decimal offset 9280 (hex 2440), I can see the opcode info combined with the textual name:


46 ('F', apparently? Maybe this means something different in this context?)
48 H
50 P
45 E
54 T

As mentioned, you can also specify an optional 'occurrence' value after the path, so like in this case if you wanted to find the nth Current Resource Settings value, you can do so (which would be useful for the 'Skip' parameter in the OpenCore configuration file)


Anyway, hope that was helpful.

Edited by daturaio
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Hey! Welcome to Olarila.com  Please Disable Your ADBlocker!


The popup will be closed in 15 seconds...