Check out my first novel, midnight's simulacra!
ACPI: Difference between revisions
From dankwiki
No edit summary |
(→SRAT) |
||
Line 92: | Line 92: | ||
==SRAT== | ==SRAT== | ||
[http://lwn.net/Articles/7177/ Linux in 2009] gained support for parsing of the BIOS-provided SRAT table ([http://mail-index.netbsd.org/port-amd64/2009/11/23/msg001026.html NetBSD also had support] by later that year). The SRAT describes memory and processor topology, and the hot-pluggable status of all. | [http://lwn.net/Articles/7177/ Linux in 2009] gained support for parsing of the BIOS-provided SRAT table ([http://mail-index.netbsd.org/port-amd64/2009/11/23/msg001026.html NetBSD also had support] by later that year). The SRAT describes memory and processor topology, and the hot-pluggable status of all. | ||
* Use the CONFIG_X86_64_ACPI_NUMA kernel option to enable SRAT-based enumeration of NUMA. | * Use the CONFIG_X86_64_ACPI_NUMA kernel option to enable SRAT-based enumeration of [[NUMA]]. | ||
==See also== | ==See also== |
Revision as of 06:43, 23 January 2010
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.
Specifications
The current version is 3.0, amended as 3.0a. Version 4.0 is under development.
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) $
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) $
SRAT
Linux in 2009 gained support for parsing of the BIOS-provided SRAT table (NetBSD also had support by later that year). The SRAT describes memory and processor topology, and the hot-pluggable status of all.
- Use the CONFIG_X86_64_ACPI_NUMA kernel option to enable SRAT-based enumeration of NUMA.
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