/*++\r
\r
-Copyright (c) 2006, Intel Corporation \r
+Copyright (c) 2006 - 2007, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
Ptr\r
);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (MyBuffer);\r
+ FreePool (MyBuffer);\r
return EFI_ABORTED;\r
}\r
\r
MyLength = FtwLiteDevice->SizeOfSpareBlock;\r
Status = Fvb->Read (Fvb, Lba + Index, 0, &MyLength, Ptr);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (MyBuffer);\r
+ FreePool (MyBuffer);\r
return EFI_ABORTED;\r
}\r
\r
SpareBufferSize = FtwLiteDevice->SpareAreaLength;\r
SpareBuffer = AllocatePool (SpareBufferSize);\r
if (SpareBuffer == NULL) {\r
- gBS->FreePool (MyBuffer);\r
+ FreePool (MyBuffer);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
Ptr\r
);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (MyBuffer);\r
- gBS->FreePool (SpareBuffer);\r
+ FreePool (MyBuffer);\r
+ FreePool (SpareBuffer);\r
return EFI_ABORTED;\r
}\r
\r
Ptr\r
);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (MyBuffer);\r
- gBS->FreePool (SpareBuffer);\r
+ FreePool (MyBuffer);\r
+ FreePool (SpareBuffer);\r
return EFI_ABORTED;\r
}\r
\r
//\r
// Free MyBuffer\r
//\r
- gBS->FreePool (MyBuffer);\r
+ FreePool (MyBuffer);\r
\r
//\r
// Set the SpareCompleteD in the FTW record,\r
SPARE_COMPLETED\r
);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (SpareBuffer);\r
+ FreePool (SpareBuffer);\r
return EFI_ABORTED;\r
}\r
\r
//\r
Status = FtwWriteRecord (FtwLiteDevice, Fvb);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (SpareBuffer);\r
+ FreePool (SpareBuffer);\r
return EFI_ABORTED;\r
}\r
\r
Ptr\r
);\r
if (EFI_ERROR (Status)) {\r
- gBS->FreePool (SpareBuffer);\r
+ FreePool (SpareBuffer);\r
return EFI_ABORTED;\r
}\r
\r
//\r
// All success.\r
//\r
- gBS->FreePool (SpareBuffer);\r
+ FreePool (SpareBuffer);\r
\r
DEBUG (\r
(EFI_D_FTW_LITE,\r
UINTN Length;\r
EFI_STATUS Status;\r
UINTN Offset;\r
- EFI_FLASH_MAP_ENTRY_DATA *FlashMapEntry;\r
EFI_FV_BLOCK_MAP_ENTRY *FvbMapEntry;\r
UINT32 LbaIndex;\r
- EFI_PEI_HOB_POINTERS GuidHob; \r
\r
//\r
// Allocate Private data of this driver,\r
\r
FtwLiteDevice->FtwLastRecord = NULL;\r
\r
- FtwLiteDevice->SpareAreaLength = 0;\r
- FtwLiteDevice->WorkSpaceLength = 0;\r
+ FtwLiteDevice->WorkSpaceAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwWorkingBase);\r
+ FtwLiteDevice->WorkSpaceLength = (UINTN) PcdGet32 (PcdFlashNvStorageFtwWorkingSize);\r
\r
- GuidHob.Raw = GetHobList ();\r
- while (NULL != (GuidHob.Raw = GetNextGuidHob (&gEfiFlashMapHobGuid, GuidHob.Raw))) {\r
- FlashMapEntry = (EFI_FLASH_MAP_ENTRY_DATA *) GET_GUID_HOB_DATA (GuidHob.Guid);\r
- //\r
- // Get the FTW work space Flash Map SUB area\r
- //\r
- if ((FlashMapEntry->AreaType == EFI_FLASH_AREA_FTW_STATE) && (FlashMapEntry->NumEntries == 1)) {\r
- FtwLiteDevice->WorkSpaceAddress = FlashMapEntry->Entries[0].Base;\r
- FtwLiteDevice->WorkSpaceLength = (UINTN) FlashMapEntry->Entries[0].Length;\r
- }\r
- //\r
- // Get the FTW backup SUB area\r
- //\r
- if ((FlashMapEntry->AreaType == EFI_FLASH_AREA_FTW_BACKUP) && (FlashMapEntry->NumEntries == 1)) {\r
- FtwLiteDevice->SpareAreaAddress = FlashMapEntry->Entries[0].Base;\r
- FtwLiteDevice->SpareAreaLength = (UINTN) FlashMapEntry->Entries[0].Length;\r
- }\r
-\r
- GuidHob.Raw = GET_NEXT_HOB (GuidHob);\r
- }\r
+ FtwLiteDevice->SpareAreaAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwSpareBase);\r
+ FtwLiteDevice->SpareAreaLength = (UINTN) PcdGet32 (PcdFlashNvStorageFtwSpareSize);\r
\r
ASSERT ((FtwLiteDevice->WorkSpaceLength != 0) && (FtwLiteDevice->SpareAreaLength != 0));\r
\r