From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 2335B20972831 for ; Sun, 24 Jun 2018 18:38:28 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jun 2018 18:38:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,268,1526367600"; d="scan'208";a="240269893" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga006.fm.intel.com with ESMTP; 24 Jun 2018 18:38:28 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 24 Jun 2018 18:38:28 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 24 Jun 2018 18:38:27 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.87]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.116]) with mapi id 14.03.0319.002; Mon, 25 Jun 2018 09:38:24 +0800 From: "Gao, Liming" To: Chris Co , "edk2-devel@lists.01.org" CC: "Zhu, Yonghong" , Leif Lindholm Thread-Topic: [PATCH v2 1/1] BaseTools/tools_def: Add GCC49xASL Toolchain support Thread-Index: AQHUCo025Yvcza0FRU+cJ4rJFggoQqRwNGbQ Date: Mon, 25 Jun 2018 01:38:23 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E29D4B5@SHSMSX104.ccr.corp.intel.com> References: <20180623005740.43200-1-christopher.co@microsoft.com> <20180623005740.43200-2-christopher.co@microsoft.com> In-Reply-To: <20180623005740.43200-2-christopher.co@microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2 1/1] BaseTools/tools_def: Add GCC49xASL Toolchain support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jun 2018 01:38:29 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Chris: GCC 4.9 targeting arm-none-eabi. This GCC4.9 should run in Windows OS. S= o, could you give some info where windows GCC49 is from. Thanks Liming >-----Original Message----- >From: Chris Co [mailto:Christopher.Co@microsoft.com] >Sent: Saturday, June 23, 2018 8:58 AM >To: edk2-devel@lists.01.org >Cc: Zhu, Yonghong ; Gao, Liming >; Leif Lindholm >Subject: [PATCH v2 1/1] BaseTools/tools_def: Add GCC49xASL Toolchain >support > >From: Chris Co > >This patch adds a build option for invoking GCC49 ARM cross >compiler in the Windows environment to build firmware for >Windows 10 IoT devices using NXP i.MX6 and i.MX7 SoCs. > >In addition, this build option targets the Microsoft ASL >compiler instead of iasl. The Microsoft ASL compiler is >necessary to expose Windows-specific Pin Function Config >Descriptors on Windows IoT devices. > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Christopher Co >Cc: Yonghong Zhu >Cc: Liming Gao >Cc: Leif Lindholm >--- > BaseTools/Conf/tools_def.template | 61 ++++++++++++++++++++ > 1 file changed, 61 insertions(+) > >diff --git a/BaseTools/Conf/tools_def.template >b/BaseTools/Conf/tools_def.template >index 11a79029b890..f7a375ebaf1e 100755 >--- a/BaseTools/Conf/tools_def.template >+++ b/BaseTools/Conf/tools_def.template >@@ -393,6 +393,12 @@ DEFINE DTC_BIN =3D ENV(DTC_PREFIX)dtc > # Required to build platforms or ACPI tables: > # Intel(r) ACPI Compiler from > # https://acpica.org/downloads >+# GCC49xASL -Windows- Requires: >+# GCC 4.9 targeting arm-none-eabi >+# Optional: >+# Required to build platforms or ACPI tables: >+# Microsoft ASL ACPI Compiler (asl.exe) fro= m Windows WDK >+# https://docs.microsoft.com/en-us/windows- >hardware/drivers/download-the-wdk > # GCC5 -Linux,Windows- Requires: > # GCC 5 with LTO support, targeting x86_64-li= nux-gnu, aarch64- >linux-gnu, or arm-linux-gnueabi > # Optional: >@@ -5466,6 +5472,61 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS =3D >DEF(GCC49_AARCH64_DLINK_FLAGS) > NOOPT_GCC49_AARCH64_DLINK_FLAGS =3D >DEF(GCC49_AARCH64_DLINK_FLAGS) -z common-page-size=3D0x1000 -O0 > NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x20 - >O0 > >+########################################################## >########################## >+# >+# GCC49xASL - This configuration is used to compile under Windows to >produce >+# PE/COFF binaries using GCC 4.9. >+# >+########################################################## >########################## >+*_GCC49xASL_*_*_FAMILY =3D GCC >+ >+*_GCC49xASL_*_MAKE_PATH =3D DEF(GCC_HOST_PREFIX)make >+*_GCC49xASL_*_*_DLL =3D ENV(GCC49_DLL) >+*_GCC49xASL_*_ASL_PATH =3D DEF(WIN_ASL_BIN) >+ >+*_GCC49xASL_*_PP_FLAGS =3D DEF(GCC_PP_FLAGS) >+*_GCC49xASL_*_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) >+*_GCC49xASL_*_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) >+*_GCC49xASL_*_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) >+*_GCC49xASL_*_APP_FLAGS =3D >+*_GCC49xASL_*_ASL_FLAGS =3D /MsftInternal >+*_GCC49xASL_*_ASL_OUTFLAGS =3D DEF(MS_ASL_OUTFLAGS) >+ >+################## >+# GCC49xASL ARM definitions >+################## >+*_GCC49xASL_ARM_OBJCOPY_PATH =3D noop >+*_GCC49xASL_ARM_CC_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_SLINK_PATH =3D ENV(GCC49_ARM_PREFIX)ar >+*_GCC49xASL_ARM_DLINK_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_ASLDLINK_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_ASM_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_PP_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_VFRPP_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_ASLCC_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_ASLPP_PATH =3D ENV(GCC49_ARM_PREFIX)gcc >+*_GCC49xASL_ARM_RC_PATH =3D ENV(GCC49_ARM_PREFIX)objcopy >+*_GCC49xASL_ARM_SYMRENAME_PATH =3D noop >+ >+*_GCC49xASL_ARM_ARCHCC_FLAGS =3D -mthumb >+*_GCC49xASL_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a >+ >+*_GCC49xASL_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) >+*_GCC49xASL_ARM_ASLDLINK_FLAGS =3D >DEF(GCC49_ARM_ASLDLINK_FLAGS) >+*_GCC49xASL_ARM_ASM_FLAGS =3D DEF(GCC49_ARM_ASM_FLAGS) >+*_GCC49xASL_ARM_DLINK_FLAGS =3D DEF(GCC49_ARM_DLINK_FLAGS) >+*_GCC49xASL_ARM_DLINK2_FLAGS =3D DEF(GCC49_ARM_DLINK2_FLAGS) >+*_GCC49xASL_ARM_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) >+*_GCC49xASL_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a >+*_GCC49xASL_ARM_PP_FLAGS =3D $(ARCHCC_FLAGS) >$(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) >+*_GCC49xASL_ARM_RC_FLAGS =3D DEF(GCC_ARM_RC_FLAGS) >+*_GCC49xASL_ARM_VFRPP_FLAGS =3D $(ARCHCC_FLAGS) >$(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) >+*_GCC49xASL_ARM_CC_XIPFLAGS =3D DEF(GCC49_ARM_CC_XIPFLAGS) >+ >+ DEBUG_GCC49xASL_ARM_CC_FLAGS =3D DEF(GCC49_ARM_CC_FLAGS) - >O0 >+RELEASE_GCC49xASL_ARM_CC_FLAGS =3D DEF(GCC49_ARM_CC_FLAGS) - >Wno-unused-but-set-variable -Wno-unused-const-variable >+ NOOPT_GCC49xASL_ARM_CC_FLAGS =3D DEF(GCC49_ARM_CC_FLAGS) - >O0 >+ > >########################################################### >######################### > # > # GCC 5 - This configuration is used to compile under Linux to produce >-- >2.16.2.gvfs.1.33.gf5370f1