码迷,mamicode.com
首页 > 其他好文 > 详细

ACPI Table 与 Device Tree

时间:2020-11-25 12:39:07      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:其他   地址   dsd   mode   版本   接口   pow   inter   bit   

背景

在分析Linux内核驱动的时候,有时候会看到一些acpi字样的接口。

之前一直没搞明白ACPI是什么,现在知道了。

Reference :
https://www.cnblogs.com/junzhkevin/archive/2013/02/25/2932801.html
http://bbs3.driverdevelop.com/read.php?tid=99720

ACPI

Advanced Configuration and Power Management Interface : 用于配置与电源管理的接口,是让OS使用的。用在x86架构上Windows系统多一点。

  • 不同的表,有不同的用途,像IO APIC中断配置表 专门负责 中断(可以用WinDbg等工具自己去看代码)。

简单地理解,ACPI Table 与 Windows 的关系, 犹如 Device Tree 与 embedded-Linux 的关系。

介绍

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 与 Device Tree

标签:其他   地址   dsd   mode   版本   接口   pow   inter   bit   

原文地址:https://www.cnblogs.com/schips/p/what_is_acpi.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!