心灵旅者 发表于 2025-9-11 08:08

RISC-V之ACPI 框架

一个使用 ACPI 的系统的完整框图如下:


▲橙色部分是 ACPI 规范所覆盖的内容,因此 ACPI 定义的是一种软件和硬件组件的接口规范:硬件上:ACPI Register Set:在硬件上实现的 ACPI 寄存器组,为 x86 架构特有。ARM 和 RISC-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),它提供了与操作系统无关的一些 ACPI 相关代码实现,也包括一个 AML Interpreter 的实现。目前 ACPICA 的代码被用于 Linux、FreeBSD 等系统中,作为 ACPI Driver 的一部分。OSPM(Operating System-directed configuration and Power Management):以 ACPI 为核心、由操作系统主导的电源管理子系统的统称。▲蓝色部分是硬件或平台相关的组件,其中:Platform Firmware是负责启动机器、实现休眠/唤醒/重启等接口的固件,通常指 BIOS/UEFI。它也负责生成各个 ACPI 表并提供给操作系统。
页: [1]
查看完整版本: RISC-V之ACPI 框架