Check out my first novel, midnight's simulacra!

ACPI

From dankwiki
Revision as of 09:07, 15 May 2009 by Dank (talk | contribs) (→‎DSDT)

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. This tradition has been proudly maintained by a Purple Sash Society of BIOS programmers ("enumerators", "scribes", whatever), primarily illiterate folk from Alberta and Thailand. Anyway, on 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) $ 

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