]>
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>
27 SetPeiServicesTablePointer (
28 IN EFI_PEI_SERVICES
**PeiServices
31 AsmWriteMm7 ((UINT64
)(UINTN
)PeiServices
);
35 The function returns the pointer to PeiServices.
37 The function returns the pointer to PeiServices.
38 It will ASSERT() if the pointer to PeiServices is NULL.
40 @retval The pointer to PeiServices.
45 GetPeiServicesTablePointer (
49 EFI_PEI_SERVICES
**PeiServices
;
51 PeiServices
= (EFI_PEI_SERVICES
**)(UINTN
)AsmReadMm7 ();
52 ASSERT (PeiServices
!= NULL
);
57 The constructor function caches the pointer to PEI services.
59 The constructor function caches the pointer to PEI services.
60 It will always return EFI_SUCCESS.
62 @param FfsHeader Pointer to FFS header the loaded driver.
63 @param PeiServices Pointer to the PEI services.
65 @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
70 PeiServicesTablePointerLibConstructor (
71 IN EFI_PEI_FILE_HANDLE
*FfsHeader
,
72 IN EFI_PEI_SERVICES
**PeiServices
75 AsmWriteMm7 ((UINT64
)(UINTN
)PeiServices
);