2 OVMF platform customization for EMU Variable FVB driver
4 Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #include <Library/DebugLib.h>
17 #include <Library/PcdLib.h>
18 #include <Library/PlatformFvbLib.h>
19 #include <Library/UefiBootServicesTableLib.h>
20 #include <Library/UefiRuntimeLib.h>
24 This function will be called following a call to the
25 EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Read function.
27 @param[in] This The EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
28 @param[in] Lba The starting logical block index
30 @param[in] Offset Offset into the block at which to begin reading.
31 @param[in] NumBytes The number of bytes read.
32 @param[in] Buffer Pointer to the buffer that was read, and will be
33 returned to the caller.
39 IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
*This
,
50 This function will be called following a call to the
51 EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Write function.
53 @param[in] This EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
54 @param[in] Lba The starting logical block index to written to.
55 @param[in] Offset Offset into the block at which to begin writing.
56 @param[in] NumBytes The number of bytes written.
57 @param[in] Buffer Pointer to the buffer that was written.
62 PlatformFvbDataWritten (
63 IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
*This
,
70 STATIC EFI_EVENT EventToSignal
= NULL
;
72 if (!EfiAtRuntime ()) {
73 if (EventToSignal
== NULL
) {
74 EventToSignal
= (EFI_EVENT
)(UINTN
) PcdGet64 (PcdEmuVariableEvent
);
76 if (EventToSignal
!= NULL
) {
77 gBS
->SignalEvent (EventToSignal
);
84 This function will be called following a call to the
85 EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Erase function.
87 @param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
89 @param List The variable argument list as documented for
90 the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Erase
96 PlatformFvbBlocksErased (
97 IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
*This
,