acpidumping
Sometimes you need to play with ACPI tables, there are even rumours in the man pages of people patching up their ACPI tables to make them work better. This is not ground I have trod.
FreeBSD has a tool in base called
acpidump
, but it is lacking in comparison to
the full upstream tools you might use on Linux. The full Intel ACPI tools are
available in the
acpica-tools
package on FreeBSD.
With those you can then use the
acpidump
commands you might be asked to on
Linux. If asked what you ACPI tables contain using these tools for a dump looks
like this:
# /usr/local/bin/acpidump -b
# ls
apic.dat ecdt.dat msdm.dat ssdt11.dat ssdt5.dat wsmt.dat
asf!.dat facp.dat nhlt.dat ssdt12.dat ssdt6.dat xsdt.dat
bgrt.dat facs.dat phat.dat ssdt13.dat ssdt7.dat
dbg2.dat fpdt.dat sdev.dat ssdt14.dat ssdt8.dat
dbgp.dat hpet.dat ssdt.dat ssdt2.dat ssdt9.dat
dmar.dat lpit.dat ssdt1.dat ssdt3.dat tpm2.dat
dsdt.dat mcfg.dat ssdt10.dat ssdt4.dat uefi.dat
These binary files can be decompiled using the
iasl
tool:
# iasl *.dat
This gives you a
dsl
file (source?) for each
dat
file which might be
helpful if you want to check what support is on your motherboard.
$ head -n 20 lpit.dsl
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20230628 (64-bit version)
* Copyright (c) 2000 - 2023 Intel Corporation
*
* Disassembly of lpit.dat, Wed Sep 25 09:42:49 2024
*
* ACPI Data Table [LPIT]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue (in hex)
*/
[000h 0000 004h] Signature : "LPIT" [Low Power Idle Table]
[004h 0004 004h] Table Length : 000000CC
[008h 0008 001h] Revision : 01
[009h 0009 001h] Checksum : 05
[00Ah 0010 006h] Oem ID : "INSYDE"
[010h 0016 008h] Oem Table ID : "ADL-P-M"
[018h 0024 004h] Oem Revision : 00000002
[01Ch 0028 004h] Asl Compiler ID : "ACPI"
My work on FreeBSD is supported by the FreeBSD Foundation , you can contribute to improving FreeBSD with code, documentation or financially by donating to the Foundation .