TianoCore EDK2 master
Loading...
Searching...
No Matches
FlashDeviceLib.h File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI LibFvbFlashDeviceRead (IN UINTN PAddress, IN OUT UINTN *NumBytes, OUT UINT8 *Buffer)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceWrite (IN UINTN PAddress, IN OUT UINTN *NumBytes, IN UINT8 *Buffer)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceBlockErase (IN UINTN PAddress, IN UINTN LbaLength)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceBlockLock (IN UINTN PAddress, IN UINTN LbaLength, IN BOOLEAN Lock)
 
PHYSICAL_ADDRESS EFIAPI LibFvbFlashDeviceMemoryMap ()
 

Detailed Description

Flash device library class header file.

Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file FlashDeviceLib.h.

Function Documentation

◆ LibFvbFlashDeviceBlockErase()

EFI_STATUS EFIAPI LibFvbFlashDeviceBlockErase ( IN UINTN  PAddress,
IN UINTN  LbaLength 
)

Erase the block starting at PAddress.

Parameters
[in]PAddressThe starting physical address of the region to be erased.
[in]LbaLengthThe length of the region to be erased. This parameter is necessary as the physical block size on a flash device could be different than the logical block size of Firmware Volume Block protocol. Erase on flash chip is always performed block by block. Therefore, the ERASE operation to a logical block is converted a number of ERASE operation (or a partial erase) on the hardware.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Erase the block starting at PAddress.

Parameters
[in]PAddressThe starting physical address of the block to be erased. This library assume that caller garantee that the PAddress is at the starting address of this block.
[in]LbaLengthThe length of the logical block to be erased.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 120 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceBlockLock()

EFI_STATUS EFIAPI LibFvbFlashDeviceBlockLock ( IN UINTN  PAddress,
IN UINTN  LbaLength,
IN BOOLEAN  Lock 
)

Lock or unlock the block starting at PAddress.

Parameters
[in]PAddressThe starting physical address of region to be (un)locked.
[in]LbaLengthThe length of the region to be (un)locked. This parameter is necessary as the physical block size on a flash device could be different than the logical block size of Firmware Volume Block protocol. (Un)Lock on flash chip is always performed block by block. Therefore, the (Un)Lock operation to a logical block is converted a number of (Un)Lock operation (or a partial erase) on the hardware.
[in]LockTRUE to lock. FALSE to unlock.
Return values
EFI_SUCCESS.Opertion is successful.

Lock or unlock the block starting at PAddress.

Parameters
[in]PAddressThe starting physical address of region to be (un)locked.
[in]LbaLengthThe length of the logical block to be erased.
[in]LockTRUE to lock. FALSE to unlock.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 153 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceRead()

EFI_STATUS EFIAPI LibFvbFlashDeviceRead ( IN UINTN  PAddress,
IN OUT UINTN NumBytes,
OUT UINT8 *  Buffer 
)

Read NumBytes bytes of data from the address specified by PAddress into Buffer.

Parameters
[in]PAddressThe starting physical address of the read.
[in,out]NumBytesOn input, the number of bytes to read. On output, the number of bytes actually read.
[out]BufferThe destination data buffer for the read.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 45 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceWrite()

EFI_STATUS EFIAPI LibFvbFlashDeviceWrite ( IN UINTN  PAddress,
IN OUT UINTN NumBytes,
IN UINT8 *  Buffer 
)

Write NumBytes bytes of data from Buffer to the address specified by PAddresss.

Parameters
[in]PAddressThe starting physical address of the write.
[in,out]NumBytesOn input, the number of bytes to write. On output, the actual number of bytes written.
[in]BufferThe source data buffer for the write.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 83 of file FlashDeviceLib.c.