]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointer.c
Added an extra GDT entry to the GDT used by thunk code. SS register will always be...
[mirror_edk2.git] / MdePkg / Library / PeiServicesTablePointerLibMm7 / PeiServicesTablePointer.c
CommitLineData
878ddf1f 1/** @file\r
2 PEI Services Table Pointer Library.\r
3\r
4 Copyright (c) 2006, Intel Corporation<BR>\r
5 All rights reserved. This program and the accompanying materials \r
6 are licensed and made available under the terms and conditions of the BSD License \r
7 which accompanies this distribution. The full text of the license may be found at \r
8 http://opensource.org/licenses/bsd-license.php \r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13 Module Name: PeiServicesTablePointer.c\r
14\r
15**/\r
16\r
17\r
a42b1820 18/**\r
19 The function returns the pointer to PeiServices.\r
20 \r
21 The function returns the pointer to PeiServices. \r
22 It will ASSERT() if the pointer to PeiServices is NULL.\r
23\r
24 @retval The pointer to PeiServices.\r
878ddf1f 25\r
a42b1820 26**/\r
878ddf1f 27EFI_PEI_SERVICES **\r
28GetPeiServicesTablePointer (\r
29 VOID\r
30 )\r
31{\r
8960cdeb 32 EFI_PEI_SERVICES **PeiServices;\r
33\r
34 PeiServices = (EFI_PEI_SERVICES **)(UINTN)AsmReadMm7 ();\r
35 ASSERT (PeiServices != NULL);\r
36 return PeiServices;\r
878ddf1f 37}\r
38\r
39/**\r
a42b1820 40 The constructor function caches the pointer to PEI services.\r
41 \r
42 The constructor function caches the pointer to PEI services. \r
43 It will always return EFI_SUCCESS.\r
44\r
45 @param FfsHeader Pointer to FFS header the loaded driver.\r
46 @param PeiServices Pointer to the PEI services.\r
47 \r
48 @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.\r
49\r
878ddf1f 50**/\r
51EFI_STATUS\r
52PeiServicesTablePointerLibConstructor (\r
53 IN EFI_FFS_FILE_HEADER *FfsHeader,\r
54 IN EFI_PEI_SERVICES **PeiServices\r
55 )\r
56{\r
57 AsmWriteMm7 ((UINT64)(UINTN)PeiServices);\r
58 return EFI_SUCCESS;\r
59}\r