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:
qhuang8 2008-07-18 09:49:25 +00:00
parent ab76200c05
commit ff61847ddc
9 changed files with 51 additions and 39 deletions

View File

@ -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",

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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;

View File

@ -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,

View File

@ -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 (

View File

@ -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