Fix crash in UnixPkg and BeagleBoard caused by gSmmBase2 getting added to the now...
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 16 Feb 2010 02:52:15 +0000 (02:52 +0000)
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 16 Feb 2010 02:52:15 +0000 (02:52 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10011 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Dxe/DxeMain/DxeProtocolNotify.c

index 3b805a9f9d5573bc3c0250e1a5b3fafa8e7731f5..96338adec8b87e4deadd92cf3fef8a951c0acf65 100644 (file)
@@ -51,7 +51,7 @@ typedef struct {
   CHAR8                        *GuidString;\r
 } GUID_TO_STRING_PROTOCOL_ENTRY;\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST GUID_TO_STRING_PROTOCOL_ENTRY MissingProtocols[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST GUID_TO_STRING_PROTOCOL_ENTRY mMissingProtocols[] = {\r
   { &gEfiSecurityArchProtocolGuid,         "Security"           },\r
   { &gEfiCpuArchProtocolGuid,              "CPU"                },\r
   { &gEfiMetronomeArchProtocolGuid,        "Metronome"          },\r
@@ -251,8 +251,8 @@ CoreDisplayMissingArchProtocols (
 \r
   for (Index = 0; Index < sizeof (mArchProtocols) / sizeof (mArchProtocols[0]); Index++) {\r
     Entry = &mArchProtocols[Index];\r
-    if (!Entry->Present) {\r
-      for (MissingEntry = MissingProtocols; TRUE ; MissingEntry++) {\r
+    if (!Entry->Present && Entry->ArchitecturalProtocol) {\r
+      for (MissingEntry = mMissingProtocols; MissingEntry < sizeof (mMissingProtocols)/sizeof (mMissingProtocols[0]) ; MissingEntry++) {\r
         if (CompareGuid (Entry->ProtocolGuid, MissingEntry->ProtocolGuid)) {\r
           DEBUG ((DEBUG_ERROR, "\n%a Arch Protocol not present!!\n", MissingEntry->GuidString));\r
           break;\r