[RISC-V MCU 创新应用比赛] RISC-V之ACPI 框架

[复制链接]
1155|0
心灵旅者 发表于 2025-9-11 08:08 | 显示全部楼层 |阅读模式
一个使用 ACPI 的系统的完整框图如下:

4775268c212c731f29.png
橙色部分是 ACPI 规范所覆盖的内容,因此 ACPI 定义的是一种软件和硬件组件的接口规范:
硬件上:
ACPI Register Set:在硬件上实现的 ACPI 寄存器组,为 x86 架构特有。ARMRISC-V 通常用的是 hardware-reduced ACPI,可无需在硬件上实现这些寄存器。
软件上,定义了多个 ACPI 表(Table),这些表整体可分为两种类型:
Static Tables:又称为Data Tables,由裸数据组成,ACPI Driver 可直接读取表中的内容。
Definition Block Tables:由AML(ACPI Machine Language)字节码(byte code)组成,它的内容要经AML Interpreter(解释器)解释后才能被 ACPI Driver 读取到。
绿色部分是操作系统中的相关组件,其中:
ACPI Driver:操作系统用于对接 ACPI 的驱动,AML Interpreter 也是属于其中的一部分。其中有一个比较出名的开源工程ACPICA(ACPI Component Architecture)[3],它提供了与操作系统无关的一些 ACPI 相关代码实现,也包括一个 AML Interpreter 的实现。目前 ACPICA 的代码被用于 Linux、FreeBSD 等系统中,作为 ACPI Driver 的一部分。
OSPM(Operating System-directed configuration and Power Management):以 ACPI 为核心、由操作系统主导的电源管理子系统的统称。
蓝色部分是硬件或平台相关的组件,其中:
Platform Firmware是负责启动机器、实现休眠/唤醒/重启等接口的固件,通常指 BIOS/UEFI。它也负责生成各个 ACPI 表并提供给操作系统。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部