From 445b3570b87e0ebb1428795568ff8f5872f9d81d Mon Sep 17 00:00:00 2001 From: vanjeff Date: Tue, 29 Jun 2010 09:29:39 +0000 Subject: roll back last check-in. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10613 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/StatusCode/Pei/MemoryStausCodeWorker.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c') 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; -- cgit v1.2.3