为什么操作系统知道是时候进入 ACPI 模式了



我知道进入ACPI模式是通过在接收事件后设置SCI_EN位,但是为什么操作系统在设置此位时启动ACPI模式?为什么在接收事件时设置SCI_EN位而不是其他位?

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

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

我知道进入ACPI模式是通过在接收事件后设置SCI_EN位

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

为什么当这个位被设置时操作系统启动ACPI模式

如果操作系统从未设置SCI_EN位;然后计算机处于"遗留模式";(固件做所有的电源管理)。

为什么在收到事件时设置SCI_EN位而不是其他位?

我猜SCI_EN位只剩下"set"在操作系统设置它之后(此时它完成了它的唯一目的)。

最新更新