Check out my first novel, midnight's simulacra!
ACPI: Difference between revisions
From dankwiki
Line 94: | Line 94: | ||
* Legacy info regarding [http://acpi.sourceforge.net/dsdt/index.php Linux DSDT] replacement | * Legacy info regarding [http://acpi.sourceforge.net/dsdt/index.php Linux DSDT] replacement | ||
* Intel's [http://www.intel.com/technology/IAPC/acpi/ ACPI] page, including <tt>iasl</tt>. | * Intel's [http://www.intel.com/technology/IAPC/acpi/ ACPI] page, including <tt>iasl</tt>. | ||
* The MADT table can be used to discover [[SMP]] topology | * The MADT table can be used to discover [[SMP on x86|SMP]] topology | ||
[[Category: x86]] | [[Category: x86]] |
Revision as of 11:27, 27 October 2009
Not to be confused with APIC. The second worst type of coder in the world is the kind that shows up with a bloody shovel. The worst kind is a BIOS coder. Upwards and onwards to ACPI, a creation of the Advanced Configuration and Power Interface group.
DSDT
Differentiated System Description Tables.
[recombinator](0) $ sudo acpidump -t DSDT -b -o acpidump.dsdt [recombinator](0) $ iasl -d acpidump.dsdt Intel ACPI Component Architecture AML Disassembler version 20061109 [Mar 19 2009] Copyright (C) 2000 - 2006 Intel Corporation Supports ACPI Specification Revision 3.0a Loading Acpi table from file acpidump.dsdt Acpi table [DSDT] successfully installed and loaded Pass 1 parse of [DSDT] Pass 2 parse of [DSDT] Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions) ..................................................... etc Parsing completed Disassembly completed, written to "acpidump.dsl" [recombinator](0) $
Rebuilding a decompiled DSDT
[recombinator](0) $ iasl -tc acpidump.dsl Intel ACPI Component Architecture ASL Optimizing Compiler version 20061109 [Mar 19 2009] Copyright (C) 2000 - 2006 Intel Corporation Supports ACPI Specification Revision 3.0a acpidump.dsl 2186: Acquire (MUT0, 0x0FFF) Warning 1103 - Possible operator timeout is ignored ^ ASL Input: acpidump.dsl - 5185 lines, 178349 bytes, 1615 keywords AML Output: acpidump.aml - 15771 bytes 546 named objects 1069 executable opcodes Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 597 Optimizations [recombinator](0) $
acpidump/acpixtract
acpidump differs subtly and annoyingly between Debian and FreeBSD.
[recombinator](0) $ sudo acpidump -o recombinator.acpi [recombinator](0) $ acpixtract -l recombinator.acpi Signature Length OemId OemTableId OemRevision CompilerId CompilerRevision DSDT 17452 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 FACS 64 FACP 116 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 APIC 120 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 WDDT 64 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 MCFG 60 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 ASF! 166 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 HPET 56 "INTEL " "DG965WH " 000006C1 "MSFT" 01000013 SSDT 524 "INTEL " "CpuPm " 000006C1 "MSFT" 01000013 SSDT 373 "INTEL " "Cpu0Ist " 000006C1 "MSFT" 01000013 SSDT 373 "INTEL " "Cpu1Ist " 000006C1 "MSFT" 01000013 SSDT 373 "INTEL " "Cpu2Ist " 000006C1 "MSFT" 01000013 SSDT 373 "INTEL " "Cpu3Ist " 000006C1 "MSFT" 01000013 RSDT 80 "INTEL " "DG965WH " 000006C1 " " 01000013 RSDP "INTEL " Found 15 ACPI tables [20060324] [recombinator](0) $ acpixtract recombinator.acpi Acpi table [DSDT] - 17452 bytes written to DSDT.dat Acpi table [SSDT] - 524 bytes written to SSDT1.dat Acpi table [SSDT] - 373 bytes written to SSDT2.dat Acpi table [SSDT] - 373 bytes written to SSDT3.dat Acpi table [SSDT] - 373 bytes written to SSDT4.dat Acpi table [SSDT] - 373 bytes written to SSDT5.dat [recombinator](0) $ iasl -d DSDT.dat Intel ACPI Component Architecture AML Disassembler version 20061109 [May 15 2007] Copyright (C) 2000 - 2006 Intel Corporation Supports ACPI Specification Revision 3.0a Loading Acpi table from file DSDT.dat Acpi table [DSDT] successfully installed and loaded Pass 1 parse of [DSDT] Pass 2 parse of [DSDT] Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions) Parsing completed Disassembly completed, written to "DSDT.dsl" [recombinator](0) $
Specifications
The current version is 3.0, amended as 3.0a. Version 4.0 is under development.
See also
- Linux ACPI page at http://www.lesswatts.org/projects/acpi/
- Legacy info regarding Linux DSDT replacement
- Intel's ACPI page, including iasl.
- The MADT table can be used to discover SMP topology