mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-26 23:24:03 +02:00
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
This commit is contained in:
parent
cf61682357
commit
b9575d6030
@ -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 <Uefi.h>
|
||||
//
|
||||
// The protocols, PPI and GUID defintions for this module
|
||||
//
|
||||
//
|
||||
// The Library classes this module consumes
|
||||
//
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/UefiLib.h>
|
||||
#include <Library/UefiApplicationEntryPoint.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
|
||||
#endif
|
@ -18,6 +18,19 @@
|
||||
#include <Library/UefiApplicationEntryPoint.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
|
||||
|
||||
/**
|
||||
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 (
|
||||
|
@ -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
|
||||
|
||||
|
||||
################################################################################
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -1,32 +1,38 @@
|
||||
/*++
|
||||
/** @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, 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.
|
||||
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
|
||||
|
||||
Module Name:
|
||||
|
||||
DiskIo.h
|
||||
|
||||
Abstract:
|
||||
Private Data definition for Disk IO driver
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DISK_IO_H
|
||||
#define _DISK_IO_H
|
||||
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 <Uefi.h>
|
||||
#include <Protocol/BlockIo.h>
|
||||
#include <Protocol/ComponentName.h>
|
||||
#include <Protocol/DriverBinding.h>
|
||||
#include <Protocol/DiskIo.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/UefiDriverEntryPoint.h>
|
||||
#include <Library/UefiLib.h>
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
|
||||
//
|
||||
// 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
|
||||
|
@ -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
|
||||
|
||||
|
||||
################################################################################
|
||||
|
@ -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
|
||||
|
||||
//
|
||||
// Include common header file for this module.
|
||||
//
|
||||
#include "CommonHeader.h"
|
||||
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 "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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -1,33 +1,36 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ElTorito.c
|
||||
|
||||
Abstract:
|
||||
|
||||
/** @file
|
||||
Decode an El Torito formatted CD-ROM
|
||||
|
||||
Revision History
|
||||
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"
|
||||
|
||||
|
||||
/**
|
||||
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
|
||||
|
||||
|
||||
@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;
|
||||
|
@ -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
|
||||
|
||||
/**
|
||||
Restore Partition Table to its alternate place
|
||||
(Primary -> Backup or Backup -> Primary)
|
||||
|
||||
@param[in] BlockIo Parent BlockIo interface
|
||||
@param[in] DiskIo Disk Io Protocol.
|
||||
@param[in] PartHeader Partition table header structure
|
||||
|
||||
@retval TRUE Restoring succeeds
|
||||
@retval FALSE Restoring failed
|
||||
|
||||
**/
|
||||
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
|
||||
|
||||
Returns:
|
||||
|
||||
TRUE - Restoring succeeds
|
||||
FALSE - Restoring failed
|
||||
|
||||
--*/
|
||||
{
|
||||
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
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Updates the CRC32 value in the table header
|
||||
|
||||
Arguments:
|
||||
|
||||
Hdr - The table to update
|
||||
|
||||
Returns:
|
||||
|
||||
None
|
||||
|
||||
--*/
|
||||
{
|
||||
PartitionSetCrcAltSize (Hdr->HeaderSize, Hdr);
|
||||
}
|
||||
|
||||
STATIC
|
||||
|
||||
/**
|
||||
Updates the CRC32 value in the table header
|
||||
|
||||
@param[in] Size The size of the table
|
||||
@param[in,out] Hdr Table to update
|
||||
|
||||
**/
|
||||
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
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Checks the CRC32 value in the table header
|
||||
|
||||
Arguments:
|
||||
|
||||
MaxSize - Max Size limit
|
||||
Hdr - The table to check
|
||||
|
||||
Returns:
|
||||
|
||||
TRUE if the CRC is OK in the table
|
||||
|
||||
--*/
|
||||
{
|
||||
return PartitionCheckCrcAltSize (MaxSize, Hdr->HeaderSize, Hdr);
|
||||
}
|
||||
|
||||
STATIC
|
||||
|
||||
/**
|
||||
Checks the CRC32 value in the table header
|
||||
|
||||
@param[in] MaxSize Max Size limit
|
||||
@param[in] Size The size of the table
|
||||
@param[in,out] Hdr Table to check
|
||||
|
||||
@return TRUE CRC Valid
|
||||
@return FALSE CRC Invalid
|
||||
|
||||
**/
|
||||
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;
|
||||
|
@ -29,11 +29,6 @@ Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
//
|
||||
// Include common header file for this module.
|
||||
//
|
||||
#include "CommonHeader.h"
|
||||
|
||||
#include "Partition.h"
|
||||
|
||||
STATIC
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
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.
|
||||
|
||||
#ifndef __PARTITION_H__
|
||||
#define __PARTITION_H__
|
||||
**/
|
||||
|
||||
|
||||
#include <Uefi.h>
|
||||
#include <Protocol/BlockIo.h>
|
||||
#include <Guid/Gpt.h>
|
||||
#include <Protocol/ComponentName.h>
|
||||
#include <Protocol/DevicePath.h>
|
||||
#include <Protocol/DriverBinding.h>
|
||||
#include <Protocol/DiskIo.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/UefiDriverEntryPoint.h>
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/UefiLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/DevicePathLib.h>
|
||||
|
||||
//
|
||||
// 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 <IndustryStandard/Mbr.h>
|
||||
#include <IndustryStandard/ElTorito.h>
|
||||
@ -186,4 +192,3 @@ EFI_STATUS
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
|
||||
#endif
|
||||
|
@ -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
|
||||
|
||||
################################################################################
|
||||
#
|
||||
|
@ -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:
|
||||
@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.
|
||||
|
||||
This - The EFI_SECURITY_ARCH_PROTOCOL instance.
|
||||
@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.
|
||||
|
||||
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.
|
||||
|
||||
--*/
|
||||
**/
|
||||
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;
|
||||
|
||||
|
@ -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 <PiDxe.h>
|
||||
#include <Protocol/Security.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/UefiDriverEntryPoint.h>
|
||||
|
||||
//
|
||||
// Function prototypes
|
||||
|
@ -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
|
||||
|
||||
################################################################################
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user