2 UEFI Event support functions and structure.
4 Copyright (c) 2006 - 2008, Intel Corporation. <BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 #define VALID_TPL(a) ((a) <= TPL_HIGH_LEVEL)
26 #define EVENT_SIGNATURE EFI_SIGNATURE_32('e','v','n','t')
33 // Entry if the event is registered to be signalled
36 LIST_ENTRY SignalLink
;
39 // Notification information for this event
43 EFI_EVENT_NOTIFY NotifyFunction
;
46 LIST_ENTRY NotifyLink
;
50 // A list of all runtime events
52 EFI_RUNTIME_EVENT_ENTRY RuntimeData
;
55 // Information by event type
72 // Internal prototypes
77 Dispatches all pending events.
79 @param Priority The task priority level of event notifications
84 CoreDispatchEventNotifies (
91 Return the highest set bit.
93 @param Number The value to check
95 @return Bit position of the highest set bit
106 Disables CPU interrupts.
108 @retval EFI_SUCCESS If interrupts were disabled in the CPU.
109 @retval EFI_INVALID_PARAMETER State is NULL.
118 // Exported functions
123 A function out of date, should be removed.
127 CoreEventVirtualAddressFixup (
134 Initializes timer support.
138 CoreInitializeTimer (
143 // extern data declarations
146 extern EFI_LOCK gEventQueueLock
;
147 extern UINTN gEventPending
;
148 extern LIST_ENTRY gEventQueue
[];
149 extern LIST_ENTRY gEventSignalQueue
;