1) Sync EdkCompatibilityPkg with EDK 1.04. The changes includes:

1.1) Bug fixes. (For details, please check  Documents & files: Snapshot/Release Notes at https://edk.tianocore.org/servlets/ProjectDocumentList?folderID=43&expandFolder=43&folderID=6)
  1.2) Add new UEFI protocol definitions for AbsolutePointer, FormBrowser2, HiiConfigAccess, HiiConfigRouting, HiiDatabase, HiiFont, HiiImage, HiiString, SimpleTextInputEx, DPC protocol.
  1.3) Add Smbios 2.5, 2.6 supports.

  Incompatible changes hilighted:
  1) EFI_MANAGED_NETWORK_PROTOCOL_GUID changed.
  2) EFI_IP4_IPCONFIG_DATA changed.

2) Add in EdkCompatibilityPkg/EdkCompatibilityPkg.dsc to build all libraries in this package.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4623 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12
2008-01-24 07:10:05 +00:00
parent 2c40a813fc
commit c7f33ca424
448 changed files with 18656 additions and 5615 deletions

View File

@@ -420,7 +420,7 @@ Returns:
CopyMem(&(Hob.MemoryAllocationStack->AllocDescriptor.Name), &gEfiHobMemeryAllocStackGuid, sizeof(EFI_GUID));
(Hob.MemoryAllocationStack->AllocDescriptor).MemoryBaseAddress = BaseAddress;
(Hob.MemoryAllocationStack->AllocDescriptor).MemoryLength = Length;
(Hob.MemoryAllocationStack->AllocDescriptor).MemoryType = EfiConventionalMemory;
(Hob.MemoryAllocationStack->AllocDescriptor).MemoryType = EfiBootServicesData;
Hob.MemoryAllocationStack++;
HandOffHob.HandoffInformationTable->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS) (UINTN) Hob.Raw;
@@ -601,3 +601,121 @@ Returns:
return Status;
}
VOID *
GetHob (
IN UINT16 Type,
IN VOID *HobStart
)
/*++
Routine Description:
This function returns the first instance of a HOB type in a HOB list.
Arguments:
Type The HOB type to return.
HobStart The first HOB in the HOB list.
Returns:
HobStart There were no HOBs found with the requested type.
else Returns the first HOB with the matching type.
--*/
{
EFI_PEI_HOB_POINTERS Hob;
Hob.Raw = HobStart;
//
// Return input if not found
//
if (HobStart == NULL) {
return HobStart;
}
//
// Parse the HOB list, stop if end of list or matching type found.
//
while (!END_OF_HOB_LIST (Hob)) {
if (Hob.Header->HobType == Type) {
break;
}
Hob.Raw = GET_NEXT_HOB (Hob);
}
//
// Return input if not found
//
if (END_OF_HOB_LIST (Hob)) {
return HobStart;
}
return (VOID *) (Hob.Raw);
}
EFI_STATUS
GetNextGuidHob (
IN OUT VOID **HobStart,
IN EFI_GUID * Guid,
OUT VOID **Buffer,
OUT UINTN *BufferSize OPTIONAL
)
/*++
Routine Description:
Get the next guid hob.
Arguments:
HobStart A pointer to the start hob.
Guid A pointer to a guid.
Buffer A pointer to the buffer.
BufferSize Buffer size.
Returns:
Status code.
EFI_NOT_FOUND - Next Guid hob not found
EFI_SUCCESS - Next Guid hob found and data for this Guid got
EFI_INVALID_PARAMETER - invalid parameter
--*/
{
EFI_STATUS Status;
EFI_PEI_HOB_POINTERS GuidHob;
if (Buffer == NULL) {
return EFI_INVALID_PARAMETER;
}
for (Status = EFI_NOT_FOUND; EFI_ERROR (Status);) {
GuidHob.Raw = *HobStart;
if (END_OF_HOB_LIST (GuidHob)) {
return EFI_NOT_FOUND;
}
GuidHob.Raw = GetHob (EFI_HOB_TYPE_GUID_EXTENSION, *HobStart);
if (GuidHob.Header->HobType == EFI_HOB_TYPE_GUID_EXTENSION) {
if ( ((INT32 *)Guid)[0] == ((INT32 *)&GuidHob.Guid->Name)[0] &&
((INT32 *)Guid)[1] == ((INT32 *)&GuidHob.Guid->Name)[1] &&
((INT32 *)Guid)[2] == ((INT32 *)&GuidHob.Guid->Name)[2] &&
((INT32 *)Guid)[3] == ((INT32 *)&GuidHob.Guid->Name)[3] ) {
Status = EFI_SUCCESS;
*Buffer = (VOID *) ((UINT8 *) (&GuidHob.Guid->Name) + sizeof (EFI_GUID));
if (BufferSize != NULL) {
*BufferSize = GuidHob.Header->HobLength - sizeof (EFI_HOB_GUID_TYPE);
}
}
}
*HobStart = GET_NEXT_HOB (GuidHob);
}
return Status;
}

View File

@@ -25,6 +25,7 @@ Abstract:
#include "Tiano.h"
#include "Pei.h"
#include "peiHobLib.h"
#include "PeiPerf.h"
#include EFI_PROTOCOL_DEFINITION (Decompress)
#include EFI_PROTOCOL_DEFINITION (TianoDecompress)
#include EFI_GUID_DEFINITION (PeiPeCoffLoader)
@@ -709,37 +710,6 @@ Returns:
--*/
;
VOID
PeiPerfMeasure (
EFI_PEI_SERVICES **PeiServices,
IN UINT16 *Token,
IN EFI_FFS_FILE_HEADER *FileHeader,
IN BOOLEAN EntryExit,
IN UINT64 Value
)
/*++
Routine Description:
Log a timestamp count.
Arguments:
PeiServices - Pointer to the PEI Core Services table
Token - Pointer to Token Name
FileHeader - Pointer to the file header
EntryExit - Indicates start or stop measurement
Value - The start time or the stop time
Returns:
--*/
;
EFI_STATUS
GetTimerValue (
OUT UINT64 *TimerValue
@@ -761,14 +731,6 @@ Returns:
--*/
;
#ifdef EFI_PEI_PERFORMANCE
#define PEI_PERF_START(Ps, Token, FileHeader, Value) PeiPerfMeasure (Ps, Token, FileHeader, FALSE, Value)
#define PEI_PERF_END(Ps, Token, FileHeader, Value) PeiPerfMeasure (Ps, Token, FileHeader, TRUE, Value)
#else
#define PEI_PERF_START(Ps, Token, FileHeader, Value)
#define PEI_PERF_END(Ps, Token, FileHeader, Value)
#endif
#ifdef EFI_NT_EMULATOR
EFI_STATUS
PeCoffLoaderWinNtLoadAsDll (
@@ -1306,6 +1268,7 @@ Returns:
;
EFI_STATUS
EFIAPI
FindFv (
IN EFI_FIND_FV_PPI *This,
IN EFI_PEI_SERVICES **PeiServices,

View File

@@ -313,6 +313,30 @@ Returns:
--*/
;
VOID *
GetHob (
IN UINT16 Type,
IN VOID *HobStart
)
/*++
Routine Description:
This function returns the first instance of a HOB type in a HOB list.
Arguments:
Type The HOB type to return.
HobStart The first HOB in the HOB list.
Returns:
HobStart There were no HOBs found with the requested type.
else Returns the first HOB with the matching type.
--*/
;
EFI_STATUS
GetFirstGuidHob (
IN VOID **HobStart,
@@ -342,4 +366,35 @@ Returns:
--*/
;
EFI_STATUS
GetNextGuidHob (
IN OUT VOID **HobStart,
IN EFI_GUID * Guid,
OUT VOID **Buffer,
OUT UINTN *BufferSize OPTIONAL
)
/*++
Routine Description:
Get the next guid hob.
Arguments:
HobStart A pointer to the start hob.
Guid A pointer to a guid.
Buffer A pointer to the buffer.
BufferSize Buffer size.
Returns:
Status code.
EFI_NOT_FOUND - Next Guid hob not found
EFI_SUCCESS - Next Guid hob found and data for this Guid got
EFI_INVALID_PARAMETER - invalid parameter
--*/
;
#endif

View File

@@ -1,6 +1,6 @@
/*++
Copyright (c) 2006, 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
@@ -29,7 +29,7 @@ Abstract:
static
VOID *
GetHob (
FindFvGetHob (
IN UINT16 Type,
IN VOID *HobStart
)
@@ -84,6 +84,7 @@ Returns:
}
EFI_STATUS
EFIAPI
FindFv (
IN EFI_FIND_FV_PPI *This,
IN EFI_PEI_SERVICES **PeiServices,
@@ -146,7 +147,7 @@ Returns:
//
while (FvIndex <= *FvNumber) {
Hob.Raw = GetHob (EFI_HOB_TYPE_FV, HobStart.Raw);
Hob.Raw = FindFvGetHob (EFI_HOB_TYPE_FV, HobStart.Raw);
//
// If the Hob is not EFI_HOB_TYPE_FV, it indicates that

View File

@@ -387,7 +387,7 @@ Returns:
Hob->AllocDescriptor.Name = gEfiHobMemeryAllocStackGuid;
Hob->AllocDescriptor.MemoryBaseAddress = BaseAddress;
Hob->AllocDescriptor.MemoryLength = Length;
Hob->AllocDescriptor.MemoryType = EfiConventionalMemory;
Hob->AllocDescriptor.MemoryType = EfiBootServicesData;
(*PeiServices)->SetMem (
Hob->AllocDescriptor.Reserved,
sizeof (Hob->AllocDescriptor.Reserved),

View File

@@ -434,7 +434,7 @@ Returns:
ImageContext->ImageAddress = Hdr.Pe32Plus->OptionalHeader.ImageBase;
}
} else {
ImageContext->ImageAddress = (EFI_PHYSICAL_ADDRESS)(Hdr.Te->ImageBase);
ImageContext->ImageAddress = (EFI_PHYSICAL_ADDRESS)(Hdr.Te->ImageBase + Hdr.Te->StrippedSize - sizeof (EFI_TE_IMAGE_HEADER));
}
//
@@ -799,8 +799,8 @@ Returns:
}
} else {
Hdr.Te = (EFI_TE_IMAGE_HEADER *)(UINTN)(ImageContext->ImageAddress);
Adjust = (UINT64) (BaseAddress - Hdr.Te->ImageBase);
Hdr.Te->ImageBase = (UINT64) (BaseAddress);
Adjust = (UINT64) (BaseAddress - Hdr.Te->StrippedSize + sizeof (EFI_TE_IMAGE_HEADER) - Hdr.Te->ImageBase);
Hdr.Te->ImageBase = (UINT64) (BaseAddress - Hdr.Te->StrippedSize + sizeof (EFI_TE_IMAGE_HEADER));
//
// Find the relocation block

View File

@@ -23,7 +23,7 @@ Abstract:
#include "PeiHob.h"
#include "Pei.h"
#include "PeiLib.h"
#include "EfiCommonLib.h"
VOID
PeiCopyMem (
@@ -55,12 +55,7 @@ Returns:
--*/
{
INT8 *Ptr;
Ptr = Buffer;
while (Size--) {
*(Ptr++) = 0;
}
EfiCommonLibZeroMem (Buffer, Size);
}
VOID
@@ -89,20 +84,7 @@ Returns:
--*/
{
CHAR8 *Destination8;
CHAR8 *Source8;
Destination8 = Destination;
Source8 = Source;
if (((Source8 + Length) <= Destination8) || (Source8 >= Destination8)) {
while (Length--) {
*(Destination8++) = *(Source8++);
}
} else {
while (Length--) {
*(Destination8 + Length) = *(Source8 + Length);
}
}
EfiCommonLibCopyMem (Destination, Source, Length);
}
VOID
@@ -131,20 +113,7 @@ Returns:
--*/
{
CHAR8 *Destination8;
CHAR8 *Source8;
Destination8 = Destination;
Source8 = Source;
if (((Source8 + Length) <= Destination8) || (Source8 >= Destination8)) {
while (Length--) {
*(Destination8++) = *(Source8++);
}
} else {
while (Length--) {
*(Destination8 + Length) = *(Source8 + Length);
}
}
EfiCommonLibCopyMem (Destination, Source, Length);
}

View File

@@ -42,6 +42,7 @@ GetTimerValue (
VOID
EFIAPI
PeiPerfMeasure (
EFI_PEI_SERVICES **PeiServices,
IN UINT16 *Token,