\r
--*/\r
\r
-#include "PiDxe.h"\r
+#include <PiDxe.h>\r
#include <Guid/EventGroup.h>\r
#include <Protocol/FvbExtension.h>\r
#include <Protocol/FirmwareVolumeBlock.h>\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolGetPhysicalAddress (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
OUT EFI_PHYSICAL_ADDRESS *Address\r
)\r
/*++\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolGetBlockSize (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
- IN EFI_LBA Lba,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_LBA Lba,\r
OUT UINTN *BlockSize,\r
OUT UINTN *NumOfBlocks\r
)\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolGetAttributes (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
OUT EFI_FVB_ATTRIBUTES_2 *Attributes\r
)\r
/*++\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolSetAttributes (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes\r
)\r
/*++\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolEraseBlocks (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
... \r
)\r
/*++\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolWrite (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
IN EFI_LBA Lba,\r
IN UINTN Offset,\r
IN OUT UINTN *NumBytes,\r
\r
FvbDevice = FVB_DEVICE_FROM_THIS (This);\r
\r
- return FvbWriteBlock (FvbDevice->Instance, Lba, Offset, NumBytes, Buffer, mFvbModuleGlobal, EfiGoneVirtual ());\r
+ return FvbWriteBlock (FvbDevice->Instance, (EFI_LBA)Lba, (UINTN)Offset, NumBytes, (UINT8 *)Buffer, mFvbModuleGlobal, EfiGoneVirtual ());\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolRead (\r
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
- IN EFI_LBA Lba,\r
- IN UINTN Offset,\r
+ IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
+ IN CONST EFI_LBA Lba,\r
+ IN CONST UINTN Offset,\r
IN OUT UINTN *NumBytes,\r
IN UINT8 *Buffer\r
)\r
Ptr = (UINT16 *) FwVolHeader;\r
Checksum = 0;\r
while (HeaderLength > 0) {\r
- Checksum = Checksum + (*Ptr);\r
+ Checksum = (UINT16)(Checksum + (*Ptr));\r
HeaderLength--;\r
Ptr++;\r
}\r
// Allocate runtime services data for global variable, which contains\r
// the private data of all firmware volume block instances\r
//\r
- Status = gBS->AllocatePool (\r
- EfiRuntimeServicesData,\r
- sizeof (ESAL_FWB_GLOBAL),\r
- (VOID**) &mFvbModuleGlobal\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
+ mFvbModuleGlobal = AllocateRuntimePool (sizeof (ESAL_FWB_GLOBAL));\r
+ ASSERT (mFvbModuleGlobal != NULL);\r
\r
//\r
// Calculate the total size for all firmware volume block instances\r
// the private data of each FV instance. But in virtual mode or in physical\r
// mode, the address of the the physical memory may be different.\r
//\r
- Status = gBS->AllocatePool (\r
- EfiRuntimeServicesData,\r
- BufferSize,\r
- (VOID**) &mFvbModuleGlobal->FvInstance[FVB_PHYSICAL]\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
+ mFvbModuleGlobal->FvInstance[FVB_PHYSICAL] = AllocateRuntimePool (BufferSize);\r
+ ASSERT (mFvbModuleGlobal->FvInstance[FVB_PHYSICAL] != NULL);\r
\r
//\r
// Make a virtual copy of the FvInstance pointer.\r
//\r
// Add a FVB Protocol Instance\r
//\r
- Status = gBS->AllocatePool (\r
- EfiRuntimeServicesData,\r
- sizeof (EFI_FW_VOL_BLOCK_DEVICE),\r
- (VOID**) &FvbDevice\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
+ FvbDevice = AllocateRuntimePool (sizeof (EFI_FW_VOL_BLOCK_DEVICE));\r
+ ASSERT (FvbDevice != NULL);\r
\r
CopyMem (FvbDevice, &mFvbDeviceTemplate, sizeof (EFI_FW_VOL_BLOCK_DEVICE));\r
\r
//\r
// Allocate for scratch space, an intermediate buffer for FVB extention\r
//\r
- Status = gBS->AllocatePool (\r
- EfiRuntimeServicesData,\r
- MaxLbaSize,\r
- (VOID**)&mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL]\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
+ mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL] = AllocateRuntimePool (MaxLbaSize);\r
+ ASSERT (mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL] != NULL);\r
\r
mFvbModuleGlobal->FvbScratchSpace[FVB_VIRTUAL] = mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL];\r
\r