+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- \r
- exec.h\r
-\r
-Abstract:\r
- \r
- EFI Event support\r
-\r
---*/\r
-\r
-#ifndef _EXEC_H_\r
-#define _EXEC_H_\r
-\r
-#define VALID_TPL(a) ((a) <= EFI_TPL_HIGH_LEVEL)\r
-\r
-//\r
-// EFI_EVENT\r
-//\r
-\r
-\r
-\r
-#define EVENT_SIGNATURE EFI_SIGNATURE_32('e','v','n','t')\r
-typedef struct {\r
- UINTN Signature;\r
- UINT32 Type;\r
- UINT32 SignalCount;\r
-\r
- //\r
- // Entry if the event is registered to be signalled\r
- //\r
-\r
- LIST_ENTRY SignalLink;\r
-\r
- //\r
- // Notification information for this event\r
- //\r
-\r
- EFI_TPL NotifyTpl;\r
- EFI_EVENT_NOTIFY NotifyFunction;\r
- VOID *NotifyContext;\r
- EFI_GUID EventGroup;\r
- LIST_ENTRY NotifyLink; \r
- BOOLEAN ExFlag;\r
- \r
- //\r
- // A list of all runtime events\r
- //\r
- LIST_ENTRY RuntimeLink;\r
-\r
- //\r
- // Information by event type\r
- //\r
-\r
- union {\r
- //\r
- // For timer events\r
- //\r
- struct {\r
- LIST_ENTRY Link;\r
- UINT64 TriggerTime;\r
- UINT64 Period;\r
- } Timer;\r
- } u;\r
-\r
-} IEVENT; \r
-\r
-//\r
-// Internal prototypes\r
-//\r
-\r
-VOID\r
-CoreDispatchEventNotifies (\r
- IN EFI_TPL Priority\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Dispatches all pending events. \r
-\r
-Arguments:\r
-\r
- Priority - The task priority level of event notifications to dispatch\r
- \r
-Returns:\r
-\r
- None\r
-\r
---*/\r
-;\r
-\r
-\r
-UINTN\r
-CoreHighestSetBit (\r
- IN UINTN Number\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- \r
- Return the highest set bit\r
- \r
-Arguments:\r
- \r
- Number - The value to check\r
- \r
-Returns:\r
- \r
- Bit position of the highest set bit\r
-\r
---*/\r
-;\r
-\r
-\r
-BOOLEAN\r
-GetInterruptState (\r
- VOID \r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Disables CPU interrupts.\r
-\r
-Arguments:\r
-\r
- This - Protocol instance structure\r
-\r
- State - Pointer to the CPU's current interrupt state\r
-\r
-Returns: \r
-\r
- EFI_SUCCESS - If interrupts were disabled in the CPU.\r
-\r
- EFI_INVALID_PARAMETER - State is NULL.\r
- \r
---*/\r
-;\r
-\r
-//\r
-// Exported functions\r
-//\r
-\r
-VOID\r
-CoreEventVirtualAddressFixup (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- A function out of date, should be removed.\r
-\r
-Arguments:\r
-\r
- None\r
- \r
-Returns:\r
-\r
- None\r
-\r
---*/\r
-;\r
-\r
-\r
-VOID\r
-CoreInitializeTimer (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Initializes timer support\r
-\r
-Arguments:\r
-\r
- None\r
- \r
-Returns:\r
-\r
- None\r
-\r
---*/\r
-;\r
-\r
-//\r
-// extern data declarations\r
-//\r
-\r
-extern EFI_LOCK gEventQueueLock;\r
-extern UINTN gEventPending;\r
-extern LIST_ENTRY gEventQueue[];\r
-extern LIST_ENTRY gEventSignalQueue;\r
-extern UINT8 gHSB[];\r
-extern LIST_ENTRY mRuntimeEventList;\r
-\r
-#endif\r