]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/PeiServicesTablePointerLibKr7/PeiServicesTablePointer.c
Update the copyright notice format
[mirror_edk2.git] / MdePkg / Library / PeiServicesTablePointerLibKr7 / PeiServicesTablePointer.c
CommitLineData
bf231ea6 1/** @file\r
37f259c9 2 PEI Services Table Pointer Library implementation for IPF that uses Kernel\r
bf231ea6 3 Register 7 to store the pointer.\r
c7d265a9 4\r
19388d29
HT
5 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
6 This program and the accompanying materials\r
37f259c9 7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
c7d265a9 10\r
37f259c9 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
c7d265a9 13\r
bf231ea6 14**/\r
c7d265a9 15\r
37f259c9 16#include <PiPei.h>\r
c7d265a9 17#include <Library/BaseLib.h>\r
37f259c9 18#include <Library/DebugLib.h>\r
c7d265a9 19\r
20/**\r
4b8157f9 21 Retrieves the cached value of the PEI Services Table pointer.\r
c7d265a9 22\r
4b8157f9 23 Returns the cached value of the PEI Services Table pointer in a CPU specific manner \r
24 as specified in the CPU binding section of the Platform Initialization Pre-EFI \r
25 Initialization Core Interface Specification.\r
26 \r
27 If the cached PEI Services Table pointer is NULL, then ASSERT().\r
c7d265a9 28\r
373b5cf9 29 @return The pointer to PeiServices.\r
c7d265a9 30\r
31**/\r
5240b97c 32CONST EFI_PEI_SERVICES **\r
c7d265a9 33EFIAPI\r
34GetPeiServicesTablePointer (\r
35 VOID\r
36 )\r
37{\r
5240b97c 38 CONST EFI_PEI_SERVICES **PeiServices;\r
c7d265a9 39\r
5240b97c 40 PeiServices = (CONST EFI_PEI_SERVICES **)(UINTN)AsmReadKr7 ();\r
c7d265a9 41 ASSERT (PeiServices != NULL);\r
42 return PeiServices;\r
43}\r
44\r
4b8157f9 45\r
61296d0d 46/**\r
4b8157f9 47 Caches a pointer PEI Services Table. \r
48 \r
49 Caches the pointer to the PEI Services Table specified by PeiServicesTablePointer \r
50 in a CPU specific manner as specified in the CPU binding section of the Platform Initialization \r
51 Pre-EFI Initialization Core Interface Specification. \r
076a01da 52 The function set the pointer of PEI services in KR7 register \r
61296d0d 53 according to PI specification.\r
54 \r
4b8157f9 55 If PeiServicesTablePointer is NULL, then ASSERT().\r
56 \r
42eedea9 57 @param PeiServicesTablePointer The address of PeiServices pointer.\r
61296d0d 58**/\r
59VOID\r
60EFIAPI\r
61SetPeiServicesTablePointer (\r
a86fda43 62 IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer\r
61296d0d 63 )\r
64{\r
4b8157f9 65 ASSERT (PeiServicesTablePointer != NULL);\r
58dcdada 66 AsmWriteKr7 ((UINT64)(UINTN)PeiServicesTablePointer);\r
61296d0d 67}\r
68 \r
58dcdada 69\r
81c7803c 70\r
10e53a28 71\r