From 53e17f06f8370b8e28243c330c1a72c8e4ae4b48 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 12:50:49 -0800 Subject: [PATCH 01/11] MdePkg: UnitTestHostBaseLib: Added preprocessor for AArch64 instances This change adds a few preprocessors to build AArch64 host based unit tests properly. An AArch64 specific instance of `gUnitTestHostBaseLib` is created to abstract the reference of arch specific special instructions. Signed-off-by: Kun Qin --- MdePkg/Library/BaseLib/AArch64UnitTestHost.c | 30 +++++++++++++++++++ .../Library/BaseLib/UnitTestHostBaseLib.inf | 1 + .../Include/Library/UnitTestHostBaseLib.h | 10 +++++++ 3 files changed, 41 insertions(+) create mode 100644 MdePkg/Library/BaseLib/AArch64UnitTestHost.c diff --git a/MdePkg/Library/BaseLib/AArch64UnitTestHost.c b/MdePkg/Library/BaseLib/AArch64UnitTestHost.c new file mode 100644 index 00000000000..353510f65be --- /dev/null +++ b/MdePkg/Library/BaseLib/AArch64UnitTestHost.c @@ -0,0 +1,30 @@ +/** @file + IA32/X64 specific Unit Test Host functions. + + Copyright (c) 2020, Intel Corporation. All rights reserved.
+ Copyright (c), Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "UnitTestHost.h" + +/// +/// Common services +/// +STATIC UNIT_TEST_HOST_BASE_LIB_COMMON mUnitTestHostBaseLibCommon = { + UnitTestHostBaseLibEnableInterrupts, + UnitTestHostBaseLibDisableInterrupts, + UnitTestHostBaseLibEnableDisableInterrupts, + UnitTestHostBaseLibGetInterruptState, +}; + +/// +/// Structure of hook functions for BaseLib functions that can not be used from +/// a host application. A simple emulation of these function is provided by +/// default. A specific unit test can provide its own implementation for any +/// of these functions. +/// +UNIT_TEST_HOST_BASE_LIB gUnitTestHostBaseLib = { + &mUnitTestHostBaseLibCommon +}; diff --git a/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf b/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf index 1d53f940f5d..81660010db3 100644 --- a/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf +++ b/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf @@ -215,6 +215,7 @@ AArch64/SetJumpLongJump.asm | MSFT AArch64/CpuBreakpoint.asm | MSFT AArch64/SpeculationBarrier.asm | MSFT + AArch64UnitTestHost.c [Sources.RISCV64] Math64.c diff --git a/MdePkg/Test/UnitTest/Include/Library/UnitTestHostBaseLib.h b/MdePkg/Test/UnitTest/Include/Library/UnitTestHostBaseLib.h index fb9bfd39478..59ea8349cf7 100644 --- a/MdePkg/Test/UnitTest/Include/Library/UnitTestHostBaseLib.h +++ b/MdePkg/Test/UnitTest/Include/Library/UnitTestHostBaseLib.h @@ -77,6 +77,8 @@ UINTN IN UINTN Value ); +#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64) + /** Prototype of service that reads and returns an IA32_DESCRIPTOR. @@ -491,6 +493,8 @@ VOID IN UINTN ValueSize ); +#endif // MDE_CPU_IA32 || MDE_CPU_X64 + /// /// Common services /// @@ -501,6 +505,8 @@ typedef struct { UNIT_TEST_HOST_BASE_LIB_READ_BOOLEAN GetInterruptState; } UNIT_TEST_HOST_BASE_LIB_COMMON; +#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64) + /// /// IA32/X64 services /// @@ -567,6 +573,8 @@ typedef struct { UNIT_TEST_HOST_BASE_LIB_ASM_PATCH_INSTRUCTION_X86 PatchInstructionX86; } UNIT_TEST_HOST_BASE_LIB_X86; +#endif // MDE_CPU_IA32 || MDE_CPU_X64 + /// /// Data structure that contains pointers structures of common services and CPU /// architctuire specific services. Support for additional CPU architectures @@ -574,7 +582,9 @@ typedef struct { /// typedef struct { UNIT_TEST_HOST_BASE_LIB_COMMON *Common; + #if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64) UNIT_TEST_HOST_BASE_LIB_X86 *X86; + #endif } UNIT_TEST_HOST_BASE_LIB; extern UNIT_TEST_HOST_BASE_LIB gUnitTestHostBaseLib; From 03c045ee13aeaeb225a16577dadc73f4039dad3e Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 12:56:25 -0800 Subject: [PATCH 02/11] UnitTestFrameworkPkg: FunctionMockLib: Do not support AArch64 Current FunctionMockLib is relying on the subhoob module to support the backend operation by bitbanging the binary post-disassembly. However subhook module is a x64 centric module and does not support AArch64 usage. This change removes the mock function support for AArch64. The functionality will need other solutions to be properly supported. Signed-off-by: Kun Qin --- UnitTestFrameworkPkg/Include/Library/FunctionMockLib.h | 8 +++++++- .../Library/FunctionMockLib/FunctionMockLib.inf | 2 ++ .../Test/UnitTestFrameworkPkgHostTest.dsc | 6 ++++-- UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc | 6 ++++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/UnitTestFrameworkPkg/Include/Library/FunctionMockLib.h b/UnitTestFrameworkPkg/Include/Library/FunctionMockLib.h index bf7a7066560..01015141c9d 100644 --- a/UnitTestFrameworkPkg/Include/Library/FunctionMockLib.h +++ b/UnitTestFrameworkPkg/Include/Library/FunctionMockLib.h @@ -9,7 +9,9 @@ #define FUNCTION_MOCK_LIB_H_ #include -#include +#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64) + #include +#endif #include ////////////////////////////////////////////////////////////////////////////// @@ -53,6 +55,7 @@ ////////////////////////////////////////////////////////////////////////////// // The below macros are private and should not be used outside this file. +#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64) #define MOCK_FUNCTION_HOOK_DECLARATIONS(FUNC) \ static subhook::Hook Hook##FUNC; \ struct MockContainer_##FUNC { \ @@ -60,6 +63,9 @@ ~MockContainer_##FUNC (); \ }; \ MockContainer_##FUNC MockContainerInst_##FUNC; +#else +#define MOCK_FUNCTION_HOOK_DECLARATIONS(FUNC) +#endif // This definition implements a constructor and destructor inside a nested // class to enable automatic installation of the hooks to the associated diff --git a/UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf b/UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf index 44c5946be53..9f7dc60bcdc 100644 --- a/UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf +++ b/UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf @@ -24,6 +24,8 @@ [LibraryClasses] GoogleTestLib + +[LibraryClasses.IA32, LibraryClasses.X64] SubhookLib [Packages] diff --git a/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc b/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc index 1d45d4ba477..d9262a126ce 100644 --- a/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc +++ b/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc @@ -32,10 +32,12 @@ # Build HOST_APPLICATION Libraries # UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf - UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf UnitTestFrameworkPkg/Library/GoogleTestLib/GoogleTestLib.inf UnitTestFrameworkPkg/Library/Posix/DebugLibPosix/DebugLibPosix.inf UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf - UnitTestFrameworkPkg/Library/SubhookLib/SubhookLib.inf UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLibCmocka.inf UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf + +[Components.IA32, Components.X64] + UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf + UnitTestFrameworkPkg/Library/SubhookLib/SubhookLib.inf diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc index 7090dda019b..3553796423c 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc @@ -18,8 +18,6 @@ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLibNull/BaseCacheMaintenanceLibNull.inf CmockaLib|UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf GoogleTestLib|UnitTestFrameworkPkg/Library/GoogleTestLib/GoogleTestLib.inf - SubhookLib|UnitTestFrameworkPkg/Library/SubhookLib/SubhookLib.inf - FunctionMockLib|UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf UnitTestLib|UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLibCmocka.inf DebugLib|UnitTestFrameworkPkg/Library/Posix/DebugLibPosix/DebugLibPosix.inf MemoryAllocationLib|UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf @@ -29,6 +27,10 @@ NULL|UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf NULL|MdePkg/Library/StackCheckLibNull/StackCheckLibNullHostApplication.inf +[LibraryClasses.IA32.HOST_APPLICATION, LibraryClasses.X64.HOST_APPLICATION] + SubhookLib|UnitTestFrameworkPkg/Library/SubhookLib/SubhookLib.inf + FunctionMockLib|UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf + [BuildOptions] MSFT:*_*_*_CC_FLAGS = /MTd GCC:*_*_*_CC_FLAGS = -fno-pie From 029e9b655d476736654ed45a1603099f49175da3 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:00:06 -0800 Subject: [PATCH 03/11] UnitTestFrameworkPkg: SampleGoogleTest: No divide-by-zero test for AArch64 AArch64 does not have divide-by-zero exception. This change modifies the corresponding test to work with AArch64. Signed-off-by: Kun Qin --- .../GoogleTest/Sample/SampleGoogleTest/SampleGoogleTest.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleGoogleTest.cpp b/UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleGoogleTest.cpp index c13c66f97a5..c043b8a07ab 100644 --- a/UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleGoogleTest.cpp +++ b/UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleGoogleTest.cpp @@ -431,7 +431,12 @@ TEST (SanitizerTests, DivideByZeroDeathTest) { // // Divide by 0 should be caught by address sanitizer, log details, and exit // + #if !defined (MDE_CPU_AARCH64) || !defined (__GNUC__) EXPECT_DEATH (DivideWithNoParameterChecking (10, 0), "ERROR: AddressSanitizer: "); + #else + UINTN Ret = DivideWithNoParameterChecking (10, 0); + ASSERT_EQ (Ret, (UINTN)0); + #endif } /** From 36fba867154cb3bfe4bb8227827335aa65fd7e0a Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:34:26 -0800 Subject: [PATCH 04/11] UnitTestFrameworkPkg: CmockaLib: Support float operations This change adds the support of float operations for AArch64 host based unit tests by overriding the compiler flags. Signed-off-by: Kun Qin --- UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf | 2 ++ UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf b/UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf index 357883752a3..7b9430302e1 100644 --- a/UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf +++ b/UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf @@ -33,3 +33,5 @@ GCC:NOOPT_*_*_CC_FLAGS = -O0 GCC:*_*_IA32_CC_FLAGS = -m32 GCC:*_*_X64_CC_FLAGS = -m64 + # Need to use floats in this library. Got rid of -mgeneral-regs-only to do so. + GCC:*_*_AARCH64_CC_XIPFLAGS == -mstrict-align diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml index 4ad09337e97..e391c96195d 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml @@ -123,6 +123,8 @@ "loongarch", "loongson", "xunit", + "mgeneral", # build flag for AArch64 cmocka in the INF + "mstrict", # build flag for AArch64 cmocka in the INF ], "IgnoreStandardPaths": [], # Standard Plugin defined paths that should be ignore "AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported) From dc1c60589b44328e372adccd17620c2e36111b30 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:43:56 -0800 Subject: [PATCH 05/11] UnitTestFrameworkPkg: UnitTestDebugAssertLib: GCC support for AArch64 This change adds the GCC compiler flag for AArch64 targets. Signed-off-by: Kun Qin --- .../UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf | 1 + 1 file changed, 1 insertion(+) diff --git a/UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf b/UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf index 7458df79486..4db7bd349f1 100644 --- a/UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf +++ b/UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf @@ -34,3 +34,4 @@ MSFT:*_*_*_CC_FLAGS == /c /EHs /Zi /Od /MTd GCC:*_*_IA32_CC_FLAGS == -g -c -fshort-wchar -fexceptions -O0 -m32 -malign-double -fno-pie GCC:*_*_X64_CC_FLAGS == -g -c -fshort-wchar -fexceptions -O0 -m64 -fno-pie "-DEFIAPI=__attribute__((ms_abi))" + GCC:*_*_AARCH64_CC_FLAGS == -g -c -fshort-wchar -fexceptions -O0 -fno-pie "-DEFIAPI=__attribute__((ms_abi))" From e2452ed68528b3c454ec7d7d72868c394a1cb4c7 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:50:46 -0800 Subject: [PATCH 06/11] UnitTestFrameworkPkg: Build host based tests for AArch64 target This change adds the DLINK flags for AArch64 targets to support host based unit tests to be run on native AArch64 host systems. Signed-off-by: Kun Qin --- UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc index 3553796423c..0b157f7f632 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc @@ -59,6 +59,7 @@ MSFT:*_*_*_DLINK_FLAGS == /out:"$(BIN_DIR)\$(MODULE_NAME_GUID).exe" /pdb:"$(BIN_DIR)\$(MODULE_NAME_GUID).pdb" /IGNORE:4001 /NOLOGO /SUBSYSTEM:CONSOLE /DEBUG /STACK:0x40000,0x40000 /WHOLEARCHIVE MSFT:*_*_IA32_DLINK_FLAGS = /MACHINE:I386 MSFT:*_*_X64_DLINK_FLAGS = /MACHINE:AMD64 + MSFT:*_*_AARCH64_DLINK_FLAGS = /MACHINE:ARM64 MSFT:*_VS2015_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" MSFT:*_VS2015x86_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" @@ -79,6 +80,7 @@ GCC:*_*_*_CC_FLAGS = -D GOOGLETEST_HOST_UNIT_TEST_BUILD=1 GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m32 -no-pie GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m64 -no-pie + GCC:*_*_AARCH64_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -no-pie # # Surround our static libraries with whole-archive, so constructor-based test registration works properly. # Note that we need to --no-whole-archive before linking system libraries. From e68b57971d305d6db6a760f94aeff7ceebed8129 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:52:44 -0800 Subject: [PATCH 07/11] UnitTestFrameworkPkg: Test: Adding AArch64 target This change adds the AArch64 target for host based unit tests. Signed-off-by: Kun Qin --- UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc | 2 +- .../Test/UnitTestFrameworkPkgHostTestExpectFail.dsc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc b/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc index d9262a126ce..46d5a13cbb0 100644 --- a/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc +++ b/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTest.dsc @@ -12,7 +12,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/UnitTestFrameworkPkg/HostTest - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = NOOPT SKUID_IDENTIFIER = DEFAULT diff --git a/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTestExpectFail.dsc b/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTestExpectFail.dsc index 73b4cb1b929..d53e01111ad 100644 --- a/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTestExpectFail.dsc +++ b/UnitTestFrameworkPkg/Test/UnitTestFrameworkPkgHostTestExpectFail.dsc @@ -19,7 +19,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/UnitTestFrameworkPkg/HostTestExpectFail - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = NOOPT SKUID_IDENTIFIER = DEFAULT From 6b7f129aa8272cbb623cc7cf41f8dc835f6ce13b Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:53:45 -0800 Subject: [PATCH 08/11] MdePkg: Test: Adding AArch64 target This change adds the AArch64 target for host based unit tests. Signed-off-by: Kun Qin --- MdePkg/Test/MdePkgHostTest.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdePkg/Test/MdePkgHostTest.dsc b/MdePkg/Test/MdePkgHostTest.dsc index 006a61c2a44..caf90d9c833 100644 --- a/MdePkg/Test/MdePkgHostTest.dsc +++ b/MdePkg/Test/MdePkgHostTest.dsc @@ -13,7 +13,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/MdePkg/HostTest - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = NOOPT SKUID_IDENTIFIER = DEFAULT From 9575c59d17220d3a0690f6c5e18372db4c669d81 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:55:12 -0800 Subject: [PATCH 09/11] MdeModulePkg: Test: Adding AArch64 target This change adds the AArch64 target for host based unit tests. Signed-off-by: Kun Qin --- MdeModulePkg/Test/MdeModulePkgHostTest.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc index a26c3cb991a..4d0d383c1b4 100644 --- a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc +++ b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc @@ -13,7 +13,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/MdeModulePkg/HostTest - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = NOOPT SKUID_IDENTIFIER = DEFAULT From 57e46368f5aaf135517d7d29cbe52dfc2f0595c6 Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:56:50 -0800 Subject: [PATCH 10/11] CryptoPkg: Test: Adding AArch64 target This change adds the AArch64 target for host based unit tests. Signed-off-by: Kun Qin --- CryptoPkg/Test/CryptoPkgHostUnitTest.dsc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc b/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc index b59a1b0ab13..b1b26283dcc 100644 --- a/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc +++ b/CryptoPkg/Test/CryptoPkgHostUnitTest.dsc @@ -13,7 +13,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/CryptoPkg/HostTest - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = NOOPT SKUID_IDENTIFIER = DEFAULT @@ -33,7 +33,7 @@ # Build HOST_APPLICATION that tests the SampleUnitTest # CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf -[Components.IA32, Components.X64] +[Components.IA32, Components.X64, Components.AARCH64] # # Build HOST_APPLICATION that tests the SampleUnitTest # From ab6ef07a5fafe7f3fcf2a3a6ea3c29317413730e Mon Sep 17 00:00:00 2001 From: Kun Qin Date: Tue, 20 Jan 2026 13:57:08 -0800 Subject: [PATCH 11/11] PolicyServicePkg: Test: Adding AArch64 target This change adds the AArch64 target for host based unit tests. Signed-off-by: Kun Qin --- PolicyServicePkg/Test/PolicyServicePkgHostTest.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PolicyServicePkg/Test/PolicyServicePkgHostTest.dsc b/PolicyServicePkg/Test/PolicyServicePkgHostTest.dsc index 20096657820..8191e98b428 100644 --- a/PolicyServicePkg/Test/PolicyServicePkgHostTest.dsc +++ b/PolicyServicePkg/Test/PolicyServicePkgHostTest.dsc @@ -12,7 +12,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/PolicyServicePkg/HostTest - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = NOOPT SKUID_IDENTIFIER = DEFAULT