summaryrefslogtreecommitdiff
path: root/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2010-06-29 09:29:39 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2010-06-29 09:29:39 +0000
commit445b3570b87e0ebb1428795568ff8f5872f9d81d (patch)
treedf585d496f2076ed779cfde21adc05eb5b6c5f55 /IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
parent7df41b11500a6513d8627c0991a7f13c15b259b7 (diff)
downloadedk2-platforms-445b3570b87e0ebb1428795568ff8f5872f9d81d.tar.xz
roll back last check-in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10613 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c')
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
index 34ccc79528..e767e6b147 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
@@ -104,10 +104,11 @@ MemoryStatusCodeReportWorker (
PacketIndex = 0;
//
- // Journal GUID'ed HOBs to find empty record entry.
+ // Journal GUID'ed HOBs to find empty record entry. if found, then save status code in it.
+ // otherwise, create a new GUID'ed HOB.
//
Hob.Raw = GetFirstGuidHob (&gMemoryStatusCodeRecordGuid);
- while ((Hob.Raw = GetNextGuidHob (&gMemoryStatusCodeRecordGuid, Hob.Raw)) != NULL) {
+ while (Hob.Raw != NULL) {
PacketHeader = (MEMORY_STATUSCODE_PACKET_HEADER *) GET_GUID_HOB_DATA (Hob.Guid);
//
@@ -123,14 +124,17 @@ MemoryStatusCodeReportWorker (
//
PacketIndex++;
- Hob.Raw = GET_NEXT_HOB (Hob);
+ Hob.Raw = GetNextGuidHob (&gMemoryStatusCodeRecordGuid, Hob.Raw);
}
if (Record == NULL) {
//
- // No available entry found
+ // No available entry found, so create new packet.
//
- return EFI_OUT_OF_RESOURCES;
+ PacketHeader = CreateMemoryStatusCodePacket (PacketIndex);
+
+ Record = (MEMORY_STATUSCODE_RECORD *) (PacketHeader + 1);
+ Record = &Record[PacketHeader->RecordIndex++];
}
Record->CodeType = CodeType;