HardwareEnableWithDSDT
Summary
This page is going to tell how to read DSDT/SSDT table and how it affects your system.
Overview of ACPI
*TBD*
Dump DSDT/SSDT
There are many ways to dump ACPI tables. The most easy way is to select and read out tables file from /sys/firmware/acpi/tables
user@here:~$ tree /sys/firmware/acpi/tables/
/sys/firmware/acpi/tables/
|-- APIC
|-- ATKG
|-- BOOT
|-- DBGP
|-- DSDT
|-- ECDT
|-- FACP
|-- FACS
|-- HPET
|-- MCFG
|-- OEMB
|-- SLIC
|-- SSDT
`-- dynamic
|-- SSDT2
|-- SSDT3
|-- SSDT4
`-- SSDT5
1 directory, 17 filesYou can copy files out with root privilege and use iasl to decompile it
user@here:~$ sudo cp /sys/firmware/acpi/tables/DSDT ~/DSDT.bin user@here:~$ sudo chown ikepanhc:ikepanhc /home/ikepanhc/DSDT.bin user@here:~$ iasl -d ~/DSDT.bin Intel ACPI Component Architecture AML Disassembler version 20090521 [Jun 30 2009] Copyright (C) 2000 - 2009 Intel Corporation Supports ACPI Specification Revision 3.0a Loading Acpi table from file /home/user/DSDT.bin 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 "/home/user/DSDT.dsl"
Information from /sys
There are lots of ACPI devices described in DSDT/SSDT. DSDT/SSDT describes them in a tree form.
user@here:~$ tree /sys/devices/LNXSYSTM\:00/
/sys/devices/LNXSYSTM:00/
|-- LNXCPU:00
|-- LNXCPU:01
|-- LNXPWRBN:00
|-- LNXTHERM:00
| `-- LNXTHERM:01
`-- device:00
|-- ATK0101:00
|-- PNP0A08:00
| |-- ACPI0003:00
| |-- PNP0C02:00
| |-- PNP0C02:05
| |-- PNP0C0A:00
| |-- device:01
| | |-- LEN0013:00
| | |-- PNP0000:00
| | |-- PNP0100:00
| | |-- PNP0103:00
| | |-- PNP0200:00
| | |-- PNP0303:00
| | |-- PNP0800:00
| | |-- PNP0B00:00
| | |-- PNP0C02:01
| | |-- PNP0C02:02
| | |-- PNP0C02:03
| | |-- PNP0C02:04
| | |-- PNP0C04:00
| | `-- PNP0C09:00
| | `-- LEN0014:00
| |-- device:02
| | |-- device:03
| | | |-- device:04
| | | `-- device:05
| | |-- device:06
| | | |-- device:07
| | | `-- device:08
| | |-- device:09
| | |-- device:0a
| | |-- device:0b
| | `-- device:0c
| |-- device:0d
| |-- device:0e
| |-- device:0f
| |-- device:10
| |-- device:11
| |-- device:12
| |-- device:13
| | `-- device:14
| | |-- device:15
| | `-- device:16
| |-- device:17
| |-- device:18
| |-- device:19
| |-- device:1a
| |-- device:1b
| | |-- device:1c
| | |-- device:1d
| | `-- device:1e
| |-- device:1f
| | `-- device:20
| | |-- device:21
| | |-- device:22
| | `-- device:23
| |-- device:24
| |-- device:25
| | `-- device:26
| |-- device:27
| | |-- device:28
| | |-- device:29
| | |-- device:2a
| | |-- device:2b
| | |-- device:2c
| | |-- device:2d
| | `-- device:2e
| |-- device:2f
| | `-- device:30
| `-- device:31
| |-- device:32
| `-- device:33
|-- PNP0C01:00
|-- PNP0C0D:00
|-- PNP0C0E:00
|-- PNP0C0F:00
|-- PNP0C0F:01
|-- PNP0C0F:02
|-- PNP0C0F:03
|-- PNP0C0F:04
|-- PNP0C0F:05
|-- PNP0C0F:06
`-- PNP0C0F:07The folder name starts with "device" means that this device has no HID (Hardware ID). It's hard to bind a driver on it and execute its method, so we will ignore them.
The folder name starts with "PNP" or "ACPI" means that this device is generic ACPI device, not a machine specific device. When we are going to enable some special function, its not necessary to take a look.


