From b9575d60301f0e2d1cb10b7bce04242c32f5b0bc Mon Sep 17 00:00:00 2001 From: AJFISH Date: Tue, 26 Jun 2007 00:32:26 +0000 Subject: [PATCH] pdated code per coding standard. Changed comments, converted all \ to / and removed the extra generated files by merging them into existing files. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2736 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Application/HelloWorld/CommonHeader.h | 34 -- .../Application/HelloWorld/HelloWorld.c | 13 + .../Application/HelloWorld/HelloWorld.inf | 6 +- MdeModulePkg/MdeModulePkg.dsc | 276 +++++++------- .../Universal/Disk/DiskIo/Dxe/ComponentName.c | 212 ++++++----- .../Universal/Disk/DiskIo/Dxe/DiskIo.h | 59 +-- .../Universal/Disk/DiskIo/Dxe/DiskIo.inf | 15 +- .../Universal/Disk/DiskIo/Dxe/diskio.c | 291 +++++++------- .../Disk/Partition/Dxe/ComponentName.c | 211 ++++++----- .../Universal/Disk/Partition/Dxe/ElTorito.c | 59 ++- .../Universal/Disk/Partition/Dxe/Gpt.c | 304 ++++++--------- .../Universal/Disk/Partition/Dxe/Mbr.c | 5 - .../Universal/Disk/Partition/Dxe/Partition.c | 356 +++++++++--------- .../Universal/Disk/Partition/Dxe/Partition.h | 57 +-- .../Disk/Partition/Dxe/Partition.inf | 7 +- .../Security/SecurityStub/Dxe/SecurityStub.c | 137 +++---- .../Security/SecurityStub/Dxe/SecurityStub.h | 9 +- .../SecurityStub/Dxe/SecurityStub.inf | 10 +- 18 files changed, 997 insertions(+), 1064 deletions(-) delete mode 100644 MdeModulePkg/Application/HelloWorld/CommonHeader.h diff --git a/MdeModulePkg/Application/HelloWorld/CommonHeader.h b/MdeModulePkg/Application/HelloWorld/CommonHeader.h deleted file mode 100644 index d1e5656187..0000000000 --- a/MdeModulePkg/Application/HelloWorld/CommonHeader.h +++ /dev/null @@ -1,34 +0,0 @@ -/**@file - Common header file shared by all source files. - - This file includes package header files, library classes and protocol, PPI & GUID definitions. - - Copyright (c) 2007 - 2007, Intel Corporation. - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -**/ - -#ifndef __COMMON_HEADER_H_ -#define __COMMON_HEADER_H_ - - -// -// The package level header files this module uses -// -#include -// -// The protocols, PPI and GUID defintions for this module -// -// -// The Library classes this module consumes -// -#include -#include -#include -#include - -#endif diff --git a/MdeModulePkg/Application/HelloWorld/HelloWorld.c b/MdeModulePkg/Application/HelloWorld/HelloWorld.c index af552174ea..4106753492 100644 --- a/MdeModulePkg/Application/HelloWorld/HelloWorld.c +++ b/MdeModulePkg/Application/HelloWorld/HelloWorld.c @@ -18,6 +18,19 @@ #include #include + +/** + The user Entry Point for Application. The user code starts with this function + as the real entry point for the image goes into a library that calls this + function. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval other Some error occurs when executing this entry point. + +**/ EFI_STATUS EFIAPI UefiMain ( diff --git a/MdeModulePkg/Application/HelloWorld/HelloWorld.inf b/MdeModulePkg/Application/HelloWorld/HelloWorld.inf index b4990d34cd..dbe69fced2 100644 --- a/MdeModulePkg/Application/HelloWorld/HelloWorld.inf +++ b/MdeModulePkg/Application/HelloWorld/HelloWorld.inf @@ -54,7 +54,7 @@ ################################################################################ [Includes] - $(WORKSPACE)/MdePkg\Include/Library + $(WORKSPACE)/MdePkg/Include/Library ################################################################################ # @@ -64,8 +64,8 @@ ################################################################################ [Packages] - $(WORKSPACE)\MdeModulePkg/MdeModulePkg.dec - $(WORKSPACE)\MdePkg/MdePkg.dec + $(WORKSPACE)/MdeModulePkg/MdeModulePkg.dec + $(WORKSPACE)/MdePkg/MdePkg.dec ################################################################################ diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 360728d3e0..c19db08c94 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -25,7 +25,7 @@ PLATFORM_GUID = 587CE499-6CBE-43cd-94E2-186218569478 PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 - OUTPUT_DIRECTORY = $(WORKSPACE)\Build/MdeModule + OUTPUT_DIRECTORY = $(WORKSPACE)/Build/MdeModule SUPPORTED_ARCHITECTURES = IA32 IPF X64 EBC BUILD_TARGETS = DEBUG,RELEASE SKUID_IDENTIFIER = DEFAULT @@ -39,215 +39,215 @@ ################################################################################ [LibraryClasses.common] - CacheMaintenanceLib|${WORKSPACE}\MdePkg\Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/BaseDebugLibNull/BaseDebugLibNull.inf - BaseLib|${WORKSPACE}\MdePkg\Library/BaseLib/BaseLib.inf - BaseMemoryLib|${WORKSPACE}\MdePkg\Library/BaseMemoryLib/BaseMemoryLib.inf - PciCf8Lib|${WORKSPACE}\MdePkg\Library/BasePciCf8Lib/BasePciCf8Lib.inf - PciExpressLib|${WORKSPACE}\MdePkg\Library/BasePciExpressLib/BasePciExpressLib.inf - PciLib|${WORKSPACE}\MdePkg\Library/BasePciLibCf8/BasePciLibCf8.inf - PeCoffGetEntryPoint|${WORKSPACE}\MdePkg\Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf - PeCoffLib|${WORKSPACE}\MdePkg\Library/BasePeCoffLib/BasePeCoffLib.inf - PeformanceLib|${WORKSPACE}\MdePkg\Library/BasePerformanceLibNull/BasePerformanceLibNull.inf - PostCodeLib|${WORKSPACE}\MdePkg\Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf - PostCodeLib|${WORKSPACE}\MdePkg\Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf - PrintLib|${WORKSPACE}\MdePkg\Library/BasePrintLib/BasePrintLib.inf - TimerLib|${WORKSPACE}\MdePkg\Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf - UefiDecompressLib|${WORKSPACE}\MdePkg\Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf + CacheMaintenanceLib|${WORKSPACE}/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + BaseLib|${WORKSPACE}/MdePkg/Library/BaseLib/BaseLib.inf + BaseMemoryLib|${WORKSPACE}/MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf + PciCf8Lib|${WORKSPACE}/MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf + PciExpressLib|${WORKSPACE}/MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf + PciLib|${WORKSPACE}/MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf + PeCoffGetEntryPoint|${WORKSPACE}/MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf + PeCoffLib|${WORKSPACE}/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf + PeformanceLib|${WORKSPACE}/MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf + PostCodeLib|${WORKSPACE}/MdePkg/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf + PostCodeLib|${WORKSPACE}/MdePkg/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf + PrintLib|${WORKSPACE}/MdePkg/Library/BasePrintLib/BasePrintLib.inf + TimerLib|${WORKSPACE}/MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf + UefiDecompressLib|${WORKSPACE}/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf [LibraryClasses.IA32] - IoLib|${WORKSPACE}\MdePkg\Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf - BaseMemoryLib|${WORKSPACE}\MdePkg\Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf + IoLib|${WORKSPACE}/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf + BaseMemoryLib|${WORKSPACE}/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf [LibraryClasses.X64] - IoLib|${WORKSPACE}\MdePkg\Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf - BaseMemoryLib|${WORKSPACE}\MdePkg\Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf + IoLib|${WORKSPACE}/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf + BaseMemoryLib|${WORKSPACE}/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf [LibraryClasses.IPF] - IoLib|${WORKSPACE}\MdePkg\Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf + IoLib|${WORKSPACE}/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf [LibraryClasses.EBC] [LibraryClasses.common.PEI_CORE] - PeiCoreEntryPoint|${WORKSPACE}\MdePkg\Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf - HobLib|${WORKSPACE}\MdePkg\Library/PeiHobLib/PeiHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf - PeimEntryPointLib|${WORKSPACE}\MdePkg\Library/PeimEntryPoint/PeimEntryPoint.inf - PcdLib|${WORKSPACE}\MdePkg\Library/PeiPcdLib/PeiPcdLib.inf - PeiServiceLib|${WORKSPACE}\MdePkg\Library/PeiServicesLib/PeiServicesLib.inf - PeiServicesTablePointerLib|${WORKSPACE}\MdePkg\Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf + PeiCoreEntryPoint|${WORKSPACE}/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf + HobLib|${WORKSPACE}/MdePkg/Library/PeiHobLib/PeiHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf + PeimEntryPointLib|${WORKSPACE}/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf + PcdLib|${WORKSPACE}/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + PeiServiceLib|${WORKSPACE}/MdePkg/Library/PeiServicesLib/PeiServicesLib.inf + PeiServicesTablePointerLib|${WORKSPACE}/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf [LibraryClasses.common.PEIM] - HobLib|${WORKSPACE}\MdePkg\Library/PeiHobLib/PeiHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf - PeimEntryPointLib|${WORKSPACE}\MdePkg\Library/PeimEntryPoint/PeimEntryPoint.inf - PcdLib|${WORKSPACE}\MdePkg\Library/PeiPcdLib/PeiPcdLib.inf - PeiServiceLib|${WORKSPACE}\MdePkg\Library/PeiServicesLib/PeiServicesLib.inf - PeiServicesTablePointerLib|${WORKSPACE}\MdePkg\Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf - SmBusLib|${WORKSPACE}\MdePkg\Library/PeiSmbusLib/PeiSmbusLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/PeiHobLib/PeiHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf + PeimEntryPointLib|${WORKSPACE}/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf + PcdLib|${WORKSPACE}/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + PeiServiceLib|${WORKSPACE}/MdePkg/Library/PeiServicesLib/PeiServicesLib.inf + PeiServicesTablePointerLib|${WORKSPACE}/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf + SmBusLib|${WORKSPACE}/MdePkg/Library/PeiSmbusLib/PeiSmbusLib.inf [LibraryClasses.common.DXE_CORE] - HobLib|${WORKSPACE}\MdePkg\Library/DxeCoreHobLib/DxeCoreHobLib.inf - DxeCoreEntryPoint|${WORKSPACE}\MdePkg\Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibConOut/UefiDebugLibConOut.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf + DxeCoreEntryPoint|${WORKSPACE}/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf [LibraryClasses.common.DXE_DRIVER] - HobLib|${WORKSPACE}\MdePkg\Library/DxeHobLib/DxeHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - PcdLib|${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf - DxeServiceTableLib|${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - SmbusLib|${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibConOut/UefiDebugLibConOut.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiDriverEntryPoint|${WORKSPACE}\MdePkg\Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + PcdLib|${WORKSPACE}/MdePkg/Library/DxePcdLib/DxePcdLib.inf + DxeServiceTableLib|${WORKSPACE}/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf + SmbusLib|${WORKSPACE}/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiDriverEntryPoint|${WORKSPACE}/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [LibraryClasses.common.DXE_RUNTIME_DRIVER] - HobLib|${WORKSPACE}\MdePkg\Library/DxeHobLib/DxeHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - PcdLib|${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf - DxeServiceTableLib|${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - SmbusLib|${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibConOut/UefiDebugLibConOut.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiDriverEntryPoint|${WORKSPACE}\MdePkg\Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + PcdLib|${WORKSPACE}/MdePkg/Library/DxePcdLib/DxePcdLib.inf + DxeServiceTableLib|${WORKSPACE}/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf + SmbusLib|${WORKSPACE}/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiDriverEntryPoint|${WORKSPACE}/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [LibraryClasses.common.DXE_SAL_DRIVER] - HobLib|${WORKSPACE}\MdePkg\Library/DxeHobLib/DxeHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - PcdLib|${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf - DxeServiceTableLib|${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - SmbusLib|${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf - HiiLib|${WORKSPACE}\MdePkg\Library/HiiLib/HiiLib.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibConOut/UefiDebugLibConOut.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiDriverEntryPoint|${WORKSPACE}\MdePkg\Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + PcdLib|${WORKSPACE}/MdePkg/Library/DxePcdLib/DxePcdLib.inf + DxeServiceTableLib|${WORKSPACE}/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf + SmbusLib|${WORKSPACE}/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf + HiiLib|${WORKSPACE}/MdePkg/Library/HiiLib/HiiLib.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiDriverEntryPoint|${WORKSPACE}/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [LibraryClasses.common.DXE_SMM_DRIVER] - HobLib|${WORKSPACE}\MdePkg\Library/DxeHobLib/DxeHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - PcdLib|${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf - DxeServiceTableLib|${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - SmbusLib|${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf - HiiLib|${WORKSPACE}\MdePkg\Library/HiiLib/HiiLib.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibConOut/UefiDebugLibConOut.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + PcdLib|${WORKSPACE}/MdePkg/Library/DxePcdLib/DxePcdLib.inf + DxeServiceTableLib|${WORKSPACE}/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf + SmbusLib|${WORKSPACE}/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf + HiiLib|${WORKSPACE}/MdePkg/Library/HiiLib/HiiLib.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [LibraryClasses.common.UEFI_DRIVER] - HobLib|${WORKSPACE}\MdePkg\Library/DxeHobLib/DxeHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - PcdLib|${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf - DxeServiceTableLib|${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - SmbusLib|${WORKSPACE}\MdePkg\Library/DxeSmbusLib/DxeSmbusLib.inf - HiiLib|${WORKSPACE}\MdePkg\Library/HiiLib/HiiLib.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibConOut/UefiDebugLibConOut.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiDriverEntryPoint|${WORKSPACE}\MdePkg\Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + PcdLib|${WORKSPACE}/MdePkg/Library/DxePcdLib/DxePcdLib.inf + DxeServiceTableLib|${WORKSPACE}/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf + SmbusLib|${WORKSPACE}/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf + HiiLib|${WORKSPACE}/MdePkg/Library/HiiLib/HiiLib.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiDriverEntryPoint|${WORKSPACE}/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf [LibraryClasses.common.UEFI_APPLICATION] - HobLib|${WORKSPACE}\MdePkg\Library/DxeHobLib/DxeHobLib.inf - MemoryAllocationLib|${WORKSPACE}\MdePkg\Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf - PcdLib|${WORKSPACE}\MdePkg\Library/DxePcdLib/DxePcdLib.inf - DxeServiceTableLib|${WORKSPACE}\MdePkg\Library/DxeServicesTableLib/DxeServicesTableLib.inf - HiiLib|${WORKSPACE}\MdePkg\Library/HiiLib/HiiLib.inf - UefiApplicationEntryPoint|${WORKSPACE}\MdePkg\Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf - UefiBootServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - DevicePathLib|${WORKSPACE}\MdePkg\Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiLib|${WORKSPACE}\MdePkg\Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|${WORKSPACE}\MdePkg\Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf - DebugLib|${WORKSPACE}\MdePkg\Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf + HobLib|${WORKSPACE}/MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|${WORKSPACE}/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf + PcdLib|${WORKSPACE}/MdePkg/Library/DxePcdLib/DxePcdLib.inf + DxeServiceTableLib|${WORKSPACE}/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf + HiiLib|${WORKSPACE}/MdePkg/Library/HiiLib/HiiLib.inf + UefiApplicationEntryPoint|${WORKSPACE}/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf + UefiBootServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + DevicePathLib|${WORKSPACE}/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + UefiLib|${WORKSPACE}/MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|${WORKSPACE}/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + DebugLib|${WORKSPACE}/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf [LibraryClasses.IA32.BASE] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.SEC] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.PEI_CORE] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.PEIM] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.DXE_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.DXE_SAL_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.UEFI_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IA32.UEFI_APPLICATION] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.BASE] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.SEC] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.PEI_CORE] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.PEIM] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.DXE_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.DXE_SAL_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.UEFI_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.X64.UEFI_APPLICATION] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.BASE] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.SEC] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.PEI_CORE] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.PEIM] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.DXE_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.DXE_SAL_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.UEFI_DRIVER] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.IPF.UEFI_APPLICATION] - TimerLib|${WORKSPACE}\MdePkg\Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + TimerLib|${WORKSPACE}/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf ################################################################################ # @@ -289,9 +289,9 @@ [Components.Ia32] - ${WORKSPACE}\MdeModulePkg\Application\HelloWorld\HelloWorld.inf - ${WORKSPACE}\MdeModulePkg\Universal\Disk\DiskIo\Dxe\DiskIo.inf - ${WORKSPACE}\MdeModulePkg\Universal\Disk\Partition\Dxe\Partition.inf - ${WORKSPACE}\MdeModulePkg\Universal\Security\SecurityStub\Dxe\SecurityStub.inf + ${WORKSPACE}/MdeModulePkg/Application/HelloWorld/HelloWorld.inf + ${WORKSPACE}/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf + ${WORKSPACE}/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf + ${WORKSPACE}/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.inf diff --git a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/ComponentName.c b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/ComponentName.c index 63bfa7b494..bf95be158c 100644 --- a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/ComponentName.c +++ b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/ComponentName.c @@ -1,26 +1,16 @@ - /*++ +/** @file + UEFI Component Name protocol for DiskIo driver. + + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -Module Name: - - ComponentName.c - -Abstract: - ---*/ - -// -// Include common header file for this module. -// -#include "CommonHeader.h" +**/ #include "DiskIo.h" @@ -44,6 +34,44 @@ static EFI_UNICODE_STRING_TABLE mDiskIoDriverNameTable[] = { } }; + + +/** + Retrieves a Unicode string that is the user readable name of + the EFI Driver. + + @param This A pointer to the + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller + is requesting, and it must match one of the + languages specified in SupportedLanguages. + The number of languages supported by a + driver is up to the driver writer. Language + is specified in RFC 3066 language code + format. + + @param DriverName A pointer to the Unicode string to return. + This Unicode string is the name of the + driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the + Driver specified by This and the + language specified by Language + was returned in DriverName. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER DriverName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This + does not support the language + specified by Language. + +**/ EFI_STATUS EFIAPI DiskIoComponentNameGetDriverName ( @@ -51,32 +79,6 @@ DiskIoComponentNameGetDriverName ( IN CHAR8 *Language, OUT CHAR16 **DriverName ) -/*++ - - Routine Description: - Retrieves a Unicode string that is the user readable name of the EFI Driver. - - Arguments: - This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. - Language - A pointer to a three character ISO 639-2 language identifier. - This is the language of the driver name that that the caller - is requesting, and it must match one of the languages specified - in SupportedLanguages. The number of languages supported by a - driver is up to the driver writer. - DriverName - A pointer to the Unicode string to return. This Unicode string - is the name of the driver specified by This in the language - specified by Language. - - Returns: - EFI_SUCCESS - The Unicode string for the Driver specified by This - and the language specified by Language was returned - in DriverName. - EFI_INVALID_PARAMETER - Language is NULL. - EFI_INVALID_PARAMETER - DriverName is NULL. - EFI_UNSUPPORTED - The driver specified by This does not support the - language specified by Language. - ---*/ { return LookupUnicodeString ( Language, @@ -86,6 +88,78 @@ DiskIoComponentNameGetDriverName ( ); } + + +/** + Retrieves a Unicode string that is the user readable name of + the controller that is being managed by an EFI Driver. + + @param This A pointer to the + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param ControllerHandle The handle of a controller that the + driver specified by This is managing. + This handle specifies the controller + whose name is to be returned. + + @param ChildHandle The handle of the child controller to + retrieve the name of. This is an + optional parameter that may be NULL. + It will be NULL for device drivers. + It will also be NULL for a bus + drivers that wish to retrieve the + name of the bus controller. It will + not be NULL for a bus driver that + wishes to retrieve the name of a + child controller. + + @param Language A pointer to a Null-terminated ASCII + string array indicating the language. + This is the language of the driver + name that the caller is requesting, + and it must match one of the + languages specified in + SupportedLanguages. The number of + languages supported by a driver is up + to the driver writer. Language is + specified in RFC 3066 language code + format. + + @param ControllerName A pointer to the Unicode string to + return. This Unicode string is the + name of the controller specified by + ControllerHandle and ChildHandle in + the language specified by Language + from the point of view of the driver + specified by This. + + @retval EFI_SUCCESS The Unicode string for the user + readable name in the language + specified by Language for the + driver specified by This was + returned in DriverName. + + @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid + EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it + is not a valid EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This is + not currently managing the + controller specified by + ControllerHandle and + ChildHandle. + + @retval EFI_UNSUPPORTED The driver specified by This + does not support the language + specified by Language. + +**/ EFI_STATUS EFIAPI DiskIoComponentNameGetControllerName ( @@ -95,50 +169,6 @@ DiskIoComponentNameGetControllerName ( IN CHAR8 *Language, OUT CHAR16 **ControllerName ) -/*++ - - Routine Description: - Retrieves a Unicode string that is the user readable name of the controller - that is being managed by an EFI Driver. - - Arguments: - This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. - ControllerHandle - The handle of a controller that the driver specified by - This is managing. This handle specifies the controller - whose name is to be returned. - ChildHandle - The handle of the child controller to retrieve the name - of. This is an optional parameter that may be NULL. It - will be NULL for device drivers. It will also be NULL - for a bus drivers that wish to retrieve the name of the - bus controller. It will not be NULL for a bus driver - that wishes to retrieve the name of a child controller. - Language - A pointer to a three character ISO 639-2 language - identifier. This is the language of the controller name - that that the caller is requesting, and it must match one - of the languages specified in SupportedLanguages. The - number of languages supported by a driver is up to the - driver writer. - ControllerName - A pointer to the Unicode string to return. This Unicode - string is the name of the controller specified by - ControllerHandle and ChildHandle in the language specified - by Language from the point of view of the driver specified - by This. - - Returns: - EFI_SUCCESS - The Unicode string for the user readable name in the - language specified by Language for the driver - specified by This was returned in DriverName. - EFI_INVALID_PARAMETER - ControllerHandle is not a valid EFI_HANDLE. - EFI_INVALID_PARAMETER - ChildHandle is not NULL and it is not a valid EFI_HANDLE. - EFI_INVALID_PARAMETER - Language is NULL. - EFI_INVALID_PARAMETER - ControllerName is NULL. - EFI_UNSUPPORTED - The driver specified by This is not currently managing - the controller specified by ControllerHandle and - ChildHandle. - EFI_UNSUPPORTED - The driver specified by This does not support the - language specified by Language. - ---*/ { return EFI_UNSUPPORTED; } diff --git a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.h b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.h index 0459ac48d2..958fcbc046 100644 --- a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.h +++ b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.h @@ -1,32 +1,38 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - DiskIo.h - -Abstract: - Private Data definition for Disk IO driver - ---*/ - -#ifndef _DISK_IO_H -#define _DISK_IO_H - - +/** @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. + + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // -// Include common header file for this module. +// Driver Binding Externs // -#include "CommonHeader.h" +extern EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gDiskIoComponentName; + + #define DISK_IO_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('d', 's', 'k', 'I') @@ -119,4 +125,3 @@ DiskIoComponentNameGetControllerName ( OUT CHAR16 **ControllerName ); -#endif diff --git a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf index 9e08235dc3..ad73679302 100644 --- a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf +++ b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf @@ -1,13 +1,12 @@ #/** @file -# Component description file for DiskIo module. -# -# DiskIo driver that layers it's self on every Block IO protocol in the system. -# Copyright (c) 2006 - 2007, Intel Corporation +# Component description file for DiskIo module. # +# Copyright (c) 2006 - 2007, Intel Corporation # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php +# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # @@ -49,8 +48,6 @@ ComponentName.c DiskIo.h diskio.c - CommonHeader.h - EntryPoint.c ################################################################################ @@ -61,7 +58,7 @@ ################################################################################ [Includes] - $(WORKSPACE)/MdePkg\Include/Library + $(WORKSPACE)/MdePkg/Include/Library ################################################################################ # @@ -71,8 +68,8 @@ ################################################################################ [Packages] - $(WORKSPACE)\MdeModulePkg/MdeModulePkg.dec - $(WORKSPACE)\MdePkg/MdePkg.dec + $(WORKSPACE)/MdeModulePkg/MdeModulePkg.dec + $(WORKSPACE)/MdePkg/MdePkg.dec ################################################################################ diff --git a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c index 07d5d1ee7b..0cb49224ca 100644 --- a/MdeModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c +++ b/MdeModulePkg/Universal/Disk/DiskIo/Dxe/diskio.c @@ -1,39 +1,24 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - DiskIo.c - -Abstract: - +/** @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. ReadDisk may have to do reads that are not aligned on 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. - Aligned - A read of N contiguous sectors. - OverRun - The last byte is not on a sector boundary. ---*/ + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// Include common header file for this module. -// -#include "CommonHeader.h" +**/ #include "DiskIo.h" @@ -56,6 +41,20 @@ DISK_IO_PRIVATE_DATA gDiskIoPrivateDataTemplate = { NULL }; + +/** + Test to see if this driver supports ControllerHandle. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to test + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver supports this device + @retval EFI_ALREADY_STARTED This driver is already running on this device + @retval other This driver does not support this device + +**/ EFI_STATUS EFIAPI DiskIoDriverBindingSupported ( @@ -63,23 +62,6 @@ DiskIoDriverBindingSupported ( IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) -/*++ - - Routine Description: - Test to see if this driver supports ControllerHandle. Any ControllerHandle - than contains a BlockIo protocol can be supported. - - Arguments: - This - Protocol instance pointer. - ControllerHandle - Handle of device to test. - RemainingDevicePath - Not used. - - Returns: - EFI_SUCCESS - This driver supports this device. - EFI_ALREADY_STARTED - This driver is already running on this device. - other - This driver does not support this device. - ---*/ { EFI_STATUS Status; EFI_BLOCK_IO_PROTOCOL *BlockIo; @@ -98,6 +80,7 @@ DiskIoDriverBindingSupported ( if (EFI_ERROR (Status)) { return Status; } + // // Close the I/O Abstraction(s) used to perform the supported test. // @@ -110,6 +93,21 @@ DiskIoDriverBindingSupported ( return EFI_SUCCESS; } + +/** + Start this driver on ControllerHandle by opening a Block IO protocol and + installing a Disk IO protocol on ControllerHandle. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to bind driver to + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle + @retval other This driver does not support this device + +**/ EFI_STATUS EFIAPI DiskIoDriverBindingStart ( @@ -117,23 +115,6 @@ DiskIoDriverBindingStart ( IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) -/*++ - - Routine Description: - Start this driver on ControllerHandle by opening a Block IO protocol and - installing a Disk IO protocol on ControllerHandle. - - Arguments: - This - Protocol instance pointer. - ControllerHandle - Handle of device to bind driver to. - RemainingDevicePath - Not used, always produce all possible children. - - Returns: - EFI_SUCCESS - This driver is added to ControllerHandle. - EFI_ALREADY_STARTED - This driver is already running on ControllerHandle. - other - This driver does not support this device. - ---*/ { EFI_STATUS Status; DISK_IO_PRIVATE_DATA *Private; @@ -154,6 +135,7 @@ DiskIoDriverBindingStart ( if (EFI_ERROR (Status)) { return Status; } + // // Initialize the Disk IO device instance. // @@ -162,6 +144,7 @@ DiskIoDriverBindingStart ( Status = EFI_OUT_OF_RESOURCES; goto ErrorExit; } + // // Install protocol interfaces for the Disk IO device. // @@ -190,6 +173,21 @@ ErrorExit: return Status; } + +/** + Stop this driver on ControllerHandle by removing Disk IO protocol and closing + the Block IO protocol on ControllerHandle. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to stop driver on + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle + @retval other This driver was not removed from this device + +**/ EFI_STATUS EFIAPI DiskIoDriverBindingStop ( @@ -198,24 +196,6 @@ DiskIoDriverBindingStop ( IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer ) -/*++ - - Routine Description: - Stop this driver on ControllerHandle by removing Disk IO protocol and closing - the Block IO protocol on ControllerHandle. - - Arguments: - This - Protocol instance pointer. - ControllerHandle - Handle of device to stop driver on. - NumberOfChildren - Not used. - ChildHandleBuffer - Not used. - - Returns: - EFI_SUCCESS - This driver is removed ControllerHandle. - other - This driver was not removed from this device. - EFI_UNSUPPORTED - ---*/ { EFI_STATUS Status; EFI_DISK_IO_PROTOCOL *DiskIo; @@ -260,6 +240,31 @@ DiskIoDriverBindingStop ( return Status; } + + +/** + Read BufferSize bytes from Offset into Buffer. + Reads may support reads that are not aligned on + 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. + Aligned - A read of N contiguous sectors. + OverRun - The last byte is not on a sector boundary. + + @param This Protocol instance pointer. + @param MediaId Id of the media, changes every time the media is replaced. + @param Offset The starting byte offset to read from + @param BufferSize Size of Buffer + @param Buffer Buffer containing read data + + @retval EFI_SUCCESS The data was read correctly from the device. + @retval EFI_DEVICE_ERROR The device reported an error while performing the read. + @retval EFI_NO_MEDIA There is no media in the device. + @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. + @retval EFI_INVALID_PARAMETER The read request contains device addresses that are not + valid for the device. + +**/ EFI_STATUS EFIAPI DiskIoReadDisk ( @@ -269,39 +274,6 @@ DiskIoReadDisk ( IN UINTN BufferSize, OUT VOID *Buffer ) -/*++ - - Routine Description: - Read BufferSize bytes from Offset into Buffer. - - Reads may support reads that are not aligned on - 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. - - Aligned - A read of N contiguous sectors. - - OverRun - The last byte is not on a sector boundary. - - - Arguments: - This - Protocol instance pointer. - MediaId - Id of the media, changes every time the media is replaced. - Offset - The starting byte offset to read from. - BufferSize - Size of Buffer. - Buffer - Buffer containing read data. - - Returns: - EFI_SUCCESS - The data was read correctly from the device. - EFI_DEVICE_ERROR - The device reported an error while performing the read. - EFI_NO_MEDIA - There is no media in the device. - EFI_MEDIA_CHNAGED - The MediaId does not matched the current device. - EFI_INVALID_PARAMETER - The read request contains device addresses that are not - valid for the device. - EFI_OUT_OF_RESOURCES - ---*/ { EFI_STATUS Status; DISK_IO_PRIVATE_DATA *Private; @@ -485,6 +457,32 @@ Done: return Status; } + +/** + Read BufferSize bytes from Offset into Buffer. + 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 + is less than a sector in length. Read modify write is required. + Aligned - A write of N contiguous sectors. + OverRun - The last byte is not on a sector boundary. Read modified write + required. + + @param This Protocol instance pointer. + @param MediaId Id of the media, changes every time the media is replaced. + @param Offset The starting byte offset to read from + @param BufferSize Size of Buffer + @param Buffer Buffer containing read data + + @retval EFI_SUCCESS The data was written correctly to the device. + @retval EFI_WRITE_PROTECTED The device can not be written to. + @retval EFI_DEVICE_ERROR The device reported an error while performing the write. + @retval EFI_NO_MEDIA There is no media in the device. + @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. + @retval EFI_INVALID_PARAMETER The write request contains device addresses that are not + valid for the device. + +**/ EFI_STATUS EFIAPI DiskIoWriteDisk ( @@ -494,40 +492,6 @@ DiskIoWriteDisk ( IN UINTN BufferSize, IN VOID *Buffer ) -/*++ - - Routine Description: - Read BufferSize bytes from Offset into Buffer. - - 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 - is less than a sector in length. Read modify write is required. - - Aligned - A write of N contiguous sectors. - - OverRun - The last byte is not on a sector boundary. Read modified write - required. - - Arguments: - This - Protocol instance pointer. - MediaId - Id of the media, changes every time the media is replaced. - Offset - The starting byte offset to read from. - BufferSize - Size of Buffer. - Buffer - Buffer containing read data. - - Returns: - EFI_SUCCESS - The data was written correctly to the device. - EFI_WRITE_PROTECTED - The device can not be written to. - EFI_DEVICE_ERROR - The device reported an error while performing the write. - EFI_NO_MEDIA - There is no media in the device. - EFI_MEDIA_CHNAGED - The MediaId does not matched the current device. - EFI_INVALID_PARAMETER - The write request contains device addresses that are not - valid for the device. - EFI_OUT_OF_RESOURCES - ---*/ { EFI_STATUS Status; DISK_IO_PRIVATE_DATA *Private; @@ -732,3 +696,42 @@ Done: return Status; } + + +/** + The user Entry Point for module DiskIo. The user code starts with this function. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval other Some error occurs when executing this entry point. + +**/ +EFI_STATUS +EFIAPI +InitializeDiskIo ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + + // + // Install driver model protocol(s). + // + Status = EfiLibInstallAllDriverProtocols ( + ImageHandle, + SystemTable, + &gDiskIoDriverBinding, + ImageHandle, + &gDiskIoComponentName, + NULL, + NULL + ); + ASSERT_EFI_ERROR (Status); + + + return Status; +} + diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/ComponentName.c b/MdeModulePkg/Universal/Disk/Partition/Dxe/ComponentName.c index ab534926c2..e922cb0f92 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/ComponentName.c +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/ComponentName.c @@ -1,26 +1,16 @@ -/*++ +/** @file + UEFI Component Name protocol for Partition driver. + + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -Module Name: - - ComponentName.c - -Abstract: - ---*/ - -// -// Include common header file for this module. -// -#include "CommonHeader.h" +**/ #include "Partition.h" @@ -44,6 +34,44 @@ static EFI_UNICODE_STRING_TABLE mPartitionDriverNameTable[] = { } }; + + +/** + Retrieves a Unicode string that is the user readable name of + the EFI Driver. + + @param This A pointer to the + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language A pointer to a Null-terminated ASCII string + array indicating the language. This is the + language of the driver name that the caller + is requesting, and it must match one of the + languages specified in SupportedLanguages. + The number of languages supported by a + driver is up to the driver writer. Language + is specified in RFC 3066 language code + format. + + @param DriverName A pointer to the Unicode string to return. + This Unicode string is the name of the + driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the + Driver specified by This and the + language specified by Language + was returned in DriverName. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER DriverName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This + does not support the language + specified by Language. + +**/ EFI_STATUS EFIAPI PartitionComponentNameGetDriverName ( @@ -51,32 +79,6 @@ PartitionComponentNameGetDriverName ( IN CHAR8 *Language, OUT CHAR16 **DriverName ) -/*++ - - Routine Description: - Retrieves a Unicode string that is the user readable name of the EFI Driver. - - Arguments: - This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. - Language - A pointer to a three character ISO 639-2 language identifier. - This is the language of the driver name that that the caller - is requesting, and it must match one of the languages specified - in SupportedLanguages. The number of languages supported by a - driver is up to the driver writer. - DriverName - A pointer to the Unicode string to return. This Unicode string - is the name of the driver specified by This in the language - specified by Language. - - Returns: - EFI_SUCCESS - The Unicode string for the Driver specified by This - and the language specified by Language was returned - in DriverName. - EFI_INVALID_PARAMETER - Language is NULL. - EFI_INVALID_PARAMETER - DriverName is NULL. - EFI_UNSUPPORTED - The driver specified by This does not support the - language specified by Language. - ---*/ { return LookupUnicodeString ( Language, @@ -86,6 +88,77 @@ PartitionComponentNameGetDriverName ( ); } + +/** + Retrieves a Unicode string that is the user readable name of + the controller that is being managed by an EFI Driver. + + @param This A pointer to the + EFI_COMPONENT_NAME_PROTOCOL instance. + + @param ControllerHandle The handle of a controller that the + driver specified by This is managing. + This handle specifies the controller + whose name is to be returned. + + @param ChildHandle The handle of the child controller to + retrieve the name of. This is an + optional parameter that may be NULL. + It will be NULL for device drivers. + It will also be NULL for a bus + drivers that wish to retrieve the + name of the bus controller. It will + not be NULL for a bus driver that + wishes to retrieve the name of a + child controller. + + @param Language A pointer to a Null-terminated ASCII + string array indicating the language. + This is the language of the driver + name that the caller is requesting, + and it must match one of the + languages specified in + SupportedLanguages. The number of + languages supported by a driver is up + to the driver writer. Language is + specified in RFC 3066 language code + format. + + @param ControllerName A pointer to the Unicode string to + return. This Unicode string is the + name of the controller specified by + ControllerHandle and ChildHandle in + the language specified by Language + from the point of view of the driver + specified by This. + + @retval EFI_SUCCESS The Unicode string for the user + readable name in the language + specified by Language for the + driver specified by This was + returned in DriverName. + + @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid + EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it + is not a valid EFI_HANDLE. + + @retval EFI_INVALID_PARAMETER Language is NULL. + + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + + @retval EFI_UNSUPPORTED The driver specified by This is + not currently managing the + controller specified by + ControllerHandle and + ChildHandle. + + @retval EFI_UNSUPPORTED The driver specified by This + does not support the language + specified by Language. + +**/ EFI_STATUS EFIAPI PartitionComponentNameGetControllerName ( @@ -95,50 +168,6 @@ PartitionComponentNameGetControllerName ( IN CHAR8 *Language, OUT CHAR16 **ControllerName ) -/*++ - - Routine Description: - Retrieves a Unicode string that is the user readable name of the controller - that is being managed by an EFI Driver. - - Arguments: - This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. - ControllerHandle - The handle of a controller that the driver specified by - This is managing. This handle specifies the controller - whose name is to be returned. - ChildHandle - The handle of the child controller to retrieve the name - of. This is an optional parameter that may be NULL. It - will be NULL for device drivers. It will also be NULL - for a bus drivers that wish to retrieve the name of the - bus controller. It will not be NULL for a bus driver - that wishes to retrieve the name of a child controller. - Language - A pointer to a three character ISO 639-2 language - identifier. This is the language of the controller name - that that the caller is requesting, and it must match one - of the languages specified in SupportedLanguages. The - number of languages supported by a driver is up to the - driver writer. - ControllerName - A pointer to the Unicode string to return. This Unicode - string is the name of the controller specified by - ControllerHandle and ChildHandle in the language specified - by Language from the point of view of the driver specified - by This. - - Returns: - EFI_SUCCESS - The Unicode string for the user readable name in the - language specified by Language for the driver - specified by This was returned in DriverName. - EFI_INVALID_PARAMETER - ControllerHandle is not a valid EFI_HANDLE. - EFI_INVALID_PARAMETER - ChildHandle is not NULL and it is not a valid EFI_HANDLE. - EFI_INVALID_PARAMETER - Language is NULL. - EFI_INVALID_PARAMETER - ControllerName is NULL. - EFI_UNSUPPORTED - The driver specified by This is not currently managing - the controller specified by ControllerHandle and - ChildHandle. - EFI_UNSUPPORTED - The driver specified by This does not support the - language specified by Language. - ---*/ { return EFI_UNSUPPORTED; } diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/ElTorito.c b/MdeModulePkg/Universal/Disk/Partition/Dxe/ElTorito.c index 3b201528f3..37ac710ff0 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/ElTorito.c +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/ElTorito.c @@ -1,33 +1,36 @@ -/*++ +/** @file + Decode an El Torito formatted CD-ROM -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -Module Name: +**/ - ElTorito.c -Abstract: +#include "Partition.h" - Decode an El Torito formatted CD-ROM -Revision History +/** + Install child handles if the Handle supports El Torito format. ---*/ + @param[in] This Calling context. + @param[in] Handle Parent Handle + @param[in] DiskIo Parent DiskIo interface + @param[in] BlockIo Parent BlockIo interface + @param[in] DevicePath Parent Device Path -// -// Include common header file for this module. -// -#include "CommonHeader.h" -#include "Partition.h" + @retval EFI_SUCCESS Child handle(s) was added + @retval EFI_MEDIA_CHANGED Media changed Detected + @retval other no child handle was added +**/ EFI_STATUS PartitionInstallElToritoChildHandles ( IN EFI_DRIVER_BINDING_PROTOCOL *This, @@ -36,24 +39,6 @@ PartitionInstallElToritoChildHandles ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath ) -/*++ - -Routine Description: - Install child handles if the Handle supports El Torito format. - -Arguments: - This - Calling context. - Handle - Parent Handle - DiskIo - Parent DiskIo interface - BlockIo - Parent BlockIo interface - DevicePath - Parent Device Path - -Returns: - EFI_SUCCESS - some child handle(s) was added - EFI_MEDIA_CHANGED - Media changed Detected - !EFI_SUCCESS - no child handle was added - ---*/ { EFI_STATUS Status; UINT32 VolDescriptorLba; diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/Gpt.c b/MdeModulePkg/Universal/Disk/Partition/Dxe/Gpt.c index 2a8404d970..581007e92a 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/Gpt.c +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/Gpt.c @@ -1,33 +1,22 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - Gpt.c - -Abstract: - +/** @file Decode a hard disk partitioned with the GPT scheme in the EFI 1.0 specification. ---*/ + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" #include "Partition.h" -STATIC + BOOLEAN PartitionValidGptTable ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, @@ -36,7 +25,7 @@ PartitionValidGptTable ( OUT EFI_PARTITION_TABLE_HEADER *PartHeader ); -STATIC + BOOLEAN PartitionCheckGptEntryArrayCRC ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, @@ -44,7 +33,7 @@ PartitionCheckGptEntryArrayCRC ( IN EFI_PARTITION_TABLE_HEADER *PartHeader ); -STATIC + BOOLEAN PartitionRestoreGptTable ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, @@ -52,7 +41,7 @@ PartitionRestoreGptTable ( IN EFI_PARTITION_TABLE_HEADER *PartHeader ); -STATIC + VOID PartitionCheckGptEntry ( IN EFI_PARTITION_TABLE_HEADER *PartHeader, @@ -60,7 +49,7 @@ PartitionCheckGptEntry ( OUT EFI_PARTITION_ENTRY_STATUS *PEntryStatus ); -STATIC + BOOLEAN PartitionCheckCrcAltSize ( IN UINTN MaxSize, @@ -68,26 +57,40 @@ PartitionCheckCrcAltSize ( IN OUT EFI_TABLE_HEADER *Hdr ); -STATIC + BOOLEAN PartitionCheckCrc ( IN UINTN MaxSize, IN OUT EFI_TABLE_HEADER *Hdr ); -STATIC + VOID PartitionSetCrcAltSize ( IN UINTN Size, IN OUT EFI_TABLE_HEADER *Hdr ); -STATIC + VOID PartitionSetCrc ( IN OUT EFI_TABLE_HEADER *Hdr ); +/** + Install child handles if the Handle supports GPT partition structure. + + @param[in] This - Calling context. + @param[in] Handle - Parent Handle + @param[in] DiskIo - Parent DiskIo interface + @param[in] BlockIo - Parent BlockIo interface + @param[in] DevicePath - Parent Device Path + + @retval EFI_SUCCESS Valid GPT disk + @retval EFI_MEDIA_CHANGED Media changed Detected + @retval other Not a valid GPT disk + +**/ EFI_STATUS PartitionInstallGptChildHandles ( IN EFI_DRIVER_BINDING_PROTOCOL *This, @@ -96,24 +99,6 @@ PartitionInstallGptChildHandles ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath ) -/*++ - -Routine Description: - Install child handles if the Handle supports GPT partition structure. - -Arguments: - This - Calling context. - Handle - Parent Handle - DiskIo - Parent DiskIo interface - BlockIo - Parent BlockIo interface - DevicePath - Parent Device Path - -Returns: - EFI_SUCCESS - Valid GPT disk - EFI_MEDIA_CHANGED - Media changed Detected - !EFI_SUCCESS - Not a valid GPT disk - ---*/ { EFI_STATUS Status; UINT32 BlockSize; @@ -333,7 +318,19 @@ Done: return GptValid; } -STATIC + +/** + Install child handles if the Handle supports GPT partition structure. + + @param[in] BlockIo Parent BlockIo interface + @param[in] DiskIo Disk Io protocol. + @param[in] Lba The starting Lba of the Partition Table + @param[in] PartHeader Stores the partition table that is read + + @retval TRUE The partition table is valid + @retval FALSE The partition table is not valid + +**/ BOOLEAN PartitionValidGptTable ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, @@ -341,22 +338,6 @@ PartitionValidGptTable ( IN EFI_LBA Lba, OUT EFI_PARTITION_TABLE_HEADER *PartHeader ) -/*++ - -Routine Description: - Check if the GPT partition table is valid - -Arguments: - BlockIo - Parent BlockIo interface - DiskIo - Disk Io protocol. - Lba - The starting Lba of the Partition Table - PartHeader - Stores the partition table that is read - -Returns: - TRUE - The partition table is valid - FALSE - The partition table is not valid - ---*/ { EFI_STATUS Status; UINT32 BlockSize; @@ -405,32 +386,25 @@ Returns: return TRUE; } -STATIC + +/** + Check if the CRC field in the Partition table header is valid + for Partition entry array. + + @param[in] BlockIo Parent BlockIo interface + @param[in] DiskIo Disk Io Protocol. + @param[in] PartHeader Partition table header structure + + @retval TRUE the CRC is valid + @retval FALSE the CRC is invalid + +**/ BOOLEAN PartitionCheckGptEntryArrayCRC ( IN EFI_BLOCK_IO_PROTOCOL *BlockIo, IN EFI_DISK_IO_PROTOCOL *DiskIo, IN EFI_PARTITION_TABLE_HEADER *PartHeader ) -/*++ - -Routine Description: - - Check if the CRC field in the Partition table header is valid - for Partition entry array - -Arguments: - - BlockIo - parent BlockIo interface - DiskIo - Disk Io Protocol. - PartHeader - Partition table header structure - -Returns: - - TRUE - the CRC is valid - FALSE - the CRC is invalid - ---*/ { EFI_STATUS Status; UINT8 *Ptr; @@ -472,32 +446,25 @@ Returns: return (BOOLEAN) (PartHeader->PartitionEntryArrayCRC32 == Crc); } -STATIC -BOOLEAN -PartitionRestoreGptTable ( - IN EFI_BLOCK_IO_PROTOCOL *BlockIo, - IN EFI_DISK_IO_PROTOCOL *DiskIo, - IN EFI_PARTITION_TABLE_HEADER *PartHeader - ) -/*++ - -Routine Description: +/** Restore Partition Table to its alternate place (Primary -> Backup or Backup -> Primary) -Arguments: - - BlockIo - parent BlockIo interface - DiskIo - Disk Io Protocol. - PartHeader - the source Partition table header structure + @param[in] BlockIo Parent BlockIo interface + @param[in] DiskIo Disk Io Protocol. + @param[in] PartHeader Partition table header structure -Returns: + @retval TRUE Restoring succeeds + @retval FALSE Restoring failed - TRUE - Restoring succeeds - FALSE - Restoring failed - ---*/ +**/ +BOOLEAN +PartitionRestoreGptTable ( + IN EFI_BLOCK_IO_PROTOCOL *BlockIo, + IN EFI_DISK_IO_PROTOCOL *DiskIo, + IN EFI_PARTITION_TABLE_HEADER *PartHeader + ) { EFI_STATUS Status; UINTN BlockSize; @@ -570,30 +537,22 @@ Done: return TRUE; } -STATIC + +/** + Restore Partition Table to its alternate place + (Primary -> Backup or Backup -> Primary) + + @param[in] PartHeader Partition table header structure + @param[in] PartEntry The partition entry array + @param[out] PEntryStatus the partition entry status array + recording the status of each partition +**/ VOID PartitionCheckGptEntry ( IN EFI_PARTITION_TABLE_HEADER *PartHeader, IN EFI_PARTITION_ENTRY *PartEntry, OUT EFI_PARTITION_ENTRY_STATUS *PEntryStatus ) -/*++ - -Routine Description: - - Check each partition entry for its range - -Arguments: - - PartHeader - the partition table header - PartEntry - the partition entry array - PEntryStatus - the partition entry status array recording the status of - each partition - -Returns: - VOID - ---*/ { EFI_LBA StartingLBA; EFI_LBA EndingLBA; @@ -639,52 +598,35 @@ Returns: DEBUG ((EFI_D_INFO, " End check partition entries\n")); } -STATIC + +/** + Updates the CRC32 value in the table header + + @param[in,out] Hdr Table to update + +**/ VOID PartitionSetCrc ( IN OUT EFI_TABLE_HEADER *Hdr ) -/*++ +{ + PartitionSetCrcAltSize (Hdr->HeaderSize, Hdr); +} -Routine Description: +/** Updates the CRC32 value in the table header -Arguments: - - Hdr - The table to update + @param[in] Size The size of the table + @param[in,out] Hdr Table to update -Returns: - - None - ---*/ -{ - PartitionSetCrcAltSize (Hdr->HeaderSize, Hdr); -} - -STATIC +**/ VOID PartitionSetCrcAltSize ( IN UINTN Size, IN OUT EFI_TABLE_HEADER *Hdr ) -/*++ - -Routine Description: - Updates the CRC32 value in the table header - -Arguments: - - Size - The size of the table - Hdr - The table to update - -Returns: - - None - ---*/ { UINT32 Crc; @@ -693,56 +635,44 @@ Returns: Hdr->CRC32 = Crc; } -STATIC + +/** + Checks the CRC32 value in the table header + + @param[in] MaxSize Max Size limit + @param[in,out] Hdr Table to check + + @return TRUE CRC Valid + @return FALSE CRC Invalid + +**/ BOOLEAN PartitionCheckCrc ( IN UINTN MaxSize, IN OUT EFI_TABLE_HEADER *Hdr ) -/*++ +{ + return PartitionCheckCrcAltSize (MaxSize, Hdr->HeaderSize, Hdr); +} -Routine Description: +/** Checks the CRC32 value in the table header -Arguments: + @param[in] MaxSize Max Size limit + @param[in] Size The size of the table + @param[in,out] Hdr Table to check - MaxSize - Max Size limit - Hdr - The table to check + @return TRUE CRC Valid + @return FALSE CRC Invalid -Returns: - - TRUE if the CRC is OK in the table - ---*/ -{ - return PartitionCheckCrcAltSize (MaxSize, Hdr->HeaderSize, Hdr); -} - -STATIC +**/ BOOLEAN PartitionCheckCrcAltSize ( IN UINTN MaxSize, IN UINTN Size, IN OUT EFI_TABLE_HEADER *Hdr ) -/*++ - -Routine Description: - - Checks the CRC32 value in the table header - -Arguments: - - MaxSize - Max Size Limit - Size - The size of the table - Hdr - The table to check - -Returns: - - TRUE if the CRC is OK in the table - ---*/ { UINT32 Crc; UINT32 OrgCrc; diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/Mbr.c b/MdeModulePkg/Universal/Disk/Partition/Dxe/Mbr.c index bc08963e54..d71698c826 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/Mbr.c +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/Mbr.c @@ -29,11 +29,6 @@ Abstract: --*/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" - #include "Partition.h" STATIC diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.c b/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.c index 63e771eb15..4d0c76f251 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.c +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.c @@ -1,31 +1,20 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - Partition.c - -Abstract: - +/** @file Partition driver that produces logical BlockIo devices from a physical BlockIo device. The logical BlockIo devices are based on the format of the raw block devices media. Currently "El Torito CD-ROM", Legacy MBR, and GPT partition schemes are supported. ---*/ + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" #include "Partition.h" @@ -50,6 +39,21 @@ PARTITION_DETECT_ROUTINE mPartitionDetectRoutineTable[] = { }; + +/** + Test to see if this driver supports ControllerHandle. Any ControllerHandle + than contains a BlockIo and DiskIo protocol can be supported. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to test + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver supports this device + @retval EFI_ALREADY_STARTED This driver is already running on this device + @retval other This driver does not support this device + +**/ EFI_STATUS EFIAPI PartitionDriverBindingSupported ( @@ -57,23 +61,6 @@ PartitionDriverBindingSupported ( IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath ) -/*++ - - Routine Description: - Test to see if this driver supports ControllerHandle. Any ControllerHandle - than contains a BlockIo and DiskIo protocol can be supported. - - Arguments: - This - Protocol instance pointer. - ControllerHandle - Handle of device to test - RemainingDevicePath - Not used - - Returns: - EFI_SUCCESS - This driver supports this device - EFI_ALREADY_STARTED - This driver is already running on this device - EFI_UNSUPPORTED - This driver does not support this device - ---*/ { EFI_STATUS Status; EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath; @@ -160,6 +147,22 @@ PartitionDriverBindingSupported ( return Status; } + +/** + Start this driver on ControllerHandle by opening a Block IO and Disk IO + protocol, reading Device Path, and creating a child handle with a + Disk IO and device path protocol. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to bind driver to + @param RemainingDevicePath Optional parameter use to pick a specific child + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle + @retval other This driver does not support this device + +**/ EFI_STATUS EFIAPI PartitionDriverBindingStart ( @@ -167,24 +170,6 @@ PartitionDriverBindingStart ( IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath ) -/*++ - - Routine Description: - Start this driver on ControllerHandle by opening a Block IO and Disk IO - protocol, reading Device Path, and creating a child handle with a - Disk IO and device path protocol. - - Arguments: - This - Protocol instance pointer. - ControllerHandle - Handle of device to bind driver to - RemainingDevicePath - Not used - - Returns: - EFI_SUCCESS - This driver is added to DeviceHandle - EFI_ALREADY_STARTED - This driver is already running on DeviceHandle - other - This driver does not support this device - ---*/ { EFI_STATUS Status; EFI_STATUS OpenStatus; @@ -289,6 +274,21 @@ PartitionDriverBindingStart ( return Status; } + +/** + Stop this driver on ControllerHandle. Support stoping any child handles + created by this driver. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to stop driver on + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle + @retval other This driver was not removed from this device + +**/ EFI_STATUS EFIAPI PartitionDriverBindingStop ( @@ -297,23 +297,6 @@ PartitionDriverBindingStop ( IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer ) -/*++ - - Routine Description: - Stop this driver on ControllerHandle. Support stoping any child handles - created by this driver. - - Arguments: - This - Protocol instance pointer. - ControllerHandle - Handle of device to stop driver on - NumberOfChildren - Number of Children in the ChildHandleBuffer - ChildHandleBuffer - List of handles for the children we need to stop. - - Returns: - EFI_SUCCESS - This driver is removed DeviceHandle - EFI_DEVICE_ERROR - This driver was not removed from this device - ---*/ { EFI_STATUS Status; UINTN Index; @@ -407,6 +390,18 @@ PartitionDriverBindingStop ( return EFI_SUCCESS; } + +/** + Reset the Block Device. + + @param This Protocol instance pointer. + @param ExtendedVerification Driver may perform diagnostics on reset. + + @retval EFI_SUCCESS The device was reset. + @retval EFI_DEVICE_ERROR The device is not functioning properly and could + not be reset. + +**/ STATIC EFI_STATUS EFIAPI @@ -414,21 +409,6 @@ PartitionReset ( IN EFI_BLOCK_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification ) -/*++ - - Routine Description: - Reset the parent Block Device. - - Arguments: - This - Protocol instance pointer. - ExtendedVerification - Driver may perform diagnostics on reset. - - Returns: - EFI_SUCCESS - The device was reset. - EFI_DEVICE_ERROR - The device is not functioning properly and could - not be reset. - ---*/ { PARTITION_PRIVATE_DATA *Private; @@ -440,6 +420,26 @@ PartitionReset ( ); } + +/** + Read by using the Disk IO protocol on the parent device. Lba addresses + must be converted to byte offsets. + + @param This Protocol instance pointer. + @param MediaId Id of the media, changes every time the media is replaced. + @param Lba The starting Logical Block Address to read from + @param BufferSize Size of Buffer, must be a multiple of device block size. + @param Buffer Buffer containing read data + + @retval EFI_SUCCESS The data was read correctly from the device. + @retval EFI_DEVICE_ERROR The device reported an error while performing the read. + @retval EFI_NO_MEDIA There is no media in the device. + @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. + @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. + @retval EFI_INVALID_PARAMETER The read request contains device addresses that are not + valid for the device. + +**/ STATIC EFI_STATUS EFIAPI @@ -450,30 +450,6 @@ PartitionReadBlocks ( IN UINTN BufferSize, OUT VOID *Buffer ) -/*++ - - Routine Description: - Read by using the Disk IO protocol on the parent device. Lba addresses - must be converted to byte offsets. - - Arguments: - This - Protocol instance pointer. - MediaId - Id of the media, changes every time the media is replaced. - Lba - The starting Logical Block Address to read from - BufferSize - Size of Buffer, must be a multiple of device block size. - Buffer - Buffer containing read data - - Returns: - EFI_SUCCESS - The data was read correctly from the device. - EFI_DEVICE_ERROR - The device reported an error while performing the read. - EFI_NO_MEDIA - There is no media in the device. - EFI_MEDIA_CHANGED - The MediaId does not matched the current device. - EFI_BAD_BUFFER_SIZE - The Buffer was not a multiple of the block size of the - device. - EFI_INVALID_PARAMETER - The read request contains device addresses that are not - valid for the device. - ---*/ { PARTITION_PRIVATE_DATA *Private; UINT64 Offset; @@ -496,6 +472,26 @@ PartitionReadBlocks ( return Private->DiskIo->ReadDisk (Private->DiskIo, MediaId, Offset, BufferSize, Buffer); } +/** + Write by using the Disk IO protocol on the parent device. Lba addresses + must be converted to byte offsets. + + @param This Protocol instance pointer. + @param MediaId Id of the media, changes every time the media is replaced. + @param Lba The starting Logical Block Address to read from + @param BufferSize Size of Buffer, must be a multiple of device block size. + @param Buffer Buffer containing read data + + @retval EFI_SUCCESS The data was written correctly to the device. + @retval EFI_WRITE_PROTECTED The device can not be written to. + @retval EFI_DEVICE_ERROR The device reported an error while performing the write. + @retval EFI_NO_MEDIA There is no media in the device. + @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. + @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. + @retval EFI_INVALID_PARAMETER The write request contains a LBA that is not + valid for the device. + +**/ STATIC EFI_STATUS EFIAPI @@ -506,31 +502,6 @@ PartitionWriteBlocks ( IN UINTN BufferSize, OUT VOID *Buffer ) -/*++ - - Routine Description: - Write by using the Disk IO protocol on the parent device. Lba addresses - must be converted to byte offsets. - - Arguments: - This - Protocol instance pointer. - MediaId - Id of the media, changes every time the media is replaced. - Lba - The starting Logical Block Address to read from - BufferSize - Size of Buffer, must be a multiple of device block size. - Buffer - Buffer containing read data - - Returns: - EFI_SUCCESS - The data was written correctly to the device. - EFI_WRITE_PROTECTED - The device can not be written to. - EFI_DEVICE_ERROR - The device reported an error while performing the write. - EFI_NO_MEDIA - There is no media in the device. - EFI_MEDIA_CHNAGED - The MediaId does not matched the current device. - EFI_BAD_BUFFER_SIZE - The Buffer was not a multiple of the block size of the - device. - EFI_INVALID_PARAMETER - The write request contains a LBA that is not - valid for the device. - ---*/ { PARTITION_PRIVATE_DATA *Private; UINT64 Offset; @@ -553,26 +524,23 @@ PartitionWriteBlocks ( return Private->DiskIo->WriteDisk (Private->DiskIo, MediaId, Offset, BufferSize, Buffer); } + +/** + Flush the parent Block Device. + + @param This Protocol instance pointer. + + @retval EFI_SUCCESS All outstanding data was written to the device + @retval EFI_DEVICE_ERROR The device reported an error while writting back the data + @retval EFI_NO_MEDIA There is no media in the device. + +**/ STATIC EFI_STATUS EFIAPI PartitionFlushBlocks ( IN EFI_BLOCK_IO_PROTOCOL *This ) -/*++ - - Routine Description: - Flush the parent Block Device. - - Arguments: - This - Protocol instance pointer. - - Returns: - EFI_SUCCESS - All outstanding data was written to the device - EFI_DEVICE_ERROR - The device reported an error while writing back the data - EFI_NO_MEDIA - There is no media in the device. - ---*/ { PARTITION_PRIVATE_DATA *Private; @@ -581,6 +549,28 @@ PartitionFlushBlocks ( return Private->ParentBlockIo->FlushBlocks (Private->ParentBlockIo); } + + +/** + Create a child handle for a logical block device that represents the + bytes Start to End of the Parent Block IO device. + + @param[in] This Protocol instance pointer. + @param[in] This Calling context. + @param[in] ParentHandle Parent Handle for new child + @param[in] ParentDiskIo Parent DiskIo interface + @param[in] ParentBlockIo Parent BlockIo interface + @param[in] ParentDevicePath Parent Device Path + @param[in] DevicePathNode Child Device Path node + @param[in] Start Start Block + @param[in] End End Block + @param[in] BlockSize Child block size + @param[in] InstallEspGuid Flag to install EFI System Partition GUID on handle + + @retval EFI_SUCCESS A child handle was added + @retval other A child handle was not added + +**/ EFI_STATUS PartitionInstallChildHandle ( IN EFI_DRIVER_BINDING_PROTOCOL *This, @@ -594,29 +584,6 @@ PartitionInstallChildHandle ( IN UINT32 BlockSize, IN BOOLEAN InstallEspGuid ) -/*++ - -Routine Description: - Create a child handle for a logical block device that represents the - bytes Start to End of the Parent Block IO device. - -Arguments: - This - Calling context. - ParentHandle - Parent Handle for new child - ParentDiskIo - Parent DiskIo interface - ParentBlockIo - Parent BlockIo interface - ParentDevicePath - Parent Device Path - DevicePathNode - Child Device Path node - Start - Start Block - End - End Block - BlockSize - Child block size - InstallEspGuid - Flag to install EFI System Partition GUID on handle - -Returns: - EFI_SUCCESS - If a child handle was added - EFI_OUT_OF_RESOURCES - A child handle was not added - ---*/ { EFI_STATUS Status; PARTITION_PRIVATE_DATA *Private; @@ -704,3 +671,42 @@ Returns: return Status; } + + +/** + The user Entry Point for module Partition. The user code starts with this function. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval other Some error occurs when executing this entry point. + +**/ +EFI_STATUS +EFIAPI +InitializePartition ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + + // + // Install driver model protocol(s). + // + Status = EfiLibInstallAllDriverProtocols ( + ImageHandle, + SystemTable, + &gPartitionDriverBinding, + ImageHandle, + &gPartitionComponentName, + NULL, + NULL + ); + ASSERT_EFI_ERROR (Status); + + + return Status; +} + diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.h b/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.h index 90478a5513..469c948157 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.h +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.h @@ -1,36 +1,42 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - Partition.h - -Abstract: - +/** @file Partition driver that produces logical BlockIo devices from a physical BlockIo device. The logical BlockIo devices are based on the format of the raw block devices media. Currently "El Torito CD-ROM", Legacy MBR, and GPT partition schemes are supported. -Revision History - ---*/ - -#ifndef __PARTITION_H__ -#define __PARTITION_H__ + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // -// Include common header file for this module. +// Driver Binding Externs // -#include "CommonHeader.h" +extern EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gPartitionComponentName; #include #include @@ -186,4 +192,3 @@ EFI_STATUS IN EFI_DEVICE_PATH_PROTOCOL *DevicePath ); -#endif diff --git a/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf b/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf index 832de945c1..1e00fccfd6 100644 --- a/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf +++ b/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf @@ -5,12 +5,13 @@ # that represents the bytes Start to End of the Parent Block IO # device (one partition of physical BlockIo device, # which can be one of GPT, MBR, ElTorito partition). -# Copyright (c) 2006 - 2007, Intel Corporation # +# Copyright (c) 2006 - 2007, Intel Corporation # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php +# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # @@ -55,8 +56,6 @@ ElTorito.c Partition.c Partition.h - CommonHeader.h - EntryPoint.c ################################################################################ @@ -67,7 +66,7 @@ ################################################################################ [Includes] - $(WORKSPACE)/MdePkg\Include/Library + $(WORKSPACE)/MdePkg/Include/Library ################################################################################ # diff --git a/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.c b/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.c index 37dfad8cd8..2eb325ec56 100644 --- a/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.c +++ b/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.c @@ -1,28 +1,17 @@ -/*++ - -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - SecurityStub.c - -Abstract: +/** @file + This driver supports platform security service. - This driver supports platform security service + Copyright (c) 2006 - 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php ---*/ + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" #include "SecurityStub.h" @@ -38,20 +27,8 @@ EFI_SECURITY_ARCH_PROTOCOL mSecurityStub = { SecurityStubAuthenticateState }; -// -// Worker functions -// -EFI_STATUS -EFIAPI -SecurityStubAuthenticateState ( - IN EFI_SECURITY_ARCH_PROTOCOL *This, - IN UINT32 AuthenticationStatus, - IN EFI_DEVICE_PATH_PROTOCOL *File - ) -/*++ - -Routine Description: +/** The EFI_SECURITY_ARCH_PROTOCOL (SAP) is used to abstract platform-specific policy from the DXE core response to an attempt to use a file that returns a given status for the authentication check from the section extraction protocol. @@ -75,35 +52,34 @@ Routine Description: might be possible to use it at a future time, then EFI_SECURITY_VIOLATION is returned. -Arguments: - - This - The EFI_SECURITY_ARCH_PROTOCOL instance. - - AuthenticationStatus - This is the authentication type returned from the Section - Extraction protocol. See the Section Extraction Protocol - Specification for details on this type. - - File - This is a pointer to the device path of the file that is - being dispatched. This will optionally be used for logging. - -Returns: - - EFI_SUCCESS - The file specified by File did authenticate, and the - platform policy dictates that the DXE Core may use File. - - EFI_INVALID_PARAMETER - File is NULL. - - EFI_SECURITY_VIOLATION - The file specified by File did not authenticate, and - the platform policy dictates that File should be placed - in the untrusted state. A file may be promoted from - the untrusted to the trusted state at a future time - with a call to the Trust() DXE Service. - - EFI_ACCESS_DENIED - The file specified by File did not authenticate, and - the platform policy dictates that File should not be - used for any purpose. - ---*/ + @param This The EFI_SECURITY_ARCH_PROTOCOL instance. + @param AuthenticationStatus + This is the authentication type returned from the Section + Extraction protocol. See the Section Extraction Protocol + Specification for details on this type. + @param File This is a pointer to the device path of the file that is + being dispatched. This will optionally be used for logging. + + @retval EFI_SUCCESS The file specified by File did authenticate, and the + platform policy dictates that the DXE Core may use File. + @retval EFI_INVALID_PARAMETER Driver is NULL. + @retval EFI_SECURITY_VIOLATION The file specified by File did not authenticate, and + the platform policy dictates that File should be placed + in the untrusted state. A file may be promoted from + the untrusted to the trusted state at a future time + with a call to the Trust() DXE Service. + @retval EFI_ACCESS_DENIED The file specified by File did not authenticate, and + the platform policy dictates that File should not be + used for any purpose. + +**/ +EFI_STATUS +EFIAPI +SecurityStubAuthenticateState ( + IN EFI_SECURITY_ARCH_PROTOCOL *This, + IN UINT32 AuthenticationStatus, + IN EFI_DEVICE_PATH_PROTOCOL *File + ) { if (File == NULL) { return EFI_INVALID_PARAMETER; @@ -112,32 +88,25 @@ Returns: return EFI_SUCCESS; } + +/** + The user Entry Point for DXE driver. The user code starts with this function + as the real entry point for the image goes into a library that calls this + function. + + @param[in] ImageHandle The firmware allocated handle for the EFI image. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval other Some error occurs when executing this entry point. + +**/ EFI_STATUS EFIAPI SecurityStubInitialize ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) -/*++ - -Routine Description: - - Initialize the state information for the Security Architectural Protocol - -Arguments: - - ImageHandle of the loaded driver - Pointer to the System Table - -Returns: - - Status - - EFI_SUCCESS - successful installation of the service - EFI_OUT_OF_RESOURCES - cannot allocate protocol data structure - EFI_DEVICE_ERROR - cannot create the timer service - ---*/ { EFI_STATUS Status; diff --git a/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.h b/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.h index 2f4d92233a..e94015d4e3 100644 --- a/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.h +++ b/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.h @@ -23,11 +23,14 @@ Abstract: #define _SECURITY_STUB_ARCH_PROTOCOL_H - // -// Include common header file for this module. +// Common header files for this module. // -#include "CommonHeader.h" +#include +#include +#include +#include +#include // // Function prototypes diff --git a/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.inf b/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.inf index bd9058374a..ec17ceacf8 100644 --- a/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.inf +++ b/MdeModulePkg/Universal/Security/SecurityStub/Dxe/SecurityStub.inf @@ -1,13 +1,12 @@ #/** @file -# Component description file for SecurityStub module -# -# This driver supports platform security service. -# Copyright (c) 2006 - 2007, Intel Corporation +# Component description file for SecurityStub module # +# Copyright (c) 2006 - 2007, Intel Corporation # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php +# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # @@ -46,7 +45,6 @@ SecurityStub.c SecurityStub.h SecurityStub.dxs - CommonHeader.h ################################################################################ @@ -57,7 +55,7 @@ ################################################################################ [Includes] - $(WORKSPACE)/MdePkg\Include/Library + $(WORKSPACE)/MdePkg/Include/Library ################################################################################ # -- 2.39.2