From ff61847ddc91285a9ef8be00b89304870c493ef8 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Fri, 18 Jul 2008 09:49:25 +0000 Subject: 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 --- .../Universal/Disk/DiskIoDxe/ComponentName.c | 5 +++- MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c | 13 +++++++-- MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.h | 5 ++-- .../Universal/Disk/DiskIoDxe/DiskIoDxe.inf | 3 +- .../Universal/Disk/PartitionDxe/ComponentName.c | 7 +++-- MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c | 34 ++++++++++++---------- MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 1 - .../Universal/Disk/PartitionDxe/Partition.c | 20 ++++++------- .../EnglishDxe/UnicodeCollationEng.c | 2 +- 9 files changed, 51 insertions(+), 39 deletions(-) (limited to 'MdeModulePkg') diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/ComponentName.c b/MdeModulePkg/Universal/Disk/DiskIoDxe/ComponentName.c index a3402745c9..b136430c20 100644 --- a/MdeModulePkg/Universal/Disk/DiskIoDxe/ComponentName.c +++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/ComponentName.c @@ -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", diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c index 710d042de9..ec1d68f631 100644 --- a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c +++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c @@ -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 diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.h b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.h index f4a378133b..cedda09ac0 100644 --- a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.h +++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.h @@ -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.
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 diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf index 5cef9b4955..61a2c4f5c3 100644 --- a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf +++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf @@ -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.
# All rights reserved. This program and the accompanying materials diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/ComponentName.c b/MdeModulePkg/Universal/Disk/PartitionDxe/ComponentName.c index 8065f6b764..4d1a6fe888 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/ComponentName.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/ComponentName.c @@ -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, diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c index 6d3abae843..cdace18f48 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c @@ -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); - FreePool (Ptr); + + if (Ptr != NULL) { + FreePool (Ptr); + } if (EFI_ERROR (Status)) { return FALSE; diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c index 68b389ae91..51fdca4254 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c @@ -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, diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c index 66fa9507f3..15061bec30 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c @@ -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, @@ -98,11 +100,11 @@ PartitionDriverBindingSupported ( // Close the I/O Abstraction(s) used to perform the supported test // gBS->CloseProtocol ( - ControllerHandle, - &gEfiDevicePathProtocolGuid, - This->DriverBindingHandle, - ControllerHandle - ); + ControllerHandle, + &gEfiDevicePathProtocolGuid, + This->DriverBindingHandle, + ControllerHandle + ); // // Open the IO Abstraction(s) needed to perform the supported test @@ -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 ( diff --git a/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/UnicodeCollationEng.c b/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/UnicodeCollationEng.c index 67f1db1c6c..e8c5bd953c 100644 --- a/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/UnicodeCollationEng.c +++ b/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/UnicodeCollationEng.c @@ -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 -- cgit v1.2.3