/*++\r
RealView EB FVB DXE Driver\r
\r
-Copyright (c) 2010, Apple Inc. All rights reserved.<BR> \r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2010, Apple Inc. All rights reserved.<BR>\r
+This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
\r
--*/\r
/**\r
The SetAttributes() function sets configurable firmware volume\r
attributes and returns the new settings of the firmware volume.\r
- \r
+\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
\r
settings of the firmware volume. Type\r
EFI_FVB_ATTRIBUTES_2 is defined in\r
EFI_FIRMWARE_VOLUME_HEADER.\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume attributes were returned.\r
\r
@retval EFI_INVALID_PARAMETER The attributes requested are in\r
only for memory-mapped firmware volumes.\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
- \r
+\r
@param Address Pointer to a caller-allocated\r
EFI_PHYSICAL_ADDRESS that, on successful\r
return from GetPhysicalAddress(), contains the\r
base address of the firmware volume.\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume base address was returned.\r
- \r
+\r
@retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.\r
\r
**/\r
blocks in this range have a size of\r
BlockSize.\r
\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume base address was returned.\r
- \r
+\r
@retval EFI_INVALID_PARAMETER The requested LBA is out of range.\r
\r
**/\r
aware that a read may be partially completed.\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
- \r
+\r
@param Lba The starting logical block index\r
from which to read.\r
\r
\r
@retval EFI_SUCCESS The firmware volume was read successfully,\r
and contents are in Buffer.\r
- \r
+\r
@retval EFI_BAD_BUFFER_SIZE Read attempted across an LBA\r
boundary. On output, NumBytes\r
contains the total number of bytes\r
returned in Buffer.\r
- \r
+\r
@retval EFI_ACCESS_DENIED The firmware volume is in the\r
ReadDisabled state.\r
- \r
+\r
@retval EFI_DEVICE_ERROR The block device is not\r
functioning correctly and could\r
not be read.\r
unpredictability arises because, for a sticky-write firmware\r
volume, a write may negate a bit in the EFI_FVB_ERASE_POLARITY\r
state but cannot flip it back again. Before calling the\r
- Write() function, it is recommended for the caller to first call \r
+ Write() function, it is recommended for the caller to first call\r
the EraseBlocks() function to erase the specified block to\r
write. A block erase cycle will transition bits from the\r
(NOT)EFI_FVB_ERASE_POLARITY state back to the\r
returns.\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
- \r
+\r
@param Lba The starting logical block index to write to.\r
- \r
+\r
@param Offset Offset into the block at which to begin writing.\r
- \r
+\r
@param NumBytes The pointer to a UINTN. At entry, *NumBytes\r
contains the total size of the buffer. At\r
exit, *NumBytes contains the total number of\r
bytes actually written.\r
- \r
+\r
@param Buffer The pointer to a caller-allocated buffer that\r
contains the source for the write.\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume was written successfully.\r
- \r
+\r
@retval EFI_BAD_BUFFER_SIZE The write was attempted across an\r
LBA boundary. On output, NumBytes\r
contains the total number of bytes\r
actually written.\r
- \r
+\r
@retval EFI_ACCESS_DENIED The firmware volume is in the\r
WriteDisabled state.\r
- \r
+\r
@retval EFI_DEVICE_ERROR The block device is malfunctioning\r
and could not be written.\r
\r
\r
@retval EFI_SUCCESS The erase request successfully\r
completed.\r
- \r
+\r
@retval EFI_ACCESS_DENIED The firmware volume is in the\r
WriteDisabled state.\r
@retval EFI_DEVICE_ERROR The block device is not functioning\r
partially erased.\r
@retval EFI_INVALID_PARAMETER One or more of the LBAs listed\r
in the variable argument list do\r
- not exist in the firmware volume. \r
+ not exist in the firmware volume.\r
\r
**/\r
EFI_STATUS\r
FvbEraseBlocks,\r
///\r
/// The handle of the parent firmware volume.\r
- /// \r
+ ///\r
NULL\r
};\r
\r
{\r
EFI_STATUS Status;\r
\r
- \r
+\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&gFvbHandle,\r
&gEfiFirmwareVolumeBlockProtocolGuid, &gFvbProtocol,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
- \r
+\r
// SetVertAddressEvent ()\r
- \r
+\r
// GCD Map NAND as RT\r
- \r
+\r
return Status;\r
}\r
\r