]>
git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/PeiServicePointer.c
3 Copyright 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
26 #if (PI_SPECIFICATION_VERSION >= 0x00010000)
29 SetPeiServicesTablePointer (
30 IN EFI_PEI_SERVICES
**PeiServices
36 Save PeiService pointer so that it can be retrieved anywhere.
40 PeiServices - The direct pointer to PeiServiceTable.
41 PhyscialAddress - The physcial address of variable PeiServices.
50 // For Itanium Processor Family processors, the EFI_PEI_SERVICES**
51 // is stored in kernel register7.
53 AsmWriteKr7((UINT64
)(UINTN
)PeiServices
);
58 GetPeiServicesTablePointer (
65 Get PeiService pointer.
72 The direct pointer to PeiServiceTable.
78 // For Itanium Processor Family processors, the EFI_PEI_SERVICES**
79 // is stored in kernel register7.
81 return (EFI_PEI_SERVICES
**)(UINTN
)AsmReadKr7();
86 IN EFI_PEI_SERVICES
**PeiServices
92 Migrate IDT from temporary memory to real memory where preceded with 4 bytes for
93 storing PeiService pointer.
97 PeiServices - The direct pointer to PeiServiceTable.