From efd542830fe0031d00985cfcb9ea333b7b65fa12 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Tue, 24 Feb 2009 06:44:28 +0000 Subject: Clean Nt32 FVB driver doesn't produce the undefined FVB extension protocol. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7632 6f19259b-4bc3-4df7-8a09-765794883524 --- Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c | 173 +-------------------- Nt32Pkg/FvbServicesRuntimeDxe/FvbInfo.c | 1 - .../FvbServicesRuntimeDxe.inf | 4 +- Nt32Pkg/FvbServicesRuntimeDxe/FwBlockService.h | 11 -- 4 files changed, 3 insertions(+), 186 deletions(-) diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c index e021734d5f..cb5360f821 100644 --- a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c @@ -28,7 +28,6 @@ Revision History // The protocols, PPI and GUID defintions for this module // #include -#include #include #include #include @@ -88,9 +87,6 @@ EFI_FW_VOL_BLOCK_DEVICE mFvbDeviceTemplate = { FvbProtocolWrite, FvbProtocolEraseBlocks, NULL - }, - { - FvbExtendProtocolEraseCustomBlockRange } }; @@ -608,113 +604,6 @@ Returns: return EFI_SUCCESS; } -EFI_STATUS -FvbEraseCustomBlockRange ( - IN UINTN Instance, - IN EFI_LBA StartLba, - IN UINTN OffsetStartLba, - IN EFI_LBA LastLba, - IN UINTN OffsetLastLba, - IN ESAL_FWB_GLOBAL *Global, - IN BOOLEAN Virtual - ) -/*++ - -Routine Description: - Erases and initializes a specified range of a firmware volume - -Arguments: - Instance - The FV instance to be erased - StartLba - The starting logical block index to be erased - OffsetStartLba - Offset into the starting block at which to - begin erasing - LastLba - The last logical block index to be erased - OffsetStartLba - Offset into the last block at which to end erasing - Global - Pointer to ESAL_FWB_GLOBAL that contains all - instance data - Virtual - Whether CPU is in virtual or physical mode - -Returns: - EFI_SUCCESS - The firmware volume was erased successfully - EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state - EFI_DEVICE_ERROR - The block device is not functioning correctly and - could not be written. Firmware device may have been - partially erased - EFI_INVALID_PARAMETER - Instance not found - ---*/ -{ - EFI_LBA Index; - UINTN LbaSize; - UINTN ScratchLbaSizeData; - EFI_STATUS Status; - - // - // First LBA - // - Status = FvbGetLbaAddress (Instance, StartLba, NULL, &LbaSize, NULL, Global, Virtual); - if (EFI_ERROR (Status)) { - return Status; - } - - // - // Use the scratch space as the intermediate buffer to transfer data - // Back up the first LBA in scratch space. - // - FvbReadBlock (Instance, StartLba, 0, &LbaSize, Global->FvbScratchSpace[Virtual], Global, Virtual); - - // - // erase now - // - FvbEraseBlock (Instance, StartLba, Global, Virtual); - ScratchLbaSizeData = OffsetStartLba; - - // - // write the data back to the first block - // - if (ScratchLbaSizeData > 0) { - Status = FvbWriteBlock (Instance, StartLba, 0, &ScratchLbaSizeData, Global->FvbScratchSpace[Virtual], Global, Virtual); - if (EFI_ERROR (Status)) { - return Status; - } - } - // - // Middle LBAs - // - if (LastLba > (StartLba + 1)) { - for (Index = (StartLba + 1); Index <= (LastLba - 1); Index++) { - FvbEraseBlock (Instance, Index, Global, Virtual); - } - } - // - // Last LBAs, the same as first LBAs - // - if (LastLba > StartLba) { - Status = FvbGetLbaAddress (Instance, LastLba, NULL, &LbaSize, NULL, Global, Virtual); - if (EFI_ERROR (Status)) { - return Status; - } - FvbReadBlock (Instance, LastLba, 0, &LbaSize, Global->FvbScratchSpace[Virtual], Global, Virtual); - FvbEraseBlock (Instance, LastLba, Global, Virtual); - } - - ScratchLbaSizeData = LbaSize - (OffsetLastLba + 1); - - if (ScratchLbaSizeData > 0) { - Status = FvbWriteBlock ( - Instance, - LastLba, - (OffsetLastLba + 1), - &ScratchLbaSizeData, - Global->FvbScratchSpace[Virtual] + OffsetLastLba + 1, - Global, - Virtual - ); - } - - return Status; -} - EFI_STATUS FvbSetVolumeAttributes ( IN UINTN Instance, @@ -1173,54 +1062,6 @@ Returns: return FvbReadBlock (FvbDevice->Instance, Lba, Offset, NumBytes, Buffer, mFvbModuleGlobal, EfiGoneVirtual ()); } -// -// FVB Extension Protocols -// -EFI_STATUS -EFIAPI -FvbExtendProtocolEraseCustomBlockRange ( - IN EFI_FVB_EXTENSION_PROTOCOL *This, - IN EFI_LBA StartLba, - IN UINTN OffsetStartLba, - IN EFI_LBA LastLba, - IN UINTN OffsetLastLba - ) -/*++ - -Routine Description: - Erases and initializes a specified range of a firmware volume - -Arguments: - This - Calling context - StartLba - The starting logical block index to be erased - OffsetStartLba - Offset into the starting block at which to - begin erasing - LastLba - The last logical block index to be erased - OffsetStartLba - Offset into the last block at which to end erasing - -Returns: - EFI_SUCCESS - The firmware volume was erased successfully - EFI_ACCESS_DENIED - The firmware volume is in the WriteDisabled state - EFI_DEVICE_ERROR - The block device is not functioning correctly and - could not be written. Firmware device may have been - partially erased - ---*/ -{ - EFI_FW_VOL_BLOCK_DEVICE *FvbDevice; - - FvbDevice = FVB_EXTEND_DEVICE_FROM_THIS (This); - - return FvbEraseCustomBlockRange ( - FvbDevice->Instance, - StartLba, - OffsetStartLba, - LastLba, - OffsetLastLba, - mFvbModuleGlobal, - EfiGoneVirtual () - ); -} EFI_STATUS ValidateFvHeader ( @@ -1510,13 +1351,9 @@ Returns: // ASSERT (FALSE); } - // - // Install FVB Extension Protocol on the same handle - // + Status = gBS->InstallMultipleProtocolInterfaces ( &FwbHandle, - &gEfiFvbExtensionProtocolGuid, - &FvbDevice->FvbExtension, &gEfiAlternateFvBlockGuid, NULL, NULL @@ -1533,13 +1370,5 @@ Returns: FvHob.Raw = GET_NEXT_HOB (FvHob); } - // - // Allocate for scratch space, an intermediate buffer for FVB extention - // - mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL] = AllocateRuntimePool (MaxLbaSize); - ASSERT (mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL] != NULL); - - mFvbModuleGlobal->FvbScratchSpace[FVB_VIRTUAL] = mFvbModuleGlobal->FvbScratchSpace[FVB_PHYSICAL]; - return EFI_SUCCESS; } diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FvbInfo.c b/Nt32Pkg/FvbServicesRuntimeDxe/FvbInfo.c index b99790fc3b..e05e205aae 100644 --- a/Nt32Pkg/FvbServicesRuntimeDxe/FvbInfo.c +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FvbInfo.c @@ -31,7 +31,6 @@ Abstract: #include #include #include -#include #include #include #include diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf b/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf index 8dccb22867..a36a9a3fc0 100644 --- a/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf @@ -63,7 +63,6 @@ gEfiAlternateFvBlockGuid # ALWAYS_CONSUME [Protocols] - gEfiFvbExtensionProtocolGuid # PROTOCOL ALWAYS_PRODUCED gEfiFirmwareVolumeBlockProtocolGuid # PROTOCOL ALWAYS_PRODUCED gEfiDevicePathProtocolGuid # PROTOCOL SOMETIMES_PRODUCED @@ -85,4 +84,5 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase [depex] - TRUE \ No newline at end of file + TRUE + \ No newline at end of file diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FwBlockService.h b/Nt32Pkg/FvbServicesRuntimeDxe/FwBlockService.h index 713f136b6b..b9ebfded32 100644 --- a/Nt32Pkg/FvbServicesRuntimeDxe/FwBlockService.h +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FwBlockService.h @@ -58,7 +58,6 @@ typedef struct { FV_DEVICE_PATH DevicePath; UINTN Instance; EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL FwVolBlockInstance; - EFI_FVB_EXTENSION_PROTOCOL FvbExtension; } EFI_FW_VOL_BLOCK_DEVICE; EFI_STATUS @@ -207,14 +206,4 @@ FvbProtocolEraseBlocks ( ... ); -EFI_STATUS -EFIAPI -FvbExtendProtocolEraseCustomBlockRange ( - IN EFI_FVB_EXTENSION_PROTOCOL *This, - IN EFI_LBA StartLba, - IN UINTN OffsetStartLba, - IN EFI_LBA LastLba, - IN UINTN OffsetLastLba - ); - #endif -- cgit v1.2.3