diff options
author | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-01-09 03:51:16 +0000 |
---|---|---|
committer | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-01-09 03:51:16 +0000 |
commit | 3a4ddfc564d9b599d408a7d2d7992a51a5100e22 (patch) | |
tree | c29c7e6bb729c8c7b0cb19869a2bc56d459d6b8f /OvmfPkg | |
parent | 949b0f3b27b3667b9fed143239c5d478ece1c3ab (diff) | |
download | edk2-3a4ddfc564d9b599d408a7d2d7992a51a5100e22.zip edk2-3a4ddfc564d9b599d408a7d2d7992a51a5100e22.tar.gz edk2-3a4ddfc564d9b599d408a7d2d7992a51a5100e22.tar.bz2 |
OvmfPkg EMU FVB: Add 2 functions to PlatformFvbLib
Add PlatformFvbDataRead and PlatformFvbBlocksErased functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11241 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg')
-rw-r--r-- | OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c | 3 | ||||
-rw-r--r-- | OvmfPkg/Include/Library/PlatformFvbLib.h | 48 | ||||
-rw-r--r-- | OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.c | 51 | ||||
-rw-r--r-- | OvmfPkg/Library/PlatformFvbLibNull/PlatformFvbLibNull.c | 47 |
4 files changed, 145 insertions, 4 deletions
diff --git a/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c b/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c index 314dc98..4d01ec7 100644 --- a/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c +++ b/OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c @@ -377,6 +377,8 @@ FvbProtocolEraseBlocks ( EraseSize,
ERASED_UINT8
);
+ VA_START (args, This);
+ PlatformFvbBlocksErased (This, args);
}
return EFI_SUCCESS;
@@ -557,6 +559,7 @@ FvbProtocolRead ( if (*NumBytes > 0) {
CopyMem (Buffer, FvbDataPtr, *NumBytes);
+ PlatformFvbDataRead (This, Lba, Offset, *NumBytes, Buffer);
}
return EFI_SUCCESS;
diff --git a/OvmfPkg/Include/Library/PlatformFvbLib.h b/OvmfPkg/Include/Library/PlatformFvbLib.h index 03ac2fb..d4d09b2 100644 --- a/OvmfPkg/Include/Library/PlatformFvbLib.h +++ b/OvmfPkg/Include/Library/PlatformFvbLib.h @@ -20,9 +20,33 @@ /**
This function will be called following a call to the
- EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL Write function.
+ EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Read function.
- @param[in] This EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
+ @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.
@param[in] Lba The starting logical block index to written to.
@param[in] Offset Offset into the block at which to begin writing.
@param[in] NumBytes The number of bytes written.
@@ -39,5 +63,25 @@ PlatformFvbDataWritten ( IN UINT8 *Buffer
);
+
+/**
+ 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
+ );
+
+
#endif
diff --git a/OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.c b/OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.c index e3f153e..9b449a6 100644 --- a/OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.c +++ b/OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.c @@ -22,9 +22,35 @@ /**
This function will be called following a call to the
- EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL Write function.
+ EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Read function.
- @param[in] This EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
+ @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.
@param[in] Lba The starting logical block index to written to.
@param[in] Offset Offset into the block at which to begin writing.
@param[in] NumBytes The number of bytes written.
@@ -54,3 +80,24 @@ PlatformFvbDataWritten ( }
+/**
+ 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
+ )
+{
+}
+
+
diff --git a/OvmfPkg/Library/PlatformFvbLibNull/PlatformFvbLibNull.c b/OvmfPkg/Library/PlatformFvbLibNull/PlatformFvbLibNull.c index 5b15160..ea5da6e 100644 --- a/OvmfPkg/Library/PlatformFvbLibNull/PlatformFvbLibNull.c +++ b/OvmfPkg/Library/PlatformFvbLibNull/PlatformFvbLibNull.c @@ -18,6 +18,32 @@ /**
This function will be called following a call to the
+ EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Read function.
+
+ @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_BLOCK_PROTOCOL Write function.
@param[in] This EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
@@ -40,3 +66,24 @@ PlatformFvbDataWritten ( }
+/**
+ 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
+ )
+{
+}
+
+
|