From nobody Mon Feb 9 19:05:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+100704+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+100704+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1678062133; cv=none; d=zohomail.com; s=zohoarc; b=jWxtg3KmrYwdYqUnXPZ6OEyMYMUuLwA3FgAvk4s++YFdoAr1XWt7MPSmbQv6jUdxNujrJ4w/aYRAHpHazjoj3+jgsV4uxIfRxXjqaXR+AH9L9J3S2n1eLLcf35STArezFiazPRGYXbEim81fQ7C+29Ia3pFhf3s5WR/Q6HCyqJ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678062133; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=jY3pkpzw6EvoRM8IGGfXSq7K9hDIwzbTdEErBE8oOI0=; b=JEvnJHCOtKtqge2fJC9HV8b5SLo5f4E9iSAol1uFEKuWgMKdmZfd0jUhJVC5c/fKo1piQO813Z5r9+zv0wmI44dieOqe0lTGy62rLfc0OcdT6ZOellXzlkv9l7s27uywPh9ucnAluQ6Kvpl8xVPdRwMa3qPZaLbpuY0n+iIvN/M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+100704+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1678062133778117.47605310795223; Sun, 5 Mar 2023 16:22:13 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 1C5PYY1788612xm1NJaYN75z; Sun, 05 Mar 2023 16:22:13 -0800 X-Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.22191.1678062132259075315 for ; Sun, 05 Mar 2023 16:22:12 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10640"; a="337758114" X-IronPort-AV: E=Sophos;i="5.98,236,1673942400"; d="scan'208";a="337758114" X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Mar 2023 16:22:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10640"; a="669263312" X-IronPort-AV: E=Sophos;i="5.98,236,1673942400"; d="scan'208";a="669263312" X-Received: from nldesimo-desk.amr.corp.intel.com ([10.24.12.177]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Mar 2023 16:22:11 -0800 From: "Nate DeSimone" To: devel@edk2.groups.io Cc: Andrew Fish , Ray Ni , Michael D Kinney , Chasel Chiu Subject: [edk2-devel] [PATCH v1 2/6] EmulatorPkg: Add ARM Build Target Date: Sun, 5 Mar 2023 16:22:01 -0800 Message-Id: <20230306002205.1640-3-nathaniel.l.desimone@intel.com> In-Reply-To: <20230306002205.1640-1-nathaniel.l.desimone@intel.com> References: <20230306002205.1640-1-nathaniel.l.desimone@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nathaniel.l.desimone@intel.com X-Gm-Message-State: 7SgqmhcyoSzaiqoXzGAKAbCWx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1678062133; bh=qbYe4r73vvP6VWPYZGu+9f88nUzRQieDEz6iLrOHyzE=; h=Cc:Date:From:Reply-To:Subject:To; b=SYD++M5yMmomZgw1FP7jFC4mdWzgITqScBwjJrK+UAqvo0gMrCciK55Fkj6ujXihjW6 bbP801hcKh2wKoLxMo1+LjhjWh2hkiOIWTAIkwu6nazoDo3KXkk4eLgcnTbXZN85n8wSr Lc7LjQTF7gTj0GP6uqwqIFmPaOOtiixOlnI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1678062134081100001 Content-Type: text/plain; charset="utf-8" Adds the ARM build target to EmulatorPkg. Moves PcdDxeIplSwitchToLongMode and PcdDxeIplBuildPageTables to only apply for the IA32 and X64 build targets since they are not used on ARM. Adds ARM compiler instrinsics libraries. Adds NULL implementation of ArmMmuLib. Disables EbcDxe on ARM builds since EbcDxe does not support the ARM architecture. Cc: Andrew Fish Cc: Ray Ni Cc: Michael D Kinney Cc: Chasel Chiu Signed-off-by: Nate DeSimone --- EmulatorPkg/EmulatorPkg.dsc | 17 ++++++++++++++--- EmulatorPkg/EmulatorPkg.fdf | 6 ++++-- EmulatorPkg/build.sh | 13 ++++++++++++- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc index b44435d7e6..19ba60aa23 100644 --- a/EmulatorPkg/EmulatorPkg.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -4,7 +4,7 @@ # The Emulation Platform can be used to debug individual modules, prior to= creating # a real platform. This also provides an example for how an DSC is created. # -# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2023, Intel Corporation. All rights reserved.
# Portions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.
# Copyright (c) Microsoft Corporation. # @@ -19,7 +19,7 @@ DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/Emulator$(ARCH) =20 - SUPPORTED_ARCHITECTURES =3D X64|IA32 + SUPPORTED_ARCHITECTURES =3D X64|IA32|ARM BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT FLASH_DEFINITION =3D EmulatorPkg/EmulatorPkg.fdf @@ -140,6 +140,13 @@ AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLib= Null.inf !endif =20 +[LibraryClasses.ARM] + ArmMmuLib|ArmPkg/Library/ArmMmuNullLib/ArmMmuNullLib.inf + NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf + + # Add support for GCC stack protector + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf + [LibraryClasses.common.SEC] PeiServicesLib|EmulatorPkg/Library/SecPeiServicesLib/SecPeiServicesLib.i= nf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf @@ -211,8 +218,10 @@ TimerLib|EmulatorPkg/Library/DxeTimerLib/DxeTimerLib.inf =20 [PcdsFeatureFlag] - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst= |FALSE + +[PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64] + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables|FALSE =20 [PcdsFixedAtBuild] @@ -368,7 +377,9 @@ !endif } =20 +!if "ARM" not in $(ARCH) MdeModulePkg/Universal/EbcDxe/EbcDxe.inf +!endif MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf EmulatorPkg/EmuThunkDxe/EmuThunk.inf EmulatorPkg/CpuRuntimeDxe/Cpu.inf diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf index 5420756eaa..06f002a624 100644 --- a/EmulatorPkg/EmulatorPkg.fdf +++ b/EmulatorPkg/EmulatorPkg.fdf @@ -1,7 +1,7 @@ ## @file # This is Emulator FDF file with UEFI HII features enabled # -# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2008 - 2023, Intel Corporation. All rights reserved.
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -148,7 +148,9 @@ INF EmulatorPkg/ResetRuntimeDxe/Reset.inf INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf INF EmulatorPkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf -INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf +!if "ARM" not in $(ARCH) + INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf +!endif INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe= .inf INF EmulatorPkg/EmuThunkDxe/EmuThunk.inf INF EmulatorPkg/CpuRuntimeDxe/Cpu.inf diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh index 76c22dfaf8..55f9cbaa1b 100755 --- a/EmulatorPkg/build.sh +++ b/EmulatorPkg/build.sh @@ -1,7 +1,7 @@ #!/bin/bash # # Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.
-# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2023, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -83,6 +83,15 @@ case `uname` in x86_64) HOST_PROCESSOR=3DX64 ;; + armv6l) + HOST_PROCESSOR=3DARM + ;; + armv7l) + HOST_PROCESSOR=3DARM + ;; + armv8l) + HOST_PROCESSOR=3DARM + ;; esac =20 gcc_version=3D$(gcc -v 2>&1 | tail -1 | awk '{print $3}') @@ -174,6 +183,8 @@ case $PROCESSOR in LIB_NAMES=3D"ld-linux-x86-64.so.2 libdl.so.2 crt1.o crti.o crtn.o" LIB_SEARCH_PATHS=3D"/usr/lib/x86_64-linux-gnu /usr/lib64 /lib64 /usr/l= ib /lib" ;; + ARM) + ARCH_SIZE=3D32 esac =20 for libname in $LIB_NAMES --=20 2.30.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100704): https://edk2.groups.io/g/devel/message/100704 Mute This Topic: https://groups.io/mt/97414908/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-