为什么 OS 知道是时候进入 ACPI 模式了

Why does OS know it's time to enter ACPI mode

我知道进入ACPI模式是在接收到一个事件后设置SCI_EN位,但是为什么OS设置了这个位就启动了ACPI模式? 为什么在收到事件时设置 SCI_EN 位而不是其他位?

当计算机首次打开时,固件控制着电源管理,任何会导致电源管理事件的事件都被视为 SMI,使固件进入称为系统管理模式的特殊模式,在该模式下它可以确定事件是什么并处理事件。

当 OS 想要控制电源管理时,它使用 SCI_EN,这主要触发另一个交换机固件的系统管理模式,以便固件可以准备将​​控制权从自身转移到 OS.一旦完成(并且控制权从 SMM 返回到 OS),任何会导致电源管理事件的事件都将被视为 SCI(“系统控制中断”),由 OS(和不由固件的 SMM 代码处理); OS 确定事件是什么并处理事件。

I know that entering ACPI mode is by setting the SCI_EN bit after receiving an event

不,SCI_EN 是在 OS 可以接收事件之前设置的(而不是在 OS 接收事件之后)。

why does the OS start ACPI mode when this bit is set

如果 OS 从未设置 SCI_EN 位;然后计算机处于“传统模式”(固件执行所有电源管理)。

Why is the SCI_EN bit set instead of other bits when an event is received?

我猜 SCI_EN 位在 OS 设置后就被保留为“设置”(它已经实现了它在这一点上的唯一目的)。