]>
git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointer.c
2 PEI Services Table Pointer Library.
4 Copyright (c) 2006, Intel Corporation<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 Module Name: PeiServicesTablePointer.c
21 #include <Library/PeiServicesTablePointerLib.h>
22 #include <Library/BaseLib.h>
23 #include <Library/DebugLib.h>
26 The function returns the pointer to PeiServices.
28 The function returns the pointer to PeiServices.
29 It will ASSERT() if the pointer to PeiServices is NULL.
31 @retval The pointer to PeiServices.
36 GetPeiServicesTablePointer (
40 EFI_PEI_SERVICES
**PeiServices
;
42 PeiServices
= (EFI_PEI_SERVICES
**)(UINTN
)AsmReadMm7 ();
43 ASSERT (PeiServices
!= NULL
);
48 The constructor function caches the pointer to PEI services.
50 The constructor function caches the pointer to PEI services.
51 It will always return EFI_SUCCESS.
53 @param FfsHeader Pointer to FFS header the loaded driver.
54 @param PeiServices Pointer to the PEI services.
56 @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
61 PeiServicesTablePointerLibConstructor (
62 IN EFI_FFS_FILE_HEADER
*FfsHeader
,
63 IN EFI_PEI_SERVICES
**PeiServices
66 AsmWriteMm7 ((UINT64
)(UINTN
)PeiServices
);