3 UEFI Event support functions and structure.
5 Copyright (c) 2006 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 #define VALID_TPL(a) ((a) <= TPL_HIGH_LEVEL)
27 #define EVENT_SIGNATURE EFI_SIGNATURE_32('e','v','n','t')
34 // Entry if the event is registered to be signalled
37 LIST_ENTRY SignalLink
;
40 // Notification information for this event
44 EFI_EVENT_NOTIFY NotifyFunction
;
47 LIST_ENTRY NotifyLink
;
51 // A list of all runtime events
53 EFI_RUNTIME_EVENT_ENTRY RuntimeData
;
56 // Information by event type
73 // Internal prototypes
78 Dispatches all pending events.
80 @param Priority The task priority level of event notifications
85 CoreDispatchEventNotifies (
93 Return the highest set bit.
95 @param Number The value to check
97 @return Bit position of the highest set bit
109 Disables CPU interrupts.
111 @retval EFI_SUCCESS If interrupts were disabled in the CPU.
112 @retval EFI_INVALID_PARAMETER State is NULL.
122 // Exported functions
127 A function out of date, should be removed.
131 CoreEventVirtualAddressFixup (
139 Initializes timer support.
143 CoreInitializeTimer (
149 // extern data declarations
152 extern EFI_LOCK gEventQueueLock
;
153 extern UINTN gEventPending
;
154 extern LIST_ENTRY gEventQueue
[];
155 extern LIST_ENTRY gEventSignalQueue
;