You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add ability to disable comments containing binary text in disassembler #970
I'm parsing the output of iasl -d to extract the binary MOF data from it (the data provided by the Linux kernel for my platform is inaccurate, for some reason), and I do this by searching the file for 0x. Unfortunately, in rare occurrences, the comments after the actual data can contain 0x, and I don't see a way to disable this.
I can take a look at this next week after the long weekend here in the US (extra long weekend for me since I am taking the day off tomorrow) and if needed get more info on or push a commit with a fix for this, thanks!
I think I've mostly figured it out, just not too sure where exactly to put the flag/what to name the variable that it sets. I'll make a PR once I get it working and go from there.
You can still implement this if you want, but I just realized I no longer have a need for it. Turns out the tool I was using to decompress the BMOF does work, but the tool to turn the decompressed BMOF into text-based MOF doesn't...
Thanks! At first I was using bmfdec, then I switched to a modified fork of it that works on the asl dump from RWEverything (for Windows). After that I went back to Linux to see if I could get the same info, and copied the kernel-supplied bmof data from /sys/devices/platform/PNP0C14:xyz/wmi_bus/wmi_bus-PNP0C14:xyz/05901221-D566-11D1-B2F0-00A0C9062910-xyz/bmof
I think I ended up figuring it out, but I'll post these anyway:
And maybe a little bit of misreading the windows code that interfaces with WMI, heh. It does end up referencing the methods' names, after about 4 layers of 1d/2d lookup tables.
Now I just have to add something to alienware-wmi to allow interfacing with these from userspace. Unfortunately there's not a dumb driver like acpi_call to do this as a stop-gap.
Regarding a dump driver lile acpi_call: i am currently working on something similar, but it will take some time since i have to reverse-engineer some details of the ACPI-WMI interface.
Activity
SaketADumbre commentedon Aug 29, 2024
I can take a look at this next week after the long weekend here in the US (extra long weekend for me since I am taking the day off tomorrow) and if needed get more info on or push a commit with a fix for this, thanks!
JL2210 commentedon Aug 29, 2024
I think I've mostly figured it out, just not too sure where exactly to put the flag/what to name the variable that it sets. I'll make a PR once I get it working and go from there.
SaketADumbre commentedon Aug 29, 2024
Sounds good, thanks a lot!
JL2210 commentedon Aug 29, 2024
You can still implement this if you want, but I just realized I no longer have a need for it. Turns out the tool I was using to decompress the BMOF does work, but the tool to turn the decompressed BMOF into text-based MOF doesn't...
Wer-Wolf commentedon Aug 30, 2024
Do you use the
bmfdecutilities? How do you extract the binary MOF data?Wer-Wolf commentedon Aug 30, 2024
Also, can you send me:
acpidumpI am the maintainer of the WMI subsystem, so i might be able to help you.
JL2210 commentedon Aug 30, 2024
Thanks! At first I was using
bmfdec, then I switched to a modified fork of it that works on the asl dump from RWEverything (for Windows). After that I went back to Linux to see if I could get the same info, and copied the kernel-supplied bmof data from/sys/devices/platform/PNP0C14:xyz/wmi_bus/wmi_bus-PNP0C14:xyz/05901221-D566-11D1-B2F0-00A0C9062910-xyz/bmofI think I ended up figuring it out, but I'll post these anyway:
acpidump hex dump
The BMOF data stored in that is mostly in the DSDT, but some is in SSDT2 as well.
This is the bmof data from the kernel (or at least the one I'm interested in):
bmof09.zip
What I was confused by is that the output of bmfparse lists the methods starting at zero while their IDs actually start at 13:
And maybe a little bit of misreading the windows code that interfaces with WMI, heh. It does end up referencing the methods' names, after about 4 layers of 1d/2d lookup tables.
Now I just have to add something to
alienware-wmito allow interfacing with these from userspace. Unfortunately there's not a dumb driver likeacpi_callto do this as a stop-gap.Wer-Wolf commentedon Aug 30, 2024
Maybe you want to use
bmf2mof? The other utility does next to no postprocessing.JL2210 commentedon Aug 30, 2024
Yep, that puts it in a human-readable format. I thought I needed IDs 0-12 but it turns out I was looking in the wrong place
Wer-Wolf commentedon Aug 30, 2024
Regarding a dump driver lile
acpi_call: i am currently working on something similar, but it will take some time since i have to reverse-engineer some details of the ACPI-WMI interface.SaketADumbre commentedon Sep 13, 2024
Hey @Wer-Wolf thanks a lot for taking a look at this and nice to have you as the maintainer of the ACPI WMI subsystem!