]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGenFromHii.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Library / VarCheckHiiLib / VarCheckHiiGenFromHii.c
CommitLineData
1241af95
SZ
1/** @file\r
2 Var Check Hii generation from Hii Database.\r
3\r
4Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
9d510e61 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
1241af95
SZ
6\r
7**/\r
8\r
9#include "VarCheckHiiGen.h"\r
10\r
11/**\r
12 Generate from Hii Database.\r
13\r
14**/\r
15VOID\r
16VarCheckHiiGenFromHiiDatabase (\r
17 VOID\r
18 )\r
19{\r
1436aea4
MK
20 EFI_STATUS Status;\r
21 UINTN BufferSize;\r
22 VOID *Buffer;\r
23 EFI_PHYSICAL_ADDRESS BufferAddress;\r
24 EFI_HII_DATABASE_PROTOCOL *HiiDatabase;\r
1241af95
SZ
25\r
26 //\r
27 // Locate HII Database protocol\r
28 //\r
1436aea4 29 Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID **)&HiiDatabase);\r
1241af95
SZ
30 if (EFI_ERROR (Status)) {\r
31 return;\r
32 }\r
33\r
34 //\r
35 // Call first time with zero buffer length.\r
36 // Should fail with EFI_BUFFER_TOO_SMALL.\r
37 //\r
38 BufferSize = 0;\r
1436aea4
MK
39 Buffer = NULL;\r
40 Status = HiiDatabase->ExportPackageLists (HiiDatabase, 0, &BufferSize, Buffer);\r
1241af95
SZ
41 if (Status == EFI_BUFFER_TOO_SMALL) {\r
42 //\r
43 // Allocate buffer to hold the HII Database.\r
44 //\r
45 Status = gBS->AllocatePages (AllocateAnyPages, EfiBootServicesData, EFI_SIZE_TO_PAGES (BufferSize), &BufferAddress);\r
46 ASSERT_EFI_ERROR (Status);\r
1436aea4 47 Buffer = (VOID *)(UINTN)BufferAddress;\r
1241af95
SZ
48\r
49 //\r
50 // Export HII Database into the buffer.\r
51 //\r
52 Status = HiiDatabase->ExportPackageLists (HiiDatabase, 0, &BufferSize, Buffer);\r
53 ASSERT_EFI_ERROR (Status);\r
54\r
1436aea4 55 DEBUG ((DEBUG_INFO, "VarCheckHiiGenDxeFromHii - HII Database exported at 0x%x, size = 0x%x\n", Buffer, BufferSize));\r
1241af95 56\r
1436aea4 57 #ifdef DUMP_HII_DATA\r
1241af95
SZ
58 DEBUG_CODE (\r
59 DumpHiiDatabase (Buffer, BufferSize);\r
60 );\r
1436aea4 61 #endif\r
1241af95
SZ
62\r
63 VarCheckParseHiiDatabase (Buffer, BufferSize);\r
64\r
65 gBS->FreePages (BufferAddress, EFI_SIZE_TO_PAGES (BufferSize));\r
66 }\r
67}\r