2009-09-26 09:15:48 +02:00
|
|
|
/** @file
|
|
|
|
OVMF platform customization for EMU Variable FVB driver
|
|
|
|
|
2011-01-09 04:50:39 +01:00
|
|
|
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
2019-04-04 01:06:33 +02:00
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
2009-09-26 09:15:48 +02:00
|
|
|
|
|
|
|
**/
|
|
|
|
|
|
|
|
#include "PiDxe.h"
|
|
|
|
#include <Library/DebugLib.h>
|
|
|
|
#include <Library/PcdLib.h>
|
|
|
|
#include <Library/PlatformFvbLib.h>
|
|
|
|
#include <Library/UefiBootServicesTableLib.h>
|
|
|
|
#include <Library/UefiRuntimeLib.h>
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
This function will be called following a call to the
|
2011-01-09 04:51:16 +01:00
|
|
|
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Read function.
|
2009-09-26 09:15:48 +02:00
|
|
|
|
2011-01-09 04:51:16 +01:00
|
|
|
@param[in] This The EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
|
|
|
@param[in] Lba The starting logical block index
|
|
|
|
from which to read.
|
|
|
|
@param[in] Offset Offset into the block at which to begin reading.
|
|
|
|
@param[in] NumBytes The number of bytes read.
|
|
|
|
@param[in] Buffer Pointer to the buffer that was read, and will be
|
|
|
|
returned to the caller.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
PlatformFvbDataRead (
|
|
|
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
|
|
|
IN EFI_LBA Lba,
|
|
|
|
IN UINTN Offset,
|
|
|
|
IN UINTN NumBytes,
|
|
|
|
IN UINT8 *Buffer
|
|
|
|
)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
This function will be called following a call to the
|
|
|
|
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Write function.
|
|
|
|
|
|
|
|
@param[in] This EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
2009-09-26 09:15:48 +02:00
|
|
|
@param[in] Lba The starting logical block index to written to.
|
2011-01-09 04:50:39 +01:00
|
|
|
@param[in] Offset Offset into the block at which to begin writing.
|
|
|
|
@param[in] NumBytes The number of bytes written.
|
|
|
|
@param[in] Buffer Pointer to the buffer that was written.
|
2009-09-26 09:15:48 +02:00
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
PlatformFvbDataWritten (
|
2011-01-09 04:50:58 +01:00
|
|
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
2011-01-09 04:50:39 +01:00
|
|
|
IN EFI_LBA Lba,
|
|
|
|
IN UINTN Offset,
|
|
|
|
IN UINTN NumBytes,
|
|
|
|
IN UINT8 *Buffer
|
2009-09-26 09:15:48 +02:00
|
|
|
)
|
|
|
|
{
|
|
|
|
STATIC EFI_EVENT EventToSignal = NULL;
|
|
|
|
|
|
|
|
if (!EfiAtRuntime ()) {
|
|
|
|
if (EventToSignal == NULL) {
|
|
|
|
EventToSignal = (EFI_EVENT)(UINTN) PcdGet64 (PcdEmuVariableEvent);
|
|
|
|
}
|
|
|
|
if (EventToSignal != NULL) {
|
|
|
|
gBS->SignalEvent (EventToSignal);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-01-09 04:51:16 +01:00
|
|
|
/**
|
|
|
|
This function will be called following a call to the
|
|
|
|
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Erase function.
|
|
|
|
|
|
|
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
|
|
|
|
instance.
|
|
|
|
@param List The variable argument list as documented for
|
|
|
|
the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Erase
|
|
|
|
function.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
PlatformFvbBlocksErased (
|
|
|
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
|
|
|
IN VA_LIST List
|
|
|
|
)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|