From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B4654222CF1B6 for ; Wed, 10 Jan 2018 07:21:22 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2018 07:26:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,340,1511856000"; d="scan'208";a="9032523" Received: from lgao4-mobl1.ccr.corp.intel.com ([10.254.210.57]) by fmsmga002.fm.intel.com with ESMTP; 10 Jan 2018 07:26:33 -0800 From: Liming Gao To: edk2-devel@lists.01.org Date: Wed, 10 Jan 2018 23:24:25 +0800 Message-Id: <20180110152432.15964-1-liming.gao@intel.com> X-Mailer: git-send-email 2.11.0.windows.1 MIME-Version: 1.0 Subject: [Patch 0/7] EDK2: Enable XCODE5 tool chain with NASM source X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2018 15:21:23 -0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Use nasm source file for X86 tool chain, then ASM and S file can be removed. 2. Update Nasm source file to resolve the absolute addressing. 3. Verify OVMF IA32, IA32X64 and X64 boot to shell functionality with XCODE5 Here is build command. build -p OvmfPkg\OvmfPkgIa32X64.dsc -a IA32 -a X64 -DSMM_REQUIRE=TRUE -DSECURE_BOOT_ENABLE=TRUE -DUSE_OLD_SHELL build -p OvmfPkg\OvmfPkgIa32.dsc -a IA32 -a X64 -DSMM_REQUIRE=TRUE -DSECURE_BOOT_ENABLE=TRUE -DUSE_OLD_SHELL build -p OvmfPkg\OvmfPkgX64.dsc -a IA32 -a X64 -DSMM_REQUIRE=TRUE -DSECURE_BOOT_ENABLE=TRUE -DUSE_OLD_SHELL 4. Known limitation is XCODE5 doesn't support HII resource section generation. So, new UEFI shell application tftp can't be used. Old shell is used. Liming Gao (7): BaseTools: Disable -Wno-unused-const-variable in XCODE5 RELEASE target BaseTools: Use nasm as the preferred assembly source files for XCODE5 tool MdeModulePkg: Update DebugSupportDxe to pass XCODE5 build UefiCpuPkg: Update CpuExceptionHandlerLib pass XCODE5 tool chain UefiCpuPkg: Update SmmCpuFeatureLib pass XCODE5 tool chain UefiCpuPkg: Update PiSmmCpuDxeSmm pass XCODE5 tool chain OvmfPkg: Don't add -mno-mmx -mno-sse option for XCODE5 tool chain BaseTools/Conf/tools_def.template | 7 ++-- .../Universal/DebugSupportDxe/X64/AsmFuncs.nasm | 6 ++-- OvmfPkg/OvmfPkgIa32.dsc | 4 ++- OvmfPkg/OvmfPkgIa32X64.dsc | 4 ++- OvmfPkg/OvmfPkgX64.dsc | 4 ++- .../X64/ExceptionHandlerAsm.nasm | 29 +++++++++++---- .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.nasm | 6 +++- UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c | 8 +++-- UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.h | 11 +++++- .../Library/SmmCpuFeaturesLib/X64/SmiEntry.nasm | 42 +++++++++++++++------- .../SmmCpuFeaturesLib/X64/SmiException.nasm | 10 +++--- UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c | 6 +++- UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm | 5 ++- UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm | 6 +++- UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 8 ++++- UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 20 ++++++++++- UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.nasm | 9 +++-- UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.nasm | 32 +++++++++++------ UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.nasm | 4 +-- UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.nasm | 17 +++++++-- 20 files changed, 174 insertions(+), 64 deletions(-) -- 2.11.0.windows.1