ACPI Tables


 ACPI SPEC定义了ACPI-compatible OS与BIOS之间的接口,ACPI Tables就是BIOS提供给OS的硬件配置数据,包括系统硬件的电源管理和配置管理。

BIOS在POST过程中,将RSDP存在0xE0000--0xFFFFF的内存空间中,然后Move RSDT/XSDT, FADT, DSDT到ACPI Recleam Area, Move FACS到ACPI NVS Area,最后填好表的Entry链接和Checksum。

控制权交给OS之后,由OS来开启ACPI Mode,首先在内存中搜寻ACPI Table,然后写ACPI_Enable到SMI_CMD,SCI_EN也会被HW置起来。

ACPI Tables根据存储的位置,可以分为:

1).  RSDP位于F段,用于OSPM搜索ACPI Table,RSDP可以定位其他所有ACPI Table

2).  FACS位于ACPI NVS内存,用于系统进行S3保存的恢复指针,内存为NV Store

3). 剩下所有ACPI Table都位于ACPI Reclaim内存,进入OS后,内存可以释放

ACPI Table根据版本又分为1.0B,2.0,3.0,4.0。

2.0以后,支持了64-bit的地址空间,因此几个重要的Table会不大一样,比如:RSDP,RSDT,FADT,FACS。简单的列举一下不同版本的ACPI Table:

1) ACPI 1.0B:RSDP1,RSDT,FADT1,FACS1,DSDT,MADT,SSDT,HPET,MCFG等

2) ACPI 3.0 :RSDP3,RSDT,XSDT,FADT3,FACS3,DSDT,MADT,HPET,MCFG,SSDT等

以系统支持ACPI3.0为例子,说明系统中ACPI table之间的关系如图:

 其中绿色代表在内存F段,蓝色是ACPI Reclaim内存,红色是NV store内存

RSDP:Root System Description Pointer

OSPM获得RSDP的方式:

a>. 在Legacy系统下,在Memory Space 0xE0000---0xFFFFF中 Search RSDP的signature: “RSD PTR ”。

b>. 在UEFI系统下, 在EFI System Table里的EFI Configuration Table中Search RSDP的GUID。

1.       RSDT(Root System Description Table)              Signature: ‘RSDT’

         为了兼容ACPI1.0而存在,XSDT取代了RSDT的功能。 如果XSDT存在,ACPI-compatible OS 必须使用XSDT。

2.       XSDT(Extended System Description Table)      Signature: ‘XSDT’

          一组64bit的物理指针,指明其他system description tables的Address。         

3.       FADT(Fixed ACPI Description Table)            Signature: ‘FACP’

          FADT包含了OS直接管理ACPI Hardware Register Blocks所必须的Fixed Hardware ACPI information,比如PM1a_EVT_BLK, PM1b_EVT_BLK, PM1a_CNT_BLK, PM1b_CNT_BLK, PM2_CNT_BLK, PM_TMR_BLK, GPE0_BLK, and GPE1_BLK这些的base address。

          通过FADT可以找到FACS和DSDT。

 

4.       FACS(Firmware ACPI Control Structure)              Signature: ‘FACS’

          The FACS contains the system’s hardware signature at last boot, the firmware waking vector, and the Global Lock。

hardware signature:由BIOS搜集,当系统从S4唤醒的时候,OSPM通过比较当前的和已保存的hardware signature是否一致来确定系统能否恢复

firmware waking vector:在休眠之前,OSPM来填写这一项,在POST时,BIOS来确定这一项是否不为空,若不为空则通过jump到这个Address来把控制权交给OSPM。

5.       DSDT(Differentiated System Description Table)                 Signature: ‘DSDT’

          DSDT包含了Differentiated Definition Block, 它们包含了整个系统的实现和配置信息。OS在系统启动的过程中将DSDT的information插入到ACPI Namespace, 而且从不会被移除。

6.       SSDT(Secondary System Description Table)                Signature: ‘SSDT’

         SSDT是DSDT的继续。可以有多个SSDT存在。OSPM在Load DSDT 创建出ACPI Namespace之后,会去逐个Load SSDT。注意:附加的tables 只能add data, 而不能override data。

7.       MADT(Multiple APIC Description Table)              Signature: ‘APIC’

        描述OS支持APIC/SAPIC所必须的information,比如IO-APIC address/Local-APIC address等等。

8.       SBST(Smart Battery Table)            Signature: ‘SBST’

         如果系统支持符合Smart Battery Specification V1.0 1.1的电池,则SBST就会存在。主要用来指明:

               Warning Energy Level:Warning时的Energy Level

               Low Energy Level: OSPM即将进入Sleep状态时的Energy Level

              Critical Energy Level: OSPM将要执行紧急关机时的Energy Level

9.       MCFG(PCI-Memory Mapped Configuration table and sub-table)          Signature: 'MCFG'

         PCI Express memory mapped configuration space base address Description Table
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACPI表示高级配置和电源管理接口(Advanced Configuration and Power Management Interface)。ACPI(Advanced Configuration Management)是由 惠普/INTEL/MICROSOFT/TOSHIBA提出的新型电源管理规范,意图是让系统而不是BIOS来全面控制电源管理,使系统更加省电。 其特点主要有:提供立刻开机功能,即开机后可立即恢复到上次关机时的状态,光驱、软驱和硬盘在未使用时会自动关掉电源,使用时再打开;支持在开电状态下既插即拔,随时更换功能。 ACPI主要支持三种节电方式,1、(suspend即挂起)显示屏自动断电;只是主机通电。这时敲任意键即可恢复原来状态。2、(save to ram 或suspend to ram 即挂起到内存)系统把当前信息储存在内存中,只有内存等几个关键部件通电,这时计算机处在高度节电状态,按任意键后,计算机从内存中读取信息很快恢复到原来状态。3、(save to disk或suspend to disk即挂起到硬盘)计算机自动关机,关机前将当前数据存储在硬盘上,用户下次按开关键开机时计算机将无须启动系统,直接从硬盘读取数据,恢复原来状态。   ACPI可实现以下功能:   1、用户可以使外设在指定时间开关;   2、使用笔记本电脑的用户可以指定计算机在低电压的情况下进入低功耗状态,以保证重要的应用程序运行;   3、操作系统可以在应用程序对时间要求不高的情况下降低时钟频率;   4、操作系统可以根据外设和主板的具体需求为它分配能源;   5、在无人使用计算机时可以使计算机进入休眠状态,但保证一些通信设备打开;   6、即插即用设备在插入时能够由ACPI来控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值