mirror of https://github.com/acidanthera/audk.git
Code scrub for DiskIo, Partition & Unicode Collation
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5519 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ab76200c05
commit
ff61847ddc
|
@ -32,7 +32,10 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gDiskIoComponentName2
|
|||
"en"
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Driver name table for DiskIo module.
|
||||
// It is shared by the implementation of ComponentName & ComponentName2 Protocol.
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mDiskIoDriverNameTable[] = {
|
||||
{
|
||||
"eng;en",
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/** @file
|
||||
DiskIo driver that layers it's self on every Block IO protocol in the system.
|
||||
DiskIo driver that lays on every BlockIo protocol in the system.
|
||||
DiskIo converts a block oriented device to a byte oriented device.
|
||||
|
||||
ReadDisk may have to do reads that are not aligned on sector boundaries.
|
||||
Disk access may have to handle unaligned request about sector boundaries.
|
||||
There are three cases:
|
||||
UnderRun - The first byte is not on a sector boundary or the read request is
|
||||
less than a sector in length.
|
||||
|
@ -22,6 +22,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
#include "DiskIo.h"
|
||||
|
||||
//
|
||||
// Driver binding protocol implementation for DiskIo driver.
|
||||
//
|
||||
EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {
|
||||
DiskIoDriverBindingSupported,
|
||||
DiskIoDriverBindingStart,
|
||||
|
@ -31,6 +34,10 @@ EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {
|
|||
NULL
|
||||
};
|
||||
|
||||
//
|
||||
// Template for DiskIo private data structure.
|
||||
// The pointer to BlockIo protocol interface is assigned dynamically.
|
||||
//
|
||||
DISK_IO_PRIVATE_DATA gDiskIoPrivateDataTemplate = {
|
||||
DISK_IO_PRIVATE_DATA_SIGNATURE,
|
||||
{
|
||||
|
@ -459,7 +466,7 @@ Done:
|
|||
|
||||
|
||||
/**
|
||||
Read BufferSize bytes from Offset into Buffer.
|
||||
Writes BufferSize bytes from Buffer into Offset.
|
||||
Writes may require a read modify write to support writes that are not
|
||||
aligned on sector boundaries. There are three cases:
|
||||
UnderRun - The first byte is not on a sector boundary or the write request
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
/** @file
|
||||
DiskIo driver that layers it's self on every Block IO protocol in the system.
|
||||
DiskIo converts a block oriented device to a byte oriented device.
|
||||
Master header file for DiskIo driver. It includes the module private defininitions.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -156,7 +155,7 @@ DiskIoReadDisk (
|
|||
);
|
||||
|
||||
/**
|
||||
Read BufferSize bytes from Offset into Buffer.
|
||||
Writes BufferSize bytes from Buffer into Offset.
|
||||
Writes may require a read modify write to support writes that are not
|
||||
aligned on sector boundaries. There are three cases:
|
||||
UnderRun - The first byte is not on a sector boundary or the write request
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#/** @file
|
||||
#
|
||||
# Component description file for DiskIo module.
|
||||
# This module lays DiskIo protocol on every blockIo protocol
|
||||
# to provide byte-oriented access to block media.
|
||||
#
|
||||
# Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
|
|
|
@ -32,11 +32,14 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gPartitionComponentNa
|
|||
"en"
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Driver name table for Partition module.
|
||||
// It is shared by the implementation of ComponentName & ComponentName2 Protocol.
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mPartitionDriverNameTable[] = {
|
||||
{
|
||||
"eng;en",
|
||||
(CHAR16 *)L"Partition Driver(MBR/GPT/El Torito)"
|
||||
L"Partition Driver(MBR/GPT/El Torito)"
|
||||
},
|
||||
{
|
||||
NULL,
|
||||
|
|
|
@ -189,7 +189,7 @@ PartitionInstallGptChildHandles (
|
|||
EFI_PARTITION_ENTRY *PartEntry;
|
||||
EFI_PARTITION_ENTRY_STATUS *PEntryStatus;
|
||||
UINTN Index;
|
||||
EFI_STATUS GptValid;
|
||||
EFI_STATUS GptValidStatus;
|
||||
HARDDRIVE_DEVICE_PATH HdDev;
|
||||
|
||||
ProtectiveMbr = NULL;
|
||||
|
@ -204,7 +204,7 @@ PartitionInstallGptChildHandles (
|
|||
DEBUG ((EFI_D_INFO, " BlockSize : %d \n", BlockSize));
|
||||
DEBUG ((EFI_D_INFO, " LastBlock : %x \n", LastBlock));
|
||||
|
||||
GptValid = EFI_NOT_FOUND;
|
||||
GptValidStatus = EFI_NOT_FOUND;
|
||||
|
||||
//
|
||||
// Allocate a buffer for the Protective MBR
|
||||
|
@ -225,7 +225,7 @@ PartitionInstallGptChildHandles (
|
|||
ProtectiveMbr
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
GptValid = Status;
|
||||
GptValidStatus = Status;
|
||||
goto Done;
|
||||
}
|
||||
//
|
||||
|
@ -247,7 +247,6 @@ PartitionInstallGptChildHandles (
|
|||
}
|
||||
|
||||
BackupHeader = AllocateZeroPool (sizeof (EFI_PARTITION_TABLE_HEADER));
|
||||
|
||||
if (BackupHeader == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
@ -304,8 +303,8 @@ PartitionInstallGptChildHandles (
|
|||
PartEntry
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
GptValid = Status;
|
||||
DEBUG ((EFI_D_INFO, " Partition Entry ReadBlocks error\n"));
|
||||
GptValidStatus = Status;
|
||||
DEBUG ((EFI_D_ERROR, " Partition Entry ReadBlocks error\n"));
|
||||
goto Done;
|
||||
}
|
||||
|
||||
|
@ -327,7 +326,7 @@ PartitionInstallGptChildHandles (
|
|||
//
|
||||
// If we got this far the GPT layout of the disk is valid and we should return true
|
||||
//
|
||||
GptValid = EFI_SUCCESS;
|
||||
GptValidStatus = EFI_SUCCESS;
|
||||
|
||||
//
|
||||
// Create child device handles
|
||||
|
@ -355,12 +354,12 @@ PartitionInstallGptChildHandles (
|
|||
HdDev.PartitionSize = PartEntry[Index].EndingLBA - PartEntry[Index].StartingLBA + 1;
|
||||
CopyMem (HdDev.Signature, &PartEntry[Index].UniquePartitionGUID, sizeof (EFI_GUID));
|
||||
|
||||
DEBUG ((EFI_D_INFO, " Index : %d\n", Index));
|
||||
DEBUG ((EFI_D_INFO, " Start LBA : %x\n", HdDev.PartitionStart));
|
||||
DEBUG ((EFI_D_INFO, " End LBA : %x\n", PartEntry[Index].EndingLBA));
|
||||
DEBUG ((EFI_D_INFO, " Partition size: %x\n", HdDev.PartitionSize));
|
||||
DEBUG ((EFI_D_INFO, " Start : %x", MultU64x32 (PartEntry[Index].StartingLBA, BlockSize)));
|
||||
DEBUG ((EFI_D_INFO, " End : %x\n", MultU64x32 (PartEntry[Index].EndingLBA, BlockSize)));
|
||||
DEBUG ((EFI_D_INFO, " Index : %d\n", (UINT32) Index));
|
||||
DEBUG ((EFI_D_INFO, " Start LBA : %lx\n", (UINT64) HdDev.PartitionStart));
|
||||
DEBUG ((EFI_D_INFO, " End LBA : %lx\n", (UINT64) PartEntry[Index].EndingLBA));
|
||||
DEBUG ((EFI_D_INFO, " Partition size: %lx\n", (UINT64) HdDev.PartitionSize));
|
||||
DEBUG ((EFI_D_INFO, " Start : %lx", MultU64x32 (PartEntry[Index].StartingLBA, BlockSize)));
|
||||
DEBUG ((EFI_D_INFO, " End : %lx\n", MultU64x32 (PartEntry[Index].EndingLBA, BlockSize)));
|
||||
|
||||
Status = PartitionInstallChildHandle (
|
||||
This,
|
||||
|
@ -395,7 +394,7 @@ Done:
|
|||
FreePool (PEntryStatus);
|
||||
}
|
||||
|
||||
return GptValid;
|
||||
return GptValidStatus;
|
||||
}
|
||||
|
||||
|
||||
|
@ -450,7 +449,7 @@ PartitionValidGptTable (
|
|||
!PartitionCheckCrc (BlockSize, &PartHdr->Header) ||
|
||||
PartHdr->MyLBA != Lba
|
||||
) {
|
||||
DEBUG ((EFI_D_INFO, " !Valid efi partition table header\n"));
|
||||
DEBUG ((EFI_D_INFO, "Invalid efi partition table header\n"));
|
||||
FreePool (PartHdr);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -608,7 +607,10 @@ PartitionRestoreGptTable (
|
|||
|
||||
Done:
|
||||
FreePool (PartHdr);
|
||||
|
||||
if (Ptr != NULL) {
|
||||
FreePool (Ptr);
|
||||
}
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return FALSE;
|
||||
|
|
|
@ -34,7 +34,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
@retval FALSE Mbr is not a Valid MBR.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
BOOLEAN
|
||||
PartitionValidMbr (
|
||||
IN MASTER_BOOT_RECORD *Mbr,
|
||||
|
|
|
@ -19,7 +19,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#include "Partition.h"
|
||||
|
||||
//
|
||||
// Partition Driver Global Variables
|
||||
// Partition Driver Global Variables.
|
||||
//
|
||||
EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = {
|
||||
PartitionDriverBindingSupported,
|
||||
|
@ -30,7 +30,9 @@ EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = {
|
|||
NULL
|
||||
};
|
||||
|
||||
STATIC
|
||||
//
|
||||
// Priortized function list to detect partition table.
|
||||
//
|
||||
PARTITION_DETECT_ROUTINE mPartitionDetectRoutineTable[] = {
|
||||
PartitionInstallGptChildHandles,
|
||||
PartitionInstallElToritoChildHandles,
|
||||
|
@ -402,7 +404,6 @@ PartitionDriverBindingStop (
|
|||
not be reset.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PartitionReset (
|
||||
|
@ -440,7 +441,6 @@ PartitionReset (
|
|||
valid for the device.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PartitionReadBlocks (
|
||||
|
@ -492,7 +492,6 @@ PartitionReadBlocks (
|
|||
valid for the device.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PartitionWriteBlocks (
|
||||
|
@ -535,7 +534,6 @@ PartitionWriteBlocks (
|
|||
@retval EFI_NO_MEDIA There is no media in the device.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PartitionFlushBlocks (
|
||||
|
|
|
@ -51,7 +51,7 @@ CHAR8 mOtherChars[] = {
|
|||
'\0'
|
||||
};
|
||||
|
||||
STATIC EFI_HANDLE mHandle = NULL;
|
||||
EFI_HANDLE mHandle = NULL;
|
||||
|
||||
//
|
||||
// EFI Unicode Collation Protocol supporting ISO 639-2 language code
|
||||
|
|
Loading…
Reference in New Issue