ACPI系统描述表
ACPI中定义了描述控制系统信息、功能、系统的ACPI方法的表。所有表都具有ACPI中规定的头文件。表的头文件中有签名,签名是从内存中检索表时识别表的关键。参见表6-9。
这些表的位置是从系统内存中Root System Description Pointer(RSDP)结构的表开始的。RSDP通过从BIOS内存中查找“RSD PTR”字符串来定位。“RSD PTR”是RSDP的签名。RSDP指向的是RSDT或XSDT。RSDT或XSDT是管理各表位置的表,具有各表的位置信息。
XSDT指向的表一定从FADT(Fixed ACPI Description Table)开始。FADT中有Firmware ACPI Control Structure(FACS)、Differentiated System Description Table(DSDT)、寄存器块。
寄存器块表示固定硬件寄存器的位置。FACS是BIOS为使用ACPI而预留的内存空间,其中有记录从S状态唤醒时要执行的代码的物理地址的Firmware Waking Vector等。
DSDT表示定义块的表。定义块是称为ACPI命名空间的AML中记载的树状数据结构,包括系统硬件安装的详细信息、通用硬件编程模型中使用的寄存器或方法等。
访问定义块的数据对象称为“评价”,是指通过AML解释器解码定义块的AML。AML解释器的动态数据对象具有可以通过I/O或访问系统内存进行程序评价的功能。
ACPI中定义的表有如图6-2所示。
图 6-2 描述表结构
·Root System Description Pointer(RSDP)
·System Description Table Header
·Root System Description Table(RSDT)
·Fixed ACPI Description Table(FADT)
·Firmware ACPI Control Structure(FACS)
·Differentiated System Description Table(DSDT)
·Secondary System Description Table(SSDT)
·Multiple APIC Description Table(MADT)
·Smart Battery Table(SBST)
·Extended System Description Table(XSDT)
·Embedded Controller Boot Resources Table(ECDT)
·System Locality Distance Information Table(SLIT)
·System Resource Affinity Table(SRAT)
ACPI系统描述表除了ACPI说明书中规定的表以外,还有PCI等说明书中规定的表。ACPI表是通过签名来识别表的,因此其他说明书定义的表的签名作为ACPI的预留表保留。
·Simple Boot Flag Table(BOOT)
·DMA Remapping Table(DMAR)
·IA-PC High Precision Event Timer Table(HPET)
·iSCSI Boot Firmware Table(IBFT)
·I/O Virtualization Reporting Structure(IVRS)
·PCI Express memory mapped configuration space base address Description Table(MCFG)