]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/PeiDebugPrintHobLib/PeiDebugPrintHobLib.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Library / PeiDebugPrintHobLib / PeiDebugPrintHobLib.c
CommitLineData
d4a78455 1/** @file\r
2 NULL Library class that reads Debug Mask variable and if it exists makes a\r
3 HOB that contains the debug mask.\r
4\r
5 Copyright (c) 2011, Apple, Inc. All rights reserved.<BR>\r
9d510e61 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
d4a78455 7\r
8**/\r
9\r
10#include <PiPei.h>\r
11\r
12#include <Library/HobLib.h>\r
13#include <Library/DebugLib.h>\r
14#include <Library/PeiServicesLib.h>\r
15\r
16#include <Ppi/ReadOnlyVariable2.h>\r
17#include <Guid/DebugMask.h>\r
18\r
d4a78455 19/**\r
20 The constructor reads variable and sets HOB\r
d1102dba 21\r
d4a78455 22 @param FileHandle The handle of FFS header the loaded driver.\r
23 @param PeiServices The pointer to the PEI services.\r
24\r
25 @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.\r
26\r
27**/\r
28EFI_STATUS\r
29EFIAPI\r
30PeiDebugPrintHobLibConstructor (\r
1436aea4
MK
31 IN EFI_PEI_FILE_HANDLE FileHandle,\r
32 IN CONST EFI_PEI_SERVICES **PeiServices\r
d4a78455 33 )\r
34{\r
1436aea4
MK
35 EFI_STATUS Status;\r
36 EFI_PEI_READ_ONLY_VARIABLE2_PPI *Variable;\r
37 UINTN Size;\r
38 UINT64 GlobalErrorLevel;\r
39 UINT32 HobErrorLevel;\r
d1102dba 40\r
d4a78455 41 Status = PeiServicesLocatePpi (\r
42 &gEfiPeiReadOnlyVariable2PpiGuid,\r
43 0,\r
44 NULL,\r
45 (VOID **)&Variable\r
46 );\r
47 if (!EFI_ERROR (Status)) {\r
1436aea4 48 Size = sizeof (GlobalErrorLevel);\r
d1102dba
LG
49 Status = Variable->GetVariable (\r
50 Variable,\r
d4a78455 51 DEBUG_MASK_VARIABLE_NAME,\r
52 &gEfiGenericVariableGuid,\r
53 NULL,\r
54 &Size,\r
55 &GlobalErrorLevel\r
56 );\r
57 if (!EFI_ERROR (Status)) {\r
58 //\r
59 // Build the GUID'ed HOB for DXE\r
60 //\r
61 HobErrorLevel = (UINT32)GlobalErrorLevel;\r
62 BuildGuidDataHob (\r
63 &gEfiGenericVariableGuid,\r
64 &HobErrorLevel,\r
65 sizeof (HobErrorLevel)\r
66 );\r
67 }\r
68 }\r
69\r
70 return EFI_SUCCESS;\r
71}\r