51 if (EFI_ERROR (Status)) {
58 Status = Fvb->GetPhysicalAddress (Fvb, &FvbBaseAddress);
59 if (EFI_ERROR (Status)) {
72 FvbMapEntry = &FwVolHeader->
BlockMap[0];
73 for (LbaIndex = 1; LbaIndex <= FvbMapEntry->
NumBlocks; LbaIndex += 1) {
74 if (Address < (FvbBaseAddress + FvbMapEntry->
Length * LbaIndex)) {
79 *Offset = (
UINTN)(Address - (FvbBaseAddress + FvbMapEntry->
Length * (LbaIndex - 1)));
120 if (EFI_ERROR (Status)) {
121 return EFI_NOT_FOUND;
128 if (EFI_ERROR (Status)) {
136 if (EFI_ERROR (Status)) {
141 ASSERT (FtwBufferSize == VariableBuffer->Size);
146 Status = FtwProtocol->Write (
153 (VOID *)VariableBuffer
EFI_STATUS GetFtwProtocol(OUT VOID **FtwProtocol)
EFI_STATUS GetLbaAndOffsetByAddress(IN EFI_PHYSICAL_ADDRESS Address, OUT EFI_LBA *Lba, OUT UINTN *Offset)
EFI_STATUS FtwVariableSpace(IN EFI_PHYSICAL_ADDRESS VariableBase, IN VARIABLE_STORE_HEADER *VariableBuffer)
UINT64 EFI_PHYSICAL_ADDRESS
EFI_STATUS GetFvbInfoByAddress(IN EFI_PHYSICAL_ADDRESS Address, OUT EFI_HANDLE *FvbHandle OPTIONAL, OUT EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL **FvbProtocol OPTIONAL)
EFI_FV_BLOCK_MAP_ENTRY BlockMap[1]