Remove some unused internal functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2315 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -228,71 +228,6 @@ IDEWritePortWMultiple (
|
|||||||
gBS->FreePool (WorkingBuffer);
|
gBS->FreePool (WorkingBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
TODO: Add function description
|
|
||||||
|
|
||||||
@param IdeDev TODO: add argument description
|
|
||||||
|
|
||||||
TODO: add return values
|
|
||||||
|
|
||||||
**/
|
|
||||||
STATIC
|
|
||||||
BOOLEAN
|
|
||||||
BadIdeDeviceCheck (
|
|
||||||
IN IDE_BLK_IO_DEV *IdeDev
|
|
||||||
)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
// check whether all registers return 0xff,
|
|
||||||
// if so, deem the channel is disabled.
|
|
||||||
//
|
|
||||||
#ifdef EFI_DEBUG
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Data) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Feature) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->SectorCount) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->SectorNumber) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->CylinderLsb) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->CylinderMsb) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Head) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Command) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Alt.AltStatus) != 0xff) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// GetIdeRegistersBaseAddr
|
// GetIdeRegistersBaseAddr
|
||||||
//
|
//
|
||||||
|
@ -101,270 +101,6 @@ Returns:
|
|||||||
mNumberOfPciRomImages++;
|
mNumberOfPciRomImages++;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC
|
|
||||||
VOID
|
|
||||||
HexToString (
|
|
||||||
CHAR16 *String,
|
|
||||||
UINTN Value,
|
|
||||||
UINTN Digits
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
|
|
||||||
TODO: Add function description
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
String - TODO: add argument description
|
|
||||||
Value - TODO: add argument description
|
|
||||||
Digits - TODO: add argument description
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
TODO: add return values
|
|
||||||
|
|
||||||
--*/
|
|
||||||
{
|
|
||||||
for (; Digits > 0; Digits--, String++) {
|
|
||||||
*String = (CHAR16) ((Value >> (4 * (Digits - 1))) & 0x0f);
|
|
||||||
if (*String > 9) {
|
|
||||||
(*String) += ('A' - 10);
|
|
||||||
} else {
|
|
||||||
(*String) += '0';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC
|
|
||||||
EFI_STATUS
|
|
||||||
PciRomLoadEfiDriversFromRomImage (
|
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
||||||
IN EFI_PCI_OPTION_ROM_DESCRIPTOR *PciOptionRomDescriptor
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
--*/
|
|
||||||
// TODO: This - add argument and description to function comment
|
|
||||||
// TODO: PciOptionRomDescriptor - add argument and description to function comment
|
|
||||||
{
|
|
||||||
VOID *RomBar;
|
|
||||||
UINTN RomSize;
|
|
||||||
CHAR16 *FileName;
|
|
||||||
EFI_PCI_EXPANSION_ROM_HEADER *EfiRomHeader;
|
|
||||||
PCI_DATA_STRUCTURE *Pcir;
|
|
||||||
UINTN ImageIndex;
|
|
||||||
UINTN RomBarOffset;
|
|
||||||
UINT32 ImageSize;
|
|
||||||
UINT16 ImageOffset;
|
|
||||||
EFI_HANDLE ImageHandle;
|
|
||||||
EFI_STATUS Status;
|
|
||||||
EFI_STATUS retStatus;
|
|
||||||
EFI_DEVICE_PATH_PROTOCOL *FilePath;
|
|
||||||
BOOLEAN SkipImage;
|
|
||||||
UINT32 DestinationSize;
|
|
||||||
UINT32 ScratchSize;
|
|
||||||
UINT8 *Scratch;
|
|
||||||
VOID *ImageBuffer;
|
|
||||||
VOID *DecompressedImageBuffer;
|
|
||||||
UINT32 ImageLength;
|
|
||||||
EFI_DECOMPRESS_PROTOCOL *Decompress;
|
|
||||||
|
|
||||||
RomBar = (VOID *) (UINTN) PciOptionRomDescriptor->RomAddress;
|
|
||||||
RomSize = (UINTN) PciOptionRomDescriptor->RomLength;
|
|
||||||
FileName = L"PciRom Seg=00000000 Bus=00 Dev=00 Func=00 Image=0000";
|
|
||||||
|
|
||||||
HexToString (&FileName[11], PciOptionRomDescriptor->Seg, 8);
|
|
||||||
HexToString (&FileName[24], PciOptionRomDescriptor->Bus, 2);
|
|
||||||
HexToString (&FileName[31], PciOptionRomDescriptor->Dev, 2);
|
|
||||||
HexToString (&FileName[39], PciOptionRomDescriptor->Func, 2);
|
|
||||||
|
|
||||||
ImageIndex = 0;
|
|
||||||
retStatus = EFI_NOT_FOUND;
|
|
||||||
RomBarOffset = (UINTN) RomBar;
|
|
||||||
|
|
||||||
do {
|
|
||||||
|
|
||||||
EfiRomHeader = (EFI_PCI_EXPANSION_ROM_HEADER *) (UINTN) RomBarOffset;
|
|
||||||
|
|
||||||
if (EfiRomHeader->Signature != 0xaa55) {
|
|
||||||
return retStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
Pcir = (PCI_DATA_STRUCTURE *) (UINTN) (RomBarOffset + EfiRomHeader->PcirOffset);
|
|
||||||
ImageSize = Pcir->ImageLength * 512;
|
|
||||||
|
|
||||||
if ((Pcir->CodeType == PCI_CODE_TYPE_EFI_IMAGE) &&
|
|
||||||
(EfiRomHeader->EfiSignature == EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE) ) {
|
|
||||||
|
|
||||||
if ((EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) ||
|
|
||||||
(EfiRomHeader->EfiSubsystem == EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER) ) {
|
|
||||||
|
|
||||||
ImageOffset = EfiRomHeader->EfiImageHeaderOffset;
|
|
||||||
ImageSize = EfiRomHeader->InitializationSize * 512;
|
|
||||||
|
|
||||||
ImageBuffer = (VOID *) (UINTN) (RomBarOffset + ImageOffset);
|
|
||||||
ImageLength = ImageSize - ImageOffset;
|
|
||||||
DecompressedImageBuffer = NULL;
|
|
||||||
|
|
||||||
//
|
|
||||||
// decompress here if needed
|
|
||||||
//
|
|
||||||
SkipImage = FALSE;
|
|
||||||
if (EfiRomHeader->CompressionType > EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) {
|
|
||||||
SkipImage = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (EfiRomHeader->CompressionType == EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED) {
|
|
||||||
Status = gBS->LocateProtocol (&gEfiDecompressProtocolGuid, NULL, (VOID **) &Decompress);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
SkipImage = TRUE;
|
|
||||||
} else {
|
|
||||||
SkipImage = TRUE;
|
|
||||||
Status = Decompress->GetInfo (
|
|
||||||
Decompress,
|
|
||||||
ImageBuffer,
|
|
||||||
ImageLength,
|
|
||||||
&DestinationSize,
|
|
||||||
&ScratchSize
|
|
||||||
);
|
|
||||||
if (!EFI_ERROR (Status)) {
|
|
||||||
DecompressedImageBuffer = NULL;
|
|
||||||
DecompressedImageBuffer = AllocatePool (DestinationSize);
|
|
||||||
if (DecompressedImageBuffer != NULL) {
|
|
||||||
Scratch = AllocatePool (ScratchSize);
|
|
||||||
if (Scratch != NULL) {
|
|
||||||
Status = Decompress->Decompress (
|
|
||||||
Decompress,
|
|
||||||
ImageBuffer,
|
|
||||||
ImageLength,
|
|
||||||
DecompressedImageBuffer,
|
|
||||||
DestinationSize,
|
|
||||||
Scratch,
|
|
||||||
ScratchSize
|
|
||||||
);
|
|
||||||
if (!EFI_ERROR (Status)) {
|
|
||||||
ImageBuffer = DecompressedImageBuffer;
|
|
||||||
ImageLength = DestinationSize;
|
|
||||||
SkipImage = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
gBS->FreePool (Scratch);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SkipImage) {
|
|
||||||
|
|
||||||
//
|
|
||||||
// load image and start image
|
|
||||||
//
|
|
||||||
|
|
||||||
HexToString (&FileName[48], ImageIndex, 4);
|
|
||||||
FilePath = FileDevicePath (NULL, FileName);
|
|
||||||
|
|
||||||
Status = gBS->LoadImage (
|
|
||||||
FALSE,
|
|
||||||
This->ImageHandle,
|
|
||||||
FilePath,
|
|
||||||
ImageBuffer,
|
|
||||||
ImageLength,
|
|
||||||
&ImageHandle
|
|
||||||
);
|
|
||||||
if (!EFI_ERROR (Status)) {
|
|
||||||
Status = gBS->StartImage (ImageHandle, NULL, NULL);
|
|
||||||
if (!EFI_ERROR (Status)) {
|
|
||||||
PciRomAddImageMapping (
|
|
||||||
ImageHandle,
|
|
||||||
PciOptionRomDescriptor->Seg,
|
|
||||||
PciOptionRomDescriptor->Bus,
|
|
||||||
PciOptionRomDescriptor->Dev,
|
|
||||||
PciOptionRomDescriptor->Func,
|
|
||||||
PciOptionRomDescriptor->RomAddress,
|
|
||||||
PciOptionRomDescriptor->RomLength
|
|
||||||
);
|
|
||||||
retStatus = Status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DecompressedImageBuffer != NULL) {
|
|
||||||
gBS->FreePool (DecompressedImageBuffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RomBarOffset = RomBarOffset + ImageSize;
|
|
||||||
ImageIndex++;
|
|
||||||
} while (((Pcir->Indicator & 0x80) == 0x00) && ((RomBarOffset - (UINTN) RomBar) < RomSize));
|
|
||||||
|
|
||||||
return retStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC
|
|
||||||
EFI_STATUS
|
|
||||||
PciRomLoadEfiDriversFromOptionRomTable (
|
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
||||||
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
--*/
|
|
||||||
// TODO: This - add argument and description to function comment
|
|
||||||
// TODO: PciRootBridgeIo - add argument and description to function comment
|
|
||||||
// TODO: EFI_NOT_FOUND - add return value to function comment
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
EFI_PCI_OPTION_ROM_TABLE *PciOptionRomTable;
|
|
||||||
EFI_PCI_OPTION_ROM_DESCRIPTOR *PciOptionRomDescriptor;
|
|
||||||
UINTN Index;
|
|
||||||
EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors;
|
|
||||||
UINT16 MinBus;
|
|
||||||
UINT16 MaxBus;
|
|
||||||
|
|
||||||
Status = EfiGetSystemConfigurationTable (&gEfiPciOptionRomTableGuid, (VOID **) &PciOptionRomTable);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return EFI_NOT_FOUND;
|
|
||||||
}
|
|
||||||
|
|
||||||
Status = EFI_NOT_FOUND;
|
|
||||||
|
|
||||||
for (Index = 0; Index < PciOptionRomTable->PciOptionRomCount; Index++) {
|
|
||||||
PciOptionRomDescriptor = &PciOptionRomTable->PciOptionRomDescriptors[Index];
|
|
||||||
if (!PciOptionRomDescriptor->DontLoadEfiRom) {
|
|
||||||
if (PciOptionRomDescriptor->Seg == PciRootBridgeIo->SegmentNumber) {
|
|
||||||
Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **) &Descriptors);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
PciGetBusRange (&Descriptors, &MinBus, &MaxBus, NULL);
|
|
||||||
if ((MinBus <= PciOptionRomDescriptor->Bus) && (PciOptionRomDescriptor->Bus <= MaxBus)) {
|
|
||||||
Status = PciRomLoadEfiDriversFromRomImage (This, PciOptionRomDescriptor);
|
|
||||||
PciOptionRomDescriptor->DontLoadEfiRom |= 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
PciRomGetRomResourceFromPciOptionRomTable (
|
PciRomGetRomResourceFromPciOptionRomTable (
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
@ -59,44 +59,6 @@ Returns:
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC
|
|
||||||
EFI_STATUS
|
|
||||||
USBReadPortDW (
|
|
||||||
IN EFI_PCI_IO_PROTOCOL *PciIo,
|
|
||||||
IN UINT32 PortOffset,
|
|
||||||
IN OUT UINT32 *Data
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
|
|
||||||
USBReadPort DWord
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
PciIo - EFI_PCI_IO_PROTOCOL
|
|
||||||
PortOffset - Port offset
|
|
||||||
Data - Data to reutrn
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
EFI_SUCCESS
|
|
||||||
|
|
||||||
--*/
|
|
||||||
{
|
|
||||||
//
|
|
||||||
// Perform 32bit Read in PCI IO Space
|
|
||||||
//
|
|
||||||
return PciIo->Io.Read (
|
|
||||||
PciIo,
|
|
||||||
EfiPciIoWidthUint32,
|
|
||||||
USB_BAR_INDEX,
|
|
||||||
(UINT64) PortOffset,
|
|
||||||
1,
|
|
||||||
Data
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC
|
STATIC
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
USBWritePortW (
|
USBWritePortW (
|
||||||
|
@ -22,6 +22,16 @@ Abstract:
|
|||||||
|
|
||||||
--*/
|
--*/
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
ConvertBmpToGopBlt (
|
||||||
|
IN VOID *BmpImage,
|
||||||
|
IN UINTN BmpImageSize,
|
||||||
|
IN OUT VOID **GopBlt,
|
||||||
|
IN OUT UINTN *GopBltSize,
|
||||||
|
OUT UINTN *PixelHeight,
|
||||||
|
OUT UINTN *PixelWidth
|
||||||
|
);
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
GetGraphicsBitMapFromFV (
|
GetGraphicsBitMapFromFV (
|
||||||
IN EFI_GUID *FileNameGuid,
|
IN EFI_GUID *FileNameGuid,
|
||||||
@ -105,7 +115,6 @@ Returns:
|
|||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
ConvertBmpToGopBlt (
|
ConvertBmpToGopBlt (
|
||||||
IN VOID *BmpImage,
|
IN VOID *BmpImage,
|
||||||
|
@ -318,32 +318,6 @@ IsHexDigit (
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC
|
|
||||||
CHAR16
|
|
||||||
NibbleToHexChar (
|
|
||||||
IN UINT8 Nibble
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
Converts the low nibble of a byte to hex unicode character.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
Nibble - lower nibble of a byte.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Hex unicode character.
|
|
||||||
|
|
||||||
--*/
|
|
||||||
{
|
|
||||||
Nibble &= 0x0F;
|
|
||||||
if (Nibble <= 0x9) {
|
|
||||||
return (CHAR16)(Nibble + L'0');
|
|
||||||
}
|
|
||||||
|
|
||||||
return (CHAR16)(Nibble - 0xA + L'A');
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC
|
STATIC
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
HexStringToBuf (
|
HexStringToBuf (
|
||||||
@ -431,65 +405,6 @@ HexStringToBuf (
|
|||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC
|
|
||||||
EFI_STATUS
|
|
||||||
BufToHexString (
|
|
||||||
IN OUT CHAR16 *Str,
|
|
||||||
IN OUT UINTN *HexStringBufferLength,
|
|
||||||
IN UINT8 *Buf,
|
|
||||||
IN UINTN Len
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
Converts binary buffer to Unicode string.
|
|
||||||
At a minimum, any blob of data could be represented as a hex string.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
Str - Pointer to the string.
|
|
||||||
HexStringBufferLength - Length in bytes of buffer to hold the hex string. Includes tailing '\0' character.
|
|
||||||
If routine return with EFI_SUCCESS, containing length of hex string buffer.
|
|
||||||
If routine return with EFI_BUFFER_TOO_SMALL, containg length of hex string buffer desired.
|
|
||||||
Buf - Buffer to be converted from.
|
|
||||||
Len - Length in bytes of the buffer to be converted.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
EFI_SUCCESS: Routine success.
|
|
||||||
EFI_BUFFER_TOO_SMALL: The hex string buffer is too small.
|
|
||||||
|
|
||||||
--*/
|
|
||||||
{
|
|
||||||
UINTN Idx;
|
|
||||||
UINT8 Byte;
|
|
||||||
UINTN StrLen;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Make sure string is either passed or allocate enough.
|
|
||||||
// It takes 2 Unicode characters (4 bytes) to represent 1 byte of the binary buffer.
|
|
||||||
// Plus the Unicode termination character.
|
|
||||||
//
|
|
||||||
StrLen = Len * 2;
|
|
||||||
if (StrLen > ((*HexStringBufferLength) - 1)) {
|
|
||||||
*HexStringBufferLength = StrLen + 1;
|
|
||||||
return EFI_BUFFER_TOO_SMALL;
|
|
||||||
}
|
|
||||||
|
|
||||||
*HexStringBufferLength = StrLen + 1;
|
|
||||||
//
|
|
||||||
// Ends the string.
|
|
||||||
//
|
|
||||||
Str[StrLen] = L'\0';
|
|
||||||
|
|
||||||
for (Idx = 0; Idx < Len; Idx++) {
|
|
||||||
|
|
||||||
Byte = Buf[Idx];
|
|
||||||
Str[StrLen - 1 - Idx * 2] = NibbleToHexChar (Byte);
|
|
||||||
Str[StrLen - 2 - Idx * 2] = NibbleToHexChar ((UINT8)(Byte >> 4));
|
|
||||||
}
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC
|
STATIC
|
||||||
CHAR16 *
|
CHAR16 *
|
||||||
TrimHexStr (
|
TrimHexStr (
|
||||||
|
@ -63,48 +63,6 @@ Returns:
|
|||||||
return (Count * 2) + 2;
|
return (Count * 2) + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC
|
|
||||||
VARIABLE_STORE_STATUS
|
|
||||||
EFIAPI
|
|
||||||
GetVariableStoreStatus (
|
|
||||||
IN VARIABLE_STORE_HEADER *VarStoreHeader
|
|
||||||
)
|
|
||||||
/*++
|
|
||||||
|
|
||||||
Routine Description:
|
|
||||||
|
|
||||||
This code gets the pointer to the variable name.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
VarStoreHeader Pointer to the Variable Store Header.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
EfiHealthy Variable store is healthy
|
|
||||||
EfiRaw Variable store is raw
|
|
||||||
EfiInvalid Variable store is invalid
|
|
||||||
|
|
||||||
--*/
|
|
||||||
{
|
|
||||||
if (VarStoreHeader->Signature == VARIABLE_STORE_SIGNATURE &&
|
|
||||||
VarStoreHeader->Format == VARIABLE_STORE_FORMATTED &&
|
|
||||||
VarStoreHeader->State == VARIABLE_STORE_HEALTHY
|
|
||||||
) {
|
|
||||||
|
|
||||||
return EfiValid;
|
|
||||||
} else if (VarStoreHeader->Signature == 0xffffffff &&
|
|
||||||
VarStoreHeader->Size == 0xffffffff &&
|
|
||||||
VarStoreHeader->Format == 0xff &&
|
|
||||||
VarStoreHeader->State == 0xff
|
|
||||||
) {
|
|
||||||
|
|
||||||
return EfiRaw;
|
|
||||||
} else {
|
|
||||||
return EfiInvalid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC
|
STATIC
|
||||||
UINT8 *
|
UINT8 *
|
||||||
EFIAPI
|
EFIAPI
|
||||||
|
Reference in New Issue
Block a user