From 57f8489c5a031c75fa32b8f9d7bde534c50f4c7b Mon Sep 17 00:00:00 2001 From: Savva Mitrofanov Date: Wed, 14 Dec 2022 16:29:41 +0600 Subject: [PATCH] OvmfPkg/PlatformInitLib: Corrects initializers to fix NOOPT build Fixes OvmfPkg build using XCODE5, CLANGPDB and CLANGDWARF toolchains for NOOPT target Signed-off-by: Savva Mitrofanov --- OvmfPkg/Library/PlatformInitLib/IntelTdx.c | 10 +++++----- OvmfPkg/Library/PlatformInitLib/MemDetect.c | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/OvmfPkg/Library/PlatformInitLib/IntelTdx.c b/OvmfPkg/Library/PlatformInitLib/IntelTdx.c index 2459fc3c45..37c0663e0d 100644 --- a/OvmfPkg/Library/PlatformInitLib/IntelTdx.c +++ b/OvmfPkg/Library/PlatformInitLib/IntelTdx.c @@ -154,9 +154,9 @@ BspAcceptMemoryResourceRange ( BOOLEAN EFIAPI IsInValidList ( - IN UINT32 Value, - IN UINT32 *ValidList, - IN UINT32 ValidListLength + IN UINT32 Value, + IN CONST UINT32 *ValidList, + IN UINT32 ValidListLength ) { UINT32 index; @@ -190,7 +190,7 @@ ValidateHobList ( ) { EFI_PEI_HOB_POINTERS Hob; - UINT32 EFI_BOOT_MODE_LIST[] = { + STATIC CONST UINT32 EFI_BOOT_MODE_LIST[] = { BOOT_WITH_FULL_CONFIGURATION, BOOT_WITH_MINIMAL_CONFIGURATION, BOOT_ASSUMING_NO_CONFIGURATION_CHANGES, @@ -205,7 +205,7 @@ ValidateHobList ( BOOT_IN_RECOVERY_MODE }; - UINT32 EFI_RESOURCE_TYPE_LIST[] = { + STATIC CONST UINT32 EFI_RESOURCE_TYPE_LIST[] = { EFI_RESOURCE_SYSTEM_MEMORY, EFI_RESOURCE_MEMORY_MAPPED_IO, EFI_RESOURCE_IO, diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c index b8feae4309..94f1a1235b 100644 --- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c +++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c @@ -535,10 +535,12 @@ PlatformAddressWidthFromCpuid ( { UINT32 RegEax, RegEbx, RegEcx, RegEdx, Max; UINT8 PhysBits; - CHAR8 Signature[13] = { 0 }; + CHAR8 Signature[13]; BOOLEAN Valid = FALSE; BOOLEAN Page1GSupport = FALSE; + ZeroMem (Signature, sizeof (Signature)); + AsmCpuid (0x80000000, &RegEax, &RegEbx, &RegEcx, &RegEdx); *(UINT32 *)(Signature + 0) = RegEbx; *(UINT32 *)(Signature + 4) = RegEdx;