]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointer.c
add EFIAPI for those constructor funcitons declaration
[mirror_edk2.git] / MdePkg / Library / PeiServicesTablePointerLibMm7 / PeiServicesTablePointer.c
1 /** @file
2 PEI Services Table Pointer Library.
3
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
9
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.
12
13 Module Name: PeiServicesTablePointer.c
14
15 **/
16
17
18 /**
19 The function returns the pointer to PeiServices.
20
21 The function returns the pointer to PeiServices.
22 It will ASSERT() if the pointer to PeiServices is NULL.
23
24 @retval The pointer to PeiServices.
25
26 **/
27 EFI_PEI_SERVICES **
28 EFIAPI
29 GetPeiServicesTablePointer (
30 VOID
31 )
32 {
33 EFI_PEI_SERVICES **PeiServices;
34
35 PeiServices = (EFI_PEI_SERVICES **)(UINTN)AsmReadMm7 ();
36 ASSERT (PeiServices != NULL);
37 return PeiServices;
38 }
39
40 /**
41 The constructor function caches the pointer to PEI services.
42
43 The constructor function caches the pointer to PEI services.
44 It will always return EFI_SUCCESS.
45
46 @param FfsHeader Pointer to FFS header the loaded driver.
47 @param PeiServices Pointer to the PEI services.
48
49 @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
50
51 **/
52 EFI_STATUS
53 EFIAPI
54 PeiServicesTablePointerLibConstructor (
55 IN EFI_FFS_FILE_HEADER *FfsHeader,
56 IN EFI_PEI_SERVICES **PeiServices
57 )
58 {
59 AsmWriteMm7 ((UINT64)(UINTN)PeiServices);
60 return EFI_SUCCESS;
61 }