mirror of https://github.com/acidanthera/audk.git
67 lines
1.6 KiB
C
67 lines
1.6 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2006 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:
|
||
|
|
||
|
PeiServicesTablePointer.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
PEI Services Table Pointer Library.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
/**
|
||
|
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)AsmReadKr1 ();
|
||
|
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_FFS_FILE_HEADER *FfsHeader,
|
||
|
IN EFI_PEI_SERVICES **PeiServices
|
||
|
)
|
||
|
{
|
||
|
AsmWriteKr1 ((UINT64)(UINTN)PeiServices);
|
||
|
return EFI_SUCCESS;
|
||
|
}
|