#ifndef __PLATFORM_BDS_LIB_H_\r
#define __PLATFORM_BDS_LIB_H_\r
\r
-#include <Protocol/Bds.h>\r
#include <Protocol/GenericMemoryTest.h>\r
#include <Library/GenericBdsLib.h>\r
\r
VOID\r
EFIAPI\r
PlatformBdsBootSuccess (\r
- IN BDS_COMMON_OPTION *Option\r
+ IN BDS_COMMON_OPTION *Option\r
);\r
\r
\r
**/\r
#include "Bds.h"\r
\r
-/**\r
- This function locks the block \r
-\r
- @param CpuIo A instance of EFI_CPU_IO_PROTOCOL. \r
- @param Base The base address flash region to be locked.\r
-\r
-**/\r
-VOID\r
-BdsLockFv (\r
- IN EFI_CPU_IO_PROTOCOL *CpuIo,\r
- IN EFI_PHYSICAL_ADDRESS Base\r
- )\r
-{\r
- EFI_FV_BLOCK_MAP_ENTRY *BlockMap;\r
- EFI_FIRMWARE_VOLUME_HEADER *FvHeader;\r
- EFI_PHYSICAL_ADDRESS BaseAddress;\r
- UINT8 Data;\r
- UINT32 BlockLength;\r
- UINTN Index;\r
-\r
- BaseAddress = Base - 0x400000 + 2;\r
- FvHeader = (EFI_FIRMWARE_VOLUME_HEADER *) ((UINTN) (Base));\r
- BlockMap = &(FvHeader->BlockMap[0]);\r
-\r
- while ((BlockMap->NumBlocks != 0) && (BlockMap->Length != 0)) {\r
- BlockLength = BlockMap->Length;\r
- for (Index = 0; Index < BlockMap->NumBlocks; Index++) {\r
- CpuIo->Mem.Read (\r
- CpuIo,\r
- EfiCpuIoWidthUint8,\r
- BaseAddress,\r
- 1,\r
- &Data\r
- );\r
- Data = (UINT8) (Data | 0x3);\r
- CpuIo->Mem.Write (\r
- CpuIo,\r
- EfiCpuIoWidthUint8,\r
- BaseAddress,\r
- 1,\r
- &Data\r
- );\r
- BaseAddress += BlockLength;\r
- }\r
-\r
- BlockMap++;\r
- }\r
-}\r
-\r
/**\r
\r
This routine is called to see if there are any capsules we need to process.\r