From 16c8cfc81054aa76e133eab1033560052727cab5 Mon Sep 17 00:00:00 2001 From: Abdul Lateef Attar Date: Wed, 3 Jan 2024 15:22:39 +0530 Subject: DynamicTablesPkg: Fix IA32 compilation errors Add the support for X64 compilation to the CI. - Fix the signed and unsigned variable comparision. warning C4018: '>': signed/unsigned mismatch - Fix the NOOPT build error for IA32 by replacing 64bit shift operator with LShiftU64. Cc: Pierre Gondois Cc: Sami Mujawar Signed-off-by: Abdul Lateef Attar Reviewed-by: Sami Mujawar --- DynamicTablesPkg/DynamicTables.dsc.inc | 2 +- DynamicTablesPkg/DynamicTablesPkg.dsc | 2 +- .../Common/TableHelperLib/ConfigurationManagerObjectParser.c | 2 +- DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c | 7 +++++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/DynamicTablesPkg/DynamicTables.dsc.inc b/DynamicTablesPkg/DynamicTables.dsc.inc index 0e67207f8e..8c99574097 100644 --- a/DynamicTablesPkg/DynamicTables.dsc.inc +++ b/DynamicTablesPkg/DynamicTables.dsc.inc @@ -27,7 +27,7 @@ # DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf -[Components.X64] +[Components.IA32, Components.X64] # # Dynamic Table Factory Dxe # diff --git a/DynamicTablesPkg/DynamicTablesPkg.dsc b/DynamicTablesPkg/DynamicTablesPkg.dsc index a2db14efaf..2f35ac82f2 100644 --- a/DynamicTablesPkg/DynamicTablesPkg.dsc +++ b/DynamicTablesPkg/DynamicTablesPkg.dsc @@ -15,7 +15,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x0001001a OUTPUT_DIRECTORY = Build/DynamicTables - SUPPORTED_ARCHITECTURES = ARM|AARCH64|X64 + SUPPORTED_ARCHITECTURES = ARM|AARCH64|IA32|X64 BUILD_TARGETS = DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER = DEFAULT diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c index ce494816ed..c1a7528419 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -1130,7 +1130,7 @@ ParseCmObjDesc ( &RemainingSize, 1 ); - if ((RemainingSize > CmObjDesc->Size) || + if ((RemainingSize > (INTN)CmObjDesc->Size) || (RemainingSize < 0)) { ASSERT (0); diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c index d264975eb0..549cee1b3f 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c @@ -170,7 +170,10 @@ AddAcpiHeader ( CfgMfrInfo->OemId[2], CfgMfrInfo->OemId[3] ) | - ((UINT64)Generator->AcpiTableSignature << 32); + LShiftU64 ( + (UINT64)Generator->AcpiTableSignature, + 32 + ); } // UINT32 OemRevision @@ -257,7 +260,7 @@ AddSsdtAcpiHeader ( CfgMfrInfo->OemId[2], CfgMfrInfo->OemId[3] ) | - ((UINT64)Generator->AcpiTableSignature << 32); + LShiftU64 ((UINT64)Generator->AcpiTableSignature, 32); } if (AcpiTableInfo->OemRevision != 0) { -- cgit v1.2.3