最近在研究 ACPICA ,发现iasl.exe 的一个有趣的功能:生成当前ACPI Table Hardware Mapfile。这个功能可以生成当前 ACPI Table 中硬件资源的列表,例如:
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140828-32 [Sep 19 2014]
Copyright (c) 2000 - 2014 Intel Corporation
Compilation of "dsdt.dsl" - Fri Sep 19 09:43:52 2014
Resource Descriptor Connectivity Map
------------------------------------
GPIO Controller: INT33FC \_SB.GPO0 // Intel Baytrail GPIO Controller
Pin Type Direction Polarity Dest _HID Destination
0000 GpioInt -Interrupt- ActiveBoth INTCFD9 \_SB_.
0000 GpioInt -Interrupt- ActiveBoth INTCFD9 \_SB_.TBAD
0001 GpioInt -Interrupt- ActiveBoth INTCFD9 \_SB_.TBAD
0002 GpioIo OutputOnly -Field- \_SB_.GPO0.CCU2
0003 GpioIo OutputOnly -Field- \_SB_.GPO0.CCU3
0026 GpioIo InputOnly 80860F14 \_SB_.SDHC
0026 GpioInt -Interrupt- ActiveBoth 80860F14 \_SB_.SDHC
0028 GpioIo OutputOnly 80860F14 \_SB_.SDHC
0029 GpioIo OutputOnly 80860F14 \_SB_.SDHC
0036 GpioIo OutputOnly -No HID- \_SB_.PCI0.OTG1
0041 GpioIo OutputOnly 10EC5640 \_SB_.I2C2.RTEK
005F GpioIo OutputOnly -Field- \_SB_.GPO0.TCON
0060 GpioInt -Interrupt- ActiveBoth INTCFD9 \_SB_.TBAD
0064 GpioIo OutputOnly MCD0001 \MDM_
I2C Controller: 80860F41 \_SB.I2C2 // Intel Baytrail I2C Host Controller
Type Address Speed Dest _HID Destination
I2C 0010 00061A80 INT33BE \_SB_.I2C2.CAM1 // Camera Sensor OV5693
I2C 001C 00061A80 10EC5640 \_SB_.I2C2.RTEK // Realtek I2S Audio Codec
I2C 0048 00061A80 INT33F0 \_SB_.I2C2.CAMB // Camera Sensor MT9M114
SPI Controller: 80860F0E \_SB.SPI1 // Intel SPI Controller
Type Address Speed Dest _HID Destination
SPI 0001 007A1200 AUTH2750 \_SB_.SPI1.FPNT // AuthenTec AES2750
UART Controller: 80860F0A \_SB.URT1 // Intel Atom UART Controller
Type Address Speed Dest _HID Destination
UART 0000 0001C200 UTK0001 \_SB_.URT1.UART
UART 0000 0001C200 OBDA8723 \_SB_.URT1.BTH1
比如,从上面可以看到 Table中有一个名为SPI1的 SPI 控制器,ID 是 80860F0E,然后它下面有一个叫做 FPNT 的设备,HID为AUTH2750,速度是8Mhz(0x7a1200)。
使用方法是: iasl.exe -lm dsdt.asl
生成结果在同一个目录下的 dsdt.map 中。
請問 dsdt.asl 怎麼來的?
随便找的一个项目编译生成的。