Move FvbServiceLib, GraphicsLib, and DxePalLib from MDE package due to package dependency issue, and update all DSC files accordingly.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6286 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24 2008-10-29 09:36:06 +00:00
parent 3ea27e1a8b
commit a7e883d867
11 changed files with 25 additions and 194 deletions

View File

@ -36,7 +36,7 @@
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
GenericBdsLib|MdeModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
GraphicsLib|MdePkg/Library/GraphicsLib/GraphicsLib.inf
GraphicsLib|MdeModulePkg/Library/GraphicsLib/GraphicsLib.inf
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
DxePiLib|MdePkg/Library/DxePiLib/DxePiLib.inf

View File

@ -1,9 +1,8 @@
#/** @file
# Instance of FVB Service Library.
# FvbService Library for UEFI drivers
#
# This library instance provides service functions to access Firmware Volume Block protocol.
#
# Copyright (c) 2006 - 2008, Intel Corporation
# This library instance provide sevice functions to access Firmware Volume Block protocol.
# 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
@ -17,24 +16,25 @@
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = FvbServiceLib
BASE_NAME = EdkFvbServiceLib
FILE_GUID = bd4d540e-04b0-4b10-8fd5-4a7bb533cf67
MODULE_TYPE = DXE_DRIVER
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = FvbServiceLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
LIBRARY_CLASS = FvbServiceLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION
EDK_RELEASE_VERSION = 0x00020000
EFI_SPECIFICATION_VERSION = 0x00020000
CONSTRUCTOR = FvbLibInitialize
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
# VALID_ARCHITECTURES = IA32 X64
#
# VIRTUAL_ADDRESS_MAP_CALLBACK = FvbVirtualAddressChangeNotifyEvent
#
[Sources.common]
[Sources]
Fvb.h
Fvb.c

View File

@ -646,7 +646,7 @@ DisableQuietBoot (
**/
UINTN
VPrintXY (
Print (
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw,
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *Sto,
@ -912,6 +912,6 @@ PrintXY (
return 0;
}
return VPrintXY (GraphicsOutput, UgaDraw, Sto, X, Y, ForeGround, BackGround, Fmt, Args);
return Print (GraphicsOutput, UgaDraw, Sto, X, Y, ForeGround, BackGround, Fmt, Args);
}

View File

@ -1,10 +1,10 @@
#/** @file
# Instance of Graphics Library.
# Library supports diplaying graphical splash screen,
# locking of keyboard input and printing character on
# screen.
#
# This library supports displaying graphical splash screen,
# locking of keyboard input and printing character on screen.
#
# Copyright (c) 2006 - 2008, Intel Corporation.
# This library provides supports for basic graphic functions.
# 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
@ -24,6 +24,7 @@
VERSION_STRING = 1.0
LIBRARY_CLASS = GraphicsLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
EDK_RELEASE_VERSION = 0x00020000
EFI_SPECIFICATION_VERSION = 0x00020000
#
@ -54,6 +55,7 @@
gEfiGraphicsOutputProtocolGuid # PROTOCOL ALWAYS_CONSUMED
gEfiUgaDrawProtocolGuid # PROTOCOL ALWAYS_CONSUMED
gEfiConsoleControlProtocolGuid # PROTOCOL ALWAYS_CONSUMED
gEfiFirmwareVolume2ProtocolGuid # PROTOCOL ALWAYS_CONSUMED
gEfiOEMBadgingProtocolGuid # PROTOCOL ALWAYS_CONSUMED
gEfiHiiFontProtocolGuid # PROTOCOL ALWAYS_CONSUMED

View File

@ -60,7 +60,7 @@
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
FvbServiceLib|MdePkg/Library/FvbServiceLib/FvbServiceLib.inf
FvbServiceLib|MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf
ScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
HiiLib|MdePkg/Library/UefiHiiLib/UefiHiiLib.inf
ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
@ -70,14 +70,13 @@
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
GraphicsLib|MdePkg/Library/GraphicsLib/GraphicsLib.inf
GraphicsLib|MdeModulePkg/Library/GraphicsLib/GraphicsLib.inf
IfrSupportLib|MdePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
DxePiLib|MdePkg/Library/DxePiLib/DxePiLib.inf
PlatformBdsLib|MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
GenericBdsLib|MdeModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
GraphicsLib|MdePkg/Library/GraphicsLib/GraphicsLib.inf
DxePiLib|MdePkg/Library/DxePiLib/DxePiLib.inf
PlatformBdsLib|MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
GenericBdsLib|MdeModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
@ -292,6 +291,8 @@
MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf
MdeModulePkg/Library/PlatformBdsLibNull/PlatformBdsLibNull.inf
MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf
MdeModulePkg/Library/GraphicsLib/GraphicsLib.inf
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf

View File

@ -1,116 +0,0 @@
/** @file
PAL Library Class implementation whose PAL entry is collected
from HOB or SAL System Table.
Copyright (c) 2007 - 2008 Intel Corporation. All rights reserved
This software and associated documentation (if any) is furnished
under a license and may only be used or copied in accordance
with the terms of the license. Except as permitted by such
license, no part of this software or documentation may be
reproduced, stored in a retrieval system, or transmitted in any
form or by any means without the express written consent of
Intel Corporation.
Module Name: DxePalCallLib.c
**/
#include <PiDxe.h>
#include <ItaniumFamilyCpuDxe.h>
#include <IndustryStandard/Sal.h>
#include <Guid/PalEntryHob.h>
#include <Guid/SalSystemTable.h>
#include <Library/PalCallLib.h>
#include <Library/BaseLib.h>
#include <Library/HobLib.h>
#include <Library/DebugLib.h>
#include <Library/UefiLib.h>
BOOLEAN mPalCallAddressHob = FALSE;
BOOLEAN mPalCallAddressSal = FALSE;
UINT64 mPalCallAddress;
/**
Makes a PAL procedure call.
This is a wrapper function to make a PAL procedure call. Based on the Index value,
this API will make static or stacked PAL call. Architected procedures may be designated
as required or optional. If a PAL procedure is specified as optional, a unique return
code of 0xFFFFFFFFFFFFFFFF is returned in the Status field of the PAL_CALL_RETURN structure.
This indicates that the procedure is not present in this PAL implementation. It is the
caller's responsibility to check for this return code after calling any optional PAL
procedure. No parameter checking is performed on the 4 input parameters, but there are
some common rules that the caller should follow when making a PAL call. Any address
passed to PAL as buffers for return parameters must be 8-byte aligned. Unaligned addresses
may cause undefined results. For those parameters defined as reserved or some fields
defined as reserved must be zero filled or the invalid argument return value may be
returned or undefined result may occur during the execution of the procedure.
This function is only available on IPF.
@param Index The PAL procedure Index number.
@param Arg2 The 2nd parameter for PAL procedure calls.
@param Arg3 The 3rd parameter for PAL procedure calls.
@param Arg4 The 4th parameter for PAL procedure calls.
@return Structure returned from the PAL Call procedure, including the status and return value.
**/
PAL_CALL_RETURN
EFIAPI
PalCall (
IN UINT64 Index,
IN UINT64 Arg2,
IN UINT64 Arg3,
IN UINT64 Arg4
)
{
EFI_HOB_GUID_TYPE *GuidHob;
EFI_STATUS Status;
SAL_ST_ENTRY_POINT_DESCRIPTOR *SalStEntryDes;
SAL_SYSTEM_TABLE_HEADER *SalSystemTable;
if (!mPalCallAddressHob) {
//
// Collect PAL entry from HOBs
//
GuidHob = GetFirstGuidHob (&gPalEntryHobGuid);
ASSERT (GuidHob != NULL);
mPalCallAddress = *((EFI_PHYSICAL_ADDRESS *) GET_GUID_HOB_DATA (GuidHob));
ASSERT (mPalCallAddress != 0);
mPalCallAddressHob = TRUE;
}
if (!mPalCallAddressSal) {
Status = EfiGetSystemConfigurationTable (
&gEfiSalSystemTableGuid,
(VOID **) &SalSystemTable
);
if (!EFI_ERROR (Status)) {
//
// Move the SAL System Table point to the first Entry
// Due to the SAL Entry is in ascending order with the Entry type,
// the type 0 Entry should be the first if exist.
//
SalStEntryDes = (SAL_ST_ENTRY_POINT_DESCRIPTOR *)(SalSystemTable + 1);
//
// Assure the SAL ENTRY Type is 0
//
ASSERT (SalStEntryDes->Type == EFI_SAL_ST_ENTRY_POINT);
if (SalStEntryDes->PalProcEntry != 0) {
mPalCallAddress = SalStEntryDes->PalProcEntry;
mPalCallAddressSal = TRUE;
}
}
}
return AsmPalCall (mPalCallAddress, Index, Arg2, Arg3, Arg4);
}

View File

@ -1,53 +0,0 @@
# @file
# Instance of PAL Library retrieving PAL entrypoint from HOB.
#
# Instance of PAL Library that uses a HOB to retrieve the PAL
# Entry Point and layers on top of AsmPalCall() in the Base Library.
#
# Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.
#
# This software and associated documentation (if any) is furnished
# under a license and may only be used or copied in accordance
# with the terms of the license. Except as permitted by such
# license, no part of this software or documentation may be
# reproduced, stored in a retrieval system, or transmitted in any
# form or by any means without the express written consent of
# Intel Corporation.
#
#
#
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxePalLib
FILE_GUID = B05D4251-5BA5-46f2-A011-46CC46D9A590
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = PalCallLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
EDK_RELEASE_VERSION = 0x00020000
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IPF
#
[Sources.IPF]
DxePalCallLib.c
[Packages]
MdePkg/MdePkg.dec
IntelFrameworkPkg/IntelFrameworkPkg.dec
ItaniumFamilyCpuPkg/ItaniumFamilyCpuPkg.dec
ItaniumPlatformPkg/ItaniumPlatformPkg.dec
[LibraryClasses]
BaseLib
HobLib
UefiLib
DebugLib
[Guids]
gPalEntryHobGuid # ALWAYS_CONSUMED
gEfiSalSystemTableGuid # ALWAYS_CONSUMED

View File

@ -78,8 +78,6 @@
MdePkg/Library/DxePiLib/DxePiLib.inf
MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
MdePkg/Library/DxeSmbusLib/DxeSmbusLib.inf
MdePkg/Library/FvbServiceLib/FvbServiceLib.inf
MdePkg/Library/GraphicsLib/GraphicsLib.inf
MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
@ -128,7 +126,6 @@
[Components.IPF]
MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
MdePkg/Library/BasePalCallLibNull/BasePalCallLibNull.inf
MdePkg/Library/DxePalLib/DxePalLib.inf
MdePkg/Library/PeiPalLib/PeiPalLib.inf
MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointerLibKr7.inf
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf

View File

@ -60,8 +60,8 @@
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
PciIncompatibleDeviceSupportLib|IntelFrameworkModulePkg/Library/PciIncompatibleDeviceSupportLib/PciIncompatibleDeviceSupportLib.inf
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
GraphicsLib|MdePkg/Library/GraphicsLib/GraphicsLib.inf
FvbServiceLib|MdePkg/Library/FvbServiceLib/FvbServiceLib.inf
GraphicsLib|MdeModulePkg/Library/GraphicsLib/GraphicsLib.inf
FvbServiceLib|MdeModulePkg/Library/EdkFvbServiceLib/EdkFvbServiceLib.inf
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
HiiLib|MdePkg/Library/UefiHiiLib/UefiHiiLib.inf