22 { &gEfiSecurityArchProtocolGuid, (VOID **)&gSecurity,
NULL,
NULL,
FALSE },
23 { &gEfiCpuArchProtocolGuid, (VOID **)&gCpu,
NULL,
NULL,
FALSE },
27 { &gEfiWatchdogTimerArchProtocolGuid, (VOID **)&gWatchdogTimer,
NULL,
NULL,
FALSE },
28 { &gEfiRuntimeArchProtocolGuid, (VOID **)&gRuntime,
NULL,
NULL,
FALSE },
42 { &gEfiSecurity2ArchProtocolGuid, (VOID **)&gSecurity2,
NULL,
NULL,
FALSE },
43 { &gEfiSmmBase2ProtocolGuid, (VOID **)&gSmmBase2,
NULL,
NULL,
FALSE },
56 { &gEfiSecurityArchProtocolGuid,
"Security" },
57 { &gEfiCpuArchProtocolGuid,
"CPU" },
58 { &gEfiMetronomeArchProtocolGuid,
"Metronome" },
59 { &gEfiTimerArchProtocolGuid,
"Timer" },
60 { &gEfiBdsArchProtocolGuid,
"Bds" },
61 { &gEfiWatchdogTimerArchProtocolGuid,
"Watchdog Timer" },
62 { &gEfiRuntimeArchProtocolGuid,
"Runtime" },
63 { &gEfiVariableArchProtocolGuid,
"Variable" },
64 { &gEfiVariableWriteArchProtocolGuid,
"Variable Write" },
65 { &gEfiCapsuleArchProtocolGuid,
"Capsule" },
66 { &gEfiMonotonicCounterArchProtocolGuid,
"Monotonic Counter" },
67 { &gEfiResetArchProtocolGuid,
"Reset" },
68 { &gEfiRealTimeClockArchProtocolGuid,
"Real Time Clock" },
86 for (Entry = mArchProtocols; Entry->ProtocolGuid !=
NULL; Entry++) {
87 if (!Entry->Present) {
130 if (EFI_ERROR (Status)) {
137 Entry->Present =
TRUE;
143 if (Entry->Protocol !=
NULL) {
144 *(Entry->Protocol) = Protocol;
151 if (
CompareGuid (Entry->ProtocolGuid, &gEfiTimerArchProtocolGuid)) {
158 if (
CompareGuid (Entry->ProtocolGuid, &gEfiRuntimeArchProtocolGuid)) {
172 for (Link = gRuntimeTemplate.
ImageHead.ForwardLink; Link != &gRuntimeTemplate.
ImageHead; Link = TempLinkNode.ForwardLink) {
180 for (Link = gRuntimeTemplate.
EventHead.ForwardLink; Link != &gRuntimeTemplate.
EventHead; Link = TempLinkNode.ForwardLink) {
217 for ( ; Entry->ProtocolGuid !=
NULL; Entry++) {
269 for (Entry = mArchProtocols; Entry->ProtocolGuid !=
NULL; Entry++) {
270 if (!Entry->Present) {
271 for (MissingEntry = mMissingProtocols; MissingEntry->ProtocolGuid !=
NULL; MissingEntry++) {
272 if (
CompareGuid (Entry->ProtocolGuid, MissingEntry->ProtocolGuid)) {
273 DEBUG ((DEBUG_ERROR,
"\n%a Arch Protocol not present!!\n", MissingEntry->GuidString));
LIST_ENTRY *EFIAPI InsertTailList(IN OUT LIST_ENTRY *ListHead, IN OUT LIST_ENTRY *Entry)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
BOOLEAN EFIAPI CompareGuid(IN CONST GUID *Guid1, IN CONST GUID *Guid2)
VOID CoreUpdateDebugTableCrc32(VOID)
EFI_STATUS EFIAPI CoreLocateProtocol(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
VOID EFIAPI CoreTimerTick(IN UINT64 Duration)
EFI_BDS_ARCH_PROTOCOL * gBds
EFI_STATUS EFIAPI CoreRegisterProtocolNotify(IN EFI_GUID *Protocol, IN EFI_EVENT Event, OUT VOID **Registration)
VOID CalculateEfiHdrCrc(IN OUT EFI_TABLE_HEADER *Hdr)
EFI_STATUS EFIAPI CoreCreateEvent(IN UINT32 Type, IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, IN VOID *NotifyContext OPTIONAL, OUT EFI_EVENT *Event)
VOID CoreDisplayMissingArchProtocols(VOID)
VOID EFIAPI GenericProtocolNotify(IN EFI_EVENT Event, IN VOID *Context)
VOID CoreNotifyOnProtocolEntryTable(EFI_CORE_PROTOCOL_NOTIFY_ENTRY *Entry)
VOID CoreNotifyOnProtocolInstallation(VOID)
EFI_STATUS CoreAllEfiServicesAvailable(VOID)
EFI_METRONOME_ARCH_PROTOCOL gMetronome
#define GLOBAL_REMOVE_IF_UNREFERENCED
#define ASSERT_EFI_ERROR(StatusParameter)
#define DEBUG(Expression)
EFI_TIMER_ARCH_PROTOCOL gTimer
EFI_LIST_ENTRY EventHead
A list of type EFI_RUNTIME_EVENT_ENTRY.
EFI_LIST_ENTRY ImageHead
A list of type EFI_RUNTIME_IMAGE_ENTRY.