很多OEM都希望支持使用传统的鼠标和键盘(非USB)来唤醒系统,本篇文章为此提供一些提供一些信息。需要注意的是支持ACPI的操作系统都是使用标准的ACPI机制来唤醒系统的,然而但前许多芯片组还不支持这些机制,自学编程网。
从鼠标键盘唤醒的处理方法同ACPI规范定义的其它唤醒设备使用相同的处理方法,支持唤醒的设备必须满足下列要求,
该设备必须在ACPI的名字空间里有描述。
为唤醒系统,该设备必须连接到一个GPE管脚。该管脚必须满足ACPI中定义的GPE的规则:它必须是电平触发或是边缘触发的事件,包含一个状态位和一个使能位,并且必须有相应的_Lxx或_Exx控制方法。
设备必须有一个和GPE对应的_PRW对象。
如果该设备和别的设备共享GPE,它还必须包含一个_PSW控制方法来分别独立地使能或禁用相应设备的唤醒功能。为了能满足ACPI和
微软的LOGO的套求,必须要能单独禁用相应设备。
设备使用标准的ACPI机制来唤醒系统。比如,系统恢复过程中,WAK_STS必须要设置为恰当的值(1),并且设备在进入D0状态前不能发出中断信号。
当这些条件都满足后,ACPI操作系统就可以支持从这些设备唤醒。然而当前许多芯片组并不支持使用这些机制从鼠标键盘唤醒。ACPI操作系统仅能支持使用标准junACPI机制来唤醒系统。PME#是PCI电源管理(PCI-PM)规范的一部分,只有当键盘控制器是完全支持PCI-PM规范的PCI设备时,才能使用PME#来唤醒。PME#只有那些完全满足PCI-PM规范的设备才能支持。
在设计支持鼠标键盘唤醒的ACPI系统时候,必须要使用本文的这些信息,不要试图使用其他方法。