mirror of https://github.com/acidanthera/audk.git
Add new protocol definition of FVB2 defined in PI1.2 and change GUID value of FVB to be that of FVB2.
This is a source level compatible change, but not binary level. We might need to rebuild some old binary modules to work with newer version of MdePkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9394 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
7992c0b02d
commit
5bd462695a
|
@ -315,3 +315,14 @@ EDK_9385: Non-Compatible: xli24
|
||||||
|
|
||||||
Possible impacts:
|
Possible impacts:
|
||||||
Platforms which uses the default value of PCD (not overriding in DSC) would get updated report status code value for setting virtual address map.
|
Platforms which uses the default value of PCD (not overriding in DSC) would get updated report status code value for setting virtual address map.
|
||||||
|
|
||||||
|
EDK_9394: Non-Compatible: qhuang8
|
||||||
|
|
||||||
|
GUID value of EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID and gEfiFirmwareVolumeBlockProtocolGuid has been changed to
|
||||||
|
that of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL_GUID defined in PI 1.2 spec.
|
||||||
|
|
||||||
|
|
||||||
|
Possible impacts:
|
||||||
|
This is a source level compatible change, but not binary level. We might need to rebuild some old binary modules to work with newer version of MdePkg.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This file provides control over block-oriented firmware devices.
|
This file provides control over block-oriented firmware devices.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2009, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -11,25 +11,33 @@
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
@par Revision Reference: PI
|
@par Revision Reference: PI
|
||||||
Version 1.00.
|
Version 1.0 and 1.2.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef __FIRMWARE_VOLUME_BLOCK_H__
|
#ifndef __FIRMWARE_VOLUME_BLOCK_H__
|
||||||
#define __FIRMWARE_VOLUME_BLOCK_H__
|
#define __FIRMWARE_VOLUME_BLOCK_H__
|
||||||
|
|
||||||
|
//
|
||||||
|
// EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is defined in PI 1.0 spec and its GUID value
|
||||||
|
// is later updated to be the same as that of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
|
||||||
|
// defined in PI 1.2 spec.
|
||||||
|
//
|
||||||
#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
|
#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
|
||||||
{ 0xDE28BC59, 0x6228, 0x41BD, {0xBD, 0xF6, 0xA3, 0xB9, 0xAD,0xB5, 0x8D, 0xA1 } }
|
{ 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
|
||||||
|
|
||||||
|
#define EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL_GUID \
|
||||||
|
{ 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
|
||||||
|
|
||||||
typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;
|
typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;
|
||||||
|
|
||||||
|
typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The GetAttributes() function retrieves the attributes and
|
The GetAttributes() function retrieves the attributes and
|
||||||
current settings of the block. Status Codes Returned
|
current settings of the block. Status Codes Returned
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||||
|
|
||||||
@param Attributes Pointer to EFI_FVB_ATTRIBUTES_2 in which the
|
@param Attributes Pointer to EFI_FVB_ATTRIBUTES_2 in which the
|
||||||
attributes and current settings are
|
attributes and current settings are
|
||||||
|
@ -43,7 +51,7 @@ typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PRO
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * EFI_FVB_GET_ATTRIBUTES)(
|
(EFIAPI * EFI_FVB_GET_ATTRIBUTES)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
OUT EFI_FVB_ATTRIBUTES_2 *Attributes
|
OUT EFI_FVB_ATTRIBUTES_2 *Attributes
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -52,7 +60,7 @@ EFI_STATUS
|
||||||
The SetAttributes() function sets configurable firmware volume
|
The SetAttributes() function sets configurable firmware volume
|
||||||
attributes and returns the new settings of the firmware volume.
|
attributes and returns the new settings of the firmware volume.
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||||
|
|
||||||
@param Attributes On input, Attributes is a pointer to
|
@param Attributes On input, Attributes is a pointer to
|
||||||
EFI_FVB_ATTRIBUTES_2 that contains the
|
EFI_FVB_ATTRIBUTES_2 that contains the
|
||||||
|
@ -73,7 +81,7 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * EFI_FVB_SET_ATTRIBUTES)(
|
(EFIAPI * EFI_FVB_SET_ATTRIBUTES)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes
|
IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -83,7 +91,7 @@ EFI_STATUS
|
||||||
a memory-mapped firmware volume. This function should be called
|
a memory-mapped firmware volume. This function should be called
|
||||||
only for memory-mapped firmware volumes.
|
only for memory-mapped firmware volumes.
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||||
|
|
||||||
@param Address Pointer to a caller-allocated
|
@param Address Pointer to a caller-allocated
|
||||||
EFI_PHYSICAL_ADDRESS that, on successful
|
EFI_PHYSICAL_ADDRESS that, on successful
|
||||||
|
@ -98,7 +106,7 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * EFI_FVB_GET_PHYSICAL_ADDRESS)(
|
(EFIAPI * EFI_FVB_GET_PHYSICAL_ADDRESS)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
OUT EFI_PHYSICAL_ADDRESS *Address
|
OUT EFI_PHYSICAL_ADDRESS *Address
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -109,7 +117,7 @@ EFI_STATUS
|
||||||
retrieve the block map (see EFI_FIRMWARE_VOLUME_HEADER).
|
retrieve the block map (see EFI_FIRMWARE_VOLUME_HEADER).
|
||||||
|
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||||
|
|
||||||
@param Lba Indicates the block for which to return the size.
|
@param Lba Indicates the block for which to return the size.
|
||||||
|
|
||||||
|
@ -131,7 +139,7 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * EFI_FVB_GET_BLOCK_SIZE)(
|
(EFIAPI * EFI_FVB_GET_BLOCK_SIZE)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
IN EFI_LBA Lba,
|
IN EFI_LBA Lba,
|
||||||
OUT UINTN *BlockSize,
|
OUT UINTN *BlockSize,
|
||||||
OUT UINTN *NumberOfBlocks
|
OUT UINTN *NumberOfBlocks
|
||||||
|
@ -154,7 +162,7 @@ EFI_STATUS
|
||||||
indicate the number of bytes actually read. The caller must be
|
indicate the number of bytes actually read. The caller must be
|
||||||
aware that a read may be partially completed.
|
aware that a read may be partially completed.
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||||
|
|
||||||
@param Lba The starting logical block index
|
@param Lba The starting logical block index
|
||||||
from which to read.
|
from which to read.
|
||||||
|
@ -188,7 +196,7 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_FVB_READ)(
|
(EFIAPI *EFI_FVB_READ)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
IN EFI_LBA Lba,
|
IN EFI_LBA Lba,
|
||||||
IN UINTN Offset,
|
IN UINTN Offset,
|
||||||
IN OUT UINTN *NumBytes,
|
IN OUT UINTN *NumBytes,
|
||||||
|
@ -225,7 +233,7 @@ EFI_STATUS
|
||||||
fully flushed to the hardware before the Write() service
|
fully flushed to the hardware before the Write() service
|
||||||
returns.
|
returns.
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
|
||||||
|
|
||||||
@param Lba The starting logical block index to write to.
|
@param Lba The starting logical block index to write to.
|
||||||
|
|
||||||
|
@ -257,7 +265,7 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * EFI_FVB_WRITE)(
|
(EFIAPI * EFI_FVB_WRITE)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
IN EFI_LBA Lba,
|
IN EFI_LBA Lba,
|
||||||
IN UINTN Offset,
|
IN UINTN Offset,
|
||||||
IN OUT UINTN *NumBytes,
|
IN OUT UINTN *NumBytes,
|
||||||
|
@ -291,7 +299,7 @@ EFI_STATUS
|
||||||
flushed to the hardware before the EraseBlocks() service
|
flushed to the hardware before the EraseBlocks() service
|
||||||
returns.
|
returns.
|
||||||
|
|
||||||
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL
|
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
|
||||||
instance.
|
instance.
|
||||||
|
|
||||||
@param ... The variable argument list is a list of tuples.
|
@param ... The variable argument list is a list of tuples.
|
||||||
|
@ -324,7 +332,7 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * EFI_FVB_ERASE_BLOCKS)(
|
(EFIAPI * EFI_FVB_ERASE_BLOCKS)(
|
||||||
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
|
IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
|
||||||
...
|
...
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -353,6 +361,6 @@ struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {
|
||||||
|
|
||||||
|
|
||||||
extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;
|
extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;
|
||||||
|
extern EFI_GUID gEfiFirmwareVolumeBlock2ProtocolGuid;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -558,7 +558,7 @@
|
||||||
gEfiFirmwareVolume2ProtocolGuid = { 0x220e73b6, 0x6bdb, 0x4413, { 0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a } }
|
gEfiFirmwareVolume2ProtocolGuid = { 0x220e73b6, 0x6bdb, 0x4413, { 0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a } }
|
||||||
|
|
||||||
## Include/Protocol/FirmwareVolumeBlock.h
|
## Include/Protocol/FirmwareVolumeBlock.h
|
||||||
gEfiFirmwareVolumeBlockProtocolGuid = { 0xDE28BC59, 0x6228, 0x41BD, { 0xBD, 0xF6, 0xA3, 0xB9, 0xAD, 0xB5, 0x8D, 0xA1 }}
|
gEfiFirmwareVolumeBlockProtocolGuid = { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
|
||||||
|
|
||||||
## Include/Protocol/Capsule.h
|
## Include/Protocol/Capsule.h
|
||||||
gEfiCapsuleArchProtocolGuid = { 0x5053697E, 0x2CBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}
|
gEfiCapsuleArchProtocolGuid = { 0x5053697E, 0x2CBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}
|
||||||
|
@ -681,6 +681,9 @@
|
||||||
## Include/Protocol/PiPcd.h
|
## Include/Protocol/PiPcd.h
|
||||||
gEfiPcdProtocolGuid = { 0x13a3f0f6, 0x264a, 0x3ef0, { 0xf2, 0xe0, 0xde, 0xc5, 0x12, 0x34, 0x2f, 0x34 } }
|
gEfiPcdProtocolGuid = { 0x13a3f0f6, 0x264a, 0x3ef0, { 0xf2, 0xe0, 0xde, 0xc5, 0x12, 0x34, 0x2f, 0x34 } }
|
||||||
|
|
||||||
|
## Include/Protocol/FirmwareVolumeBlock.h
|
||||||
|
gEfiFirmwareVolumeBlock2ProtocolGuid = { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
|
||||||
|
|
||||||
#
|
#
|
||||||
# Protocols defined in UEFI2.1/UEFI2.0/EFI1.1
|
# Protocols defined in UEFI2.1/UEFI2.0/EFI1.1
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue