Remove library instance of PeiServicesTablePointerLibMm7
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4113 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
76bb6efe95
commit
f9168a6f8f
|
@ -1,110 +0,0 @@
|
||||||
/** @file
|
|
||||||
PEI Services Table Pointer Library.
|
|
||||||
|
|
||||||
Copyright (c) 2006, Intel Corporation<BR>
|
|
||||||
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: PeiServicesTablePointer.c
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
|
|
||||||
#include <PiPei.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include <Library/PeiServicesTablePointerLib.h>
|
|
||||||
#include <Library/BaseLib.h>
|
|
||||||
#include <Library/DebugLib.h>
|
|
||||||
#include <Library/BaseMemoryLib.h>
|
|
||||||
#include <Library/PeiServicesLib.h>
|
|
||||||
|
|
||||||
VOID
|
|
||||||
EFIAPI
|
|
||||||
SetPeiServicesTablePointer (
|
|
||||||
IN EFI_PEI_SERVICES **PeiServices
|
|
||||||
)
|
|
||||||
{
|
|
||||||
AsmWriteMm7 ((UINT64)(UINTN)PeiServices);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
The function returns the pointer to PeiServices.
|
|
||||||
|
|
||||||
The function returns the pointer to PeiServices.
|
|
||||||
It will ASSERT() if the pointer to PeiServices is NULL.
|
|
||||||
|
|
||||||
@retval The pointer to PeiServices.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_PEI_SERVICES **
|
|
||||||
EFIAPI
|
|
||||||
GetPeiServicesTablePointer (
|
|
||||||
VOID
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_PEI_SERVICES **PeiServices;
|
|
||||||
|
|
||||||
PeiServices = (EFI_PEI_SERVICES **)(UINTN)AsmReadMm7 ();
|
|
||||||
ASSERT (PeiServices != NULL);
|
|
||||||
return PeiServices;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
The constructor function caches the pointer to PEI services.
|
|
||||||
|
|
||||||
The constructor function caches the pointer to PEI services.
|
|
||||||
It will always return EFI_SUCCESS.
|
|
||||||
|
|
||||||
@param FfsHeader Pointer to FFS header the loaded driver.
|
|
||||||
@param PeiServices Pointer to the PEI services.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
|
|
||||||
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
PeiServicesTablePointerLibConstructor (
|
|
||||||
IN EFI_PEI_FILE_HANDLE *FfsHeader,
|
|
||||||
IN EFI_PEI_SERVICES **PeiServices
|
|
||||||
)
|
|
||||||
{
|
|
||||||
AsmWriteMm7 ((UINT64)(UINTN)PeiServices);
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
After memory initialization in PEI phase, the IDT table in temporary memory should
|
|
||||||
be migrated to memory, and the address of PeiServicesPointer also need to be updated
|
|
||||||
immediately preceding the new IDT table.
|
|
||||||
|
|
||||||
@param PeiServices The address of PeiServices pointer.
|
|
||||||
**/
|
|
||||||
VOID
|
|
||||||
MigrateIdtTable (
|
|
||||||
IN EFI_PEI_SERVICES **PeiServices
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UINTN Size;
|
|
||||||
VOID *NewBase;
|
|
||||||
EFI_STATUS Status;
|
|
||||||
IA32_DESCRIPTOR Idtr;
|
|
||||||
|
|
||||||
AsmReadIdtr (&Idtr);
|
|
||||||
|
|
||||||
Size = Idtr.Limit + 1;
|
|
||||||
|
|
||||||
Status = PeiServicesAllocatePool (Size, &NewBase);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
|
||||||
|
|
||||||
CopyMem (NewBase, (VOID*)Idtr.Base, Size);
|
|
||||||
|
|
||||||
Idtr.Base = (UINTN)NewBase;
|
|
||||||
AsmWriteIdtr (&Idtr);
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
#/** @file
|
|
||||||
# Component description file for MM7 Pei Services Table Pointer Library
|
|
||||||
#
|
|
||||||
# PEI Services Table Library implementation that retrieves a pointer to the PEI
|
|
||||||
# Services Table from the MM7 on IA-32 and x64.
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#**/
|
|
||||||
|
|
||||||
[Defines]
|
|
||||||
INF_VERSION = 0x00010005
|
|
||||||
BASE_NAME = PeiServicesTablePointerLibMm7
|
|
||||||
FILE_GUID = e6e9c1f8-2c8a-4f4b-a27c-c382e4bb8e67
|
|
||||||
MODULE_TYPE = PEIM
|
|
||||||
VERSION_STRING = 1.0
|
|
||||||
LIBRARY_CLASS = PeiServicesTablePointerLib|PEIM PEI_CORE SEC
|
|
||||||
EDK_RELEASE_VERSION = 0x00020000
|
|
||||||
EFI_SPECIFICATION_VERSION = 0x00020000
|
|
||||||
|
|
||||||
CONSTRUCTOR = PeiServicesTablePointerLibConstructor
|
|
||||||
|
|
||||||
#
|
|
||||||
# The following information is for reference only and not required by the build tools.
|
|
||||||
#
|
|
||||||
# VALID_ARCHITECTURES = IA32 X64
|
|
||||||
#
|
|
||||||
|
|
||||||
[Sources.common]
|
|
||||||
PeiServicesTablePointer.c
|
|
||||||
|
|
||||||
|
|
||||||
[Packages]
|
|
||||||
MdePkg/MdePkg.dec
|
|
||||||
|
|
||||||
|
|
||||||
[LibraryClasses]
|
|
||||||
DebugLib
|
|
||||||
BaseLib
|
|
||||||
BaseMemoryLib
|
|
||||||
PeiServicesLib
|
|
|
@ -1,49 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<MsaHeader>
|
|
||||||
<ModuleName>PeiServicesTablePointerLibMm7</ModuleName>
|
|
||||||
<ModuleType>PEIM</ModuleType>
|
|
||||||
<GuidValue>e6e9c1f8-2c8a-4f4b-a27c-c382e4bb8e67</GuidValue>
|
|
||||||
<Version>1.0</Version>
|
|
||||||
<Abstract>Component description file for MM7 Pei Services Table Pointer Library</Abstract>
|
|
||||||
<Description>PEI Services Table Library implementation that retrieves a pointer to the PEI
|
|
||||||
Services Table from the MM7 on IA-32 and x64.</Description>
|
|
||||||
<Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>
|
|
||||||
<License>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.</License>
|
|
||||||
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
|
|
||||||
</MsaHeader>
|
|
||||||
<ModuleDefinitions>
|
|
||||||
<SupportedArchitectures>IA32 X64</SupportedArchitectures>
|
|
||||||
<BinaryModule>false</BinaryModule>
|
|
||||||
<OutputFileBasename>PeiServicesTablePointerLibMm7</OutputFileBasename>
|
|
||||||
</ModuleDefinitions>
|
|
||||||
<LibraryClassDefinitions>
|
|
||||||
<LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="PEIM PEI_CORE">
|
|
||||||
<Keyword>PeiServicesTablePointerLib</Keyword>
|
|
||||||
</LibraryClass>
|
|
||||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
|
||||||
<Keyword>BaseLib</Keyword>
|
|
||||||
</LibraryClass>
|
|
||||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
|
||||||
<Keyword>DebugLib</Keyword>
|
|
||||||
</LibraryClass>
|
|
||||||
</LibraryClassDefinitions>
|
|
||||||
<SourceFiles>
|
|
||||||
<Filename>PeiServicesTablePointer.c</Filename>
|
|
||||||
</SourceFiles>
|
|
||||||
<PackageDependencies>
|
|
||||||
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
|
||||||
</PackageDependencies>
|
|
||||||
<Externs>
|
|
||||||
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
|
|
||||||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
|
||||||
<Extern>
|
|
||||||
<Constructor>PeiServicesTablePointerLibConstructor</Constructor>
|
|
||||||
</Extern>
|
|
||||||
</Externs>
|
|
||||||
</ModuleSurfaceArea>
|
|
|
@ -114,7 +114,6 @@
|
||||||
MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
||||||
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
||||||
MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
||||||
MdePkg/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointerLibMm7.inf
|
|
||||||
|
|
||||||
[Components.X64]
|
[Components.X64]
|
||||||
MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
|
MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
|
||||||
|
@ -123,7 +122,6 @@
|
||||||
MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
||||||
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
||||||
MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
||||||
MdePkg/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointerLibMm7.inf
|
|
||||||
|
|
||||||
[Components.IPF]
|
[Components.IPF]
|
||||||
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
||||||
|
|
Loading…
Reference in New Issue