]> git.proxmox.com Git - mirror_edk2.git/commitdiff
roll back last check-in.
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Jun 2010 09:29:39 +0000 (09:29 +0000)
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Jun 2010 09:29:39 +0000 (09:29 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10613 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/DataHubStatusCodeWorker.c
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.c

index 34ccc795289e02d14d0a1091823652f2f37577b2..e767e6b147d2469890e4c2e9b818165542c3d561 100644 (file)
@@ -104,10 +104,11 @@ MemoryStatusCodeReportWorker (
   PacketIndex = 0;\r
 \r
   //\r
-  // Journal GUID'ed HOBs to find empty record entry. \r
+  // Journal GUID'ed HOBs to find empty record entry. if found, then save status code in it.\r
+  // otherwise, create a new GUID'ed HOB.\r
   //\r
   Hob.Raw = GetFirstGuidHob (&gMemoryStatusCodeRecordGuid);\r
-  while ((Hob.Raw = GetNextGuidHob (&gMemoryStatusCodeRecordGuid, Hob.Raw)) != NULL) {\r
+  while (Hob.Raw != NULL) {\r
     PacketHeader = (MEMORY_STATUSCODE_PACKET_HEADER *) GET_GUID_HOB_DATA (Hob.Guid);\r
 \r
     //\r
@@ -123,14 +124,17 @@ MemoryStatusCodeReportWorker (
     //\r
     PacketIndex++;\r
 \r
-    Hob.Raw = GET_NEXT_HOB (Hob);\r
+    Hob.Raw = GetNextGuidHob (&gMemoryStatusCodeRecordGuid, Hob.Raw);\r
   }\r
 \r
   if (Record == NULL) {\r
     //\r
-    // No available entry found\r
+    // No available entry found, so create new packet.\r
     //\r
-    return EFI_OUT_OF_RESOURCES;\r
+    PacketHeader = CreateMemoryStatusCodePacket (PacketIndex);\r
+\r
+    Record = (MEMORY_STATUSCODE_RECORD *) (PacketHeader + 1);\r
+    Record = &Record[PacketHeader->RecordIndex++];\r
   }\r
 \r
   Record->CodeType = CodeType;\r
index 92ca20a2ed2d4714064c4334402948066273d528..5c1616e14bf08cbd965506239dd11fdc4ffe02b2 100644 (file)
@@ -24,7 +24,7 @@ EFI_EVENT                 mLogDataHubEvent;
 //\r
 // Cache data hub protocol.\r
 //\r
-EFI_DATA_HUB_PROTOCOL     *mDataHubProtocol = NULL;\r
+EFI_DATA_HUB_PROTOCOL     *mDataHubProtocol;\r
 \r
 \r
 /**\r
@@ -189,7 +189,6 @@ DataHubStatusCodeReportWorker (
   BASE_LIST                         Marker;\r
   CHAR8                             *Format;\r
   UINTN                             CharCount;\r
-  EFI_STATUS                        Status;\r
 \r
   //\r
   // Use atom operation to avoid the reentant of report.\r
@@ -206,13 +205,6 @@ DataHubStatusCodeReportWorker (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  if (mDataHubProtocol == NULL) {\r
-    Status = DataHubStatusCodeInitializeWorker ();\r
-    if (EFI_ERROR (Status)) {\r
-      return Status;\r
-    }\r
-  }\r
-  \r
   Record = AcquireRecordBuffer ();\r
   if (Record == NULL) {\r
     //\r
@@ -366,10 +358,7 @@ DataHubStatusCodeInitializeWorker (
                   NULL, \r
                   (VOID **) &mDataHubProtocol\r
                   );\r
-  if (EFI_ERROR (Status)) {\r
-    mDataHubProtocol = NULL;\r
-    return Status;\r
-  }\r
+  ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
   // Create a Notify Event to log data in Data Hub\r
index 8807bbac4e9d16bf0a746bf9a1e76d377867b776..cb2c271124469dd2d45ad68e0fe0223eadcbe825 100644 (file)
@@ -226,7 +226,8 @@ InitializationDispatcherWorker (
     ASSERT_EFI_ERROR (Status);\r
   }\r
   if (FeaturePcdGet (PcdStatusCodeUseDataHub)) {\r
-    DataHubStatusCodeInitializeWorker ();\r
+    Status = DataHubStatusCodeInitializeWorker ();\r
+    ASSERT_EFI_ERROR (Status);\r
   }\r
   if (FeaturePcdGet (PcdStatusCodeUseOEM)) {\r
     //\r