9e95f418 |
1 | /*++\r |
2 | \r |
3 | Copyright (c) 2006 Intel Corporation. All rights reserved\r |
4 | This software and associated documentation (if any) is furnished\r |
5 | under a license and may only be used or copied in accordance\r |
6 | with the terms of the license. Except as permitted by such\r |
7 | license, no part of this software or documentation may be\r |
8 | reproduced, stored in a retrieval system, or transmitted in any\r |
9 | form or by any means without the express written consent of\r |
10 | Intel Corporation.\r |
11 | \r |
12 | \r |
13 | Module Name:\r |
14 | \r |
15 | PeiServicesTablePointer.c\r |
16 | \r |
17 | Abstract:\r |
18 | \r |
19 | PEI Services Table Pointer Library.\r |
20 | \r |
21 | --*/\r |
22 | \r |
58251024 |
23 | #include "PeiServicesTablePointerLibInternals.h"\r |
9e95f418 |
24 | \r |
25 | /**\r |
26 | The function returns the pointer to PeiServices.\r |
27 | \r |
28 | The function returns the pointer to PeiServices.\r |
29 | It will ASSERT() if the pointer to PeiServices is NULL.\r |
30 | \r |
31 | @retval The pointer to PeiServices.\r |
32 | \r |
33 | **/\r |
34 | EFI_PEI_SERVICES **\r |
35 | EFIAPI\r |
36 | GetPeiServicesTablePointer (\r |
37 | VOID\r |
38 | )\r |
39 | {\r |
40 | EFI_PEI_SERVICES **PeiServices;\r |
41 | \r |
42 | PeiServices = (EFI_PEI_SERVICES **)(UINTN)AsmReadKr1 ();\r |
43 | ASSERT (PeiServices != NULL);\r |
44 | return PeiServices;\r |
45 | }\r |
46 | \r |
47 | /**\r |
48 | The constructor function caches the pointer to PEI services.\r |
49 | \r |
50 | The constructor function caches the pointer to PEI services.\r |
51 | It will always return EFI_SUCCESS.\r |
52 | \r |
53 | @param FfsHeader Pointer to FFS header the loaded driver.\r |
54 | @param PeiServices Pointer to the PEI services.\r |
55 | \r |
56 | @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.\r |
57 | \r |
58 | **/\r |
59 | EFI_STATUS\r |
60 | EFIAPI\r |
61 | PeiServicesTablePointerLibConstructor (\r |
62 | IN EFI_FFS_FILE_HEADER *FfsHeader,\r |
63 | IN EFI_PEI_SERVICES **PeiServices\r |
64 | )\r |
65 | {\r |
66 | AsmWriteKr1 ((UINT64)(UINTN)PeiServices);\r |
67 | return EFI_SUCCESS;\r |
68 | }\r |