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
77 CoreDispatchEventNotifies (
84 Dispatches all pending events.
88 Priority - The task priority level of event notifications to dispatch
106 Return the highest set bit
110 Number - The value to check
114 Bit position of the highest set bit
128 Disables CPU interrupts.
132 This - Protocol instance structure
134 State - Pointer to the CPU's current interrupt state
138 EFI_SUCCESS - If interrupts were disabled in the CPU.
140 EFI_INVALID_PARAMETER - State is NULL.
146 // Exported functions
150 CoreEventVirtualAddressFixup (
157 A function out of date, should be removed.
172 CoreInitializeTimer (
179 Initializes timer support
193 // extern data declarations
196 extern EFI_LOCK gEventQueueLock
;
197 extern UINTN gEventPending
;
198 extern LIST_ENTRY gEventQueue
[];
199 extern LIST_ENTRY gEventSignalQueue
;