A method and system for selectively enabling wake events (wake general
purpose events, or GPEs) in software of a computer system to overcome
problems arising when hardware devices fail to clear a wake signal, and as
part of handling the event, to re-run control methods that fail to
properly execute. The operating system intelligently manages wake events,
and also distinguishes between events that are exclusively wake events,
exclusively run-time events, and shared wake and run-time events, and
handles control method failures. At boot time, the ACPI driver examines
system tables provided by firmware to determine which GPEs are associated
with wake-up events, either exclusively or shared with run-time events.
These wake event associations are tracked, whereby they are managed
differently from events received on other hardware register pins. In
general, when the operating system receives events, the operating system
runs an associated GPE method. If the control method fails, the operating
system can re-run the GPE method, after a delay. When the GPE method has
completed, the operating system selectively determines whether the event
needs to be re-enabled.
Une méthode et un système pour permettre sélectivement à des événements de sillage (événements tout usage de sillage, ou à GPEs) dans le logiciel d'un système informatique de surmonter des problèmes surgissant quand les dispositifs câblés échouent à l'espace libre un signal de sillage, et en tant qu'élément de manipuler l'événement, pour réexécuter les méthodes de contrôle qui ne s'exécutent pas correctement. Le logiciel d'exploitation contrôle intelligemment des événements de sillage, et distingue également les événements qui sont exclusivement des événements de sillage, exclusivement événements d'exécution, et des événements partagés de sillage et de temps d'exécution, et les échecs de méthode de contrôle de poignées. Au temps d'initialisation, le conducteur d'ACPI examine des tables de système fournies par des progiciels pour déterminer quel GPEs sont associés aux événements de commande, exclusivement ou partagés avec des événements d'exécution. Ces associations d'événement de sillage sont dépistées, par lequel elles soient contrôlées différemment des événements reçus sur d'autres goupilles de registre interne. En général, quand le logiciel d'exploitation reçoit des événements, le logiciel d'exploitation court une méthode associée de GPE. Si la méthode de contrôle échoue, le logiciel d'exploitation peut réexécuter la méthode de GPE, après un retarder. Quand la méthode de GPE a accompli, le logiciel d'exploitation détermine sélectivement si l'événement doit être permis à nouveau.