]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/FvbServicesRuntimeDxe/FWBlockService.c
Update Unix platform to use dynamic HII pcd to save console output mode.
[mirror_edk2.git] / UnixPkg / FvbServicesRuntimeDxe / FWBlockService.c
index 79f6be6ae5b4deca737a223033293ac7d3bf7ad4..21ae8f8501db54ab1ded6b1ad0e68494ee352cce 100644 (file)
@@ -19,7 +19,7 @@ Revision History
 \r
 --*/\r
 \r
 \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
 #include <Guid/EventGroup.h>\r
 #include <Protocol/FvbExtension.h>\r
 #include <Protocol/FirmwareVolumeBlock.h>\r
@@ -846,7 +846,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvbProtocolGetPhysicalAddress (\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
   OUT EFI_PHYSICAL_ADDRESS                        *Address\r
   )\r
 /*++\r
@@ -877,8 +877,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvbProtocolGetBlockSize (\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
   OUT UINTN                                       *BlockSize,\r
   OUT UINTN                                       *NumOfBlocks\r
   )\r
@@ -921,7 +921,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvbProtocolGetAttributes (\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
   OUT EFI_FVB_ATTRIBUTES_2                          *Attributes\r
   )\r
 /*++\r
@@ -948,7 +948,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvbProtocolSetAttributes (\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
   IN OUT EFI_FVB_ATTRIBUTES_2                       *Attributes\r
   )\r
 /*++\r
@@ -975,7 +975,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvbProtocolEraseBlocks (\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
   ...  \r
   )\r
 /*++\r
@@ -1073,7 +1073,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 FvbProtocolWrite (\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
   IN EFI_LBA                                      Lba,\r
   IN UINTN                                        Offset,\r
   IN OUT UINTN                                    *NumBytes,\r
@@ -1115,15 +1115,15 @@ Returns:
 \r
   FvbDevice = FVB_DEVICE_FROM_THIS (This);\r
 \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
 }\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
   IN OUT UINTN                                    *NumBytes,\r
   IN UINT8                                        *Buffer\r
   )\r
@@ -1256,7 +1256,7 @@ Returns:
   Ptr           = (UINT16 *) FwVolHeader;\r
   Checksum      = 0;\r
   while (HeaderLength > 0) {\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
     HeaderLength--;\r
     Ptr++;\r
   }\r
@@ -1312,12 +1312,8 @@ Returns:
   // Allocate runtime services data for global variable, which contains\r
   // the private data of all firmware volume block instances\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
 \r
   //\r
   // Calculate the total size for all firmware volume block instances\r
@@ -1366,12 +1362,8 @@ Returns:
   // 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
   // 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
   //\r
   // Make a virtual copy of the FvInstance pointer.\r
@@ -1452,12 +1444,8 @@ Returns:
     //\r
     // Add a FVB Protocol Instance\r
     //\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
     CopyMem (FvbDevice, &mFvbDeviceTemplate, sizeof (EFI_FW_VOL_BLOCK_DEVICE));\r
 \r
@@ -1541,12 +1529,8 @@ Returns:
   //\r
   // Allocate for scratch space, an intermediate buffer for FVB extention\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
 \r
   mFvbModuleGlobal->FvbScratchSpace[FVB_VIRTUAL] = mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL];\r
 \r