]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c
To support GCC build. Currently, it could not pass GCC build,since tool could not...
[mirror_edk2.git] / MdePkg / Library / PeiServicesTablePointerLibIdt / PeiServicesTablePointer.c
1 /** @file
2 PEI Services Table Pointer Library for IA-32 and X64.
3
4 Copyright (c) 2006 - 2007, 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 **/
14
15 #include "InternalPeiServicesTablePointer.h"
16
17 /**
18
19 The function returns the pointer to PeiServicee following
20 PI1.0.
21
22 For IA32, the four-bytes field immediately prior to new IDT
23 base addres is used to save the EFI_PEI_SERVICES**.
24 For x64, the eight-bytes field immediately prior to new IDT
25 base addres is used to save the EFI_PEI_SERVICES**
26 @retval The pointer to PeiServices.
27
28 **/
29 EFI_PEI_SERVICES **
30 EFIAPI
31 GetPeiServicesTablePointer (
32 VOID
33 )
34 {
35 EFI_PEI_SERVICES **PeiServices;
36
37 PeiServices = (EFI_PEI_SERVICES **) AsmPeiSevicesTablePointer ();
38 ASSERT (PeiServices != NULL);
39 return PeiServices;
40 }
41