From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c0b::22b; helo=mail-it0-x22b.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it0-x22b.google.com (mail-it0-x22b.google.com [IPv6:2607:f8b0:4001:c0b::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 39C0A20337341 for ; Mon, 25 Jun 2018 00:33:51 -0700 (PDT) Received: by mail-it0-x22b.google.com with SMTP id k17-v6so11402995ita.0 for ; Mon, 25 Jun 2018 00:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=pFfm5AHYrNWmFEPNW9f3jqabRnOzz1jTX46FslJ4/Jw=; b=MpIQFbYOlTsV34tiA3/N4CTOc7ZyHWeb6fcKj2W6uQbqv5M9YY/DMOrviIgy49C/6S ffL/u1uq8Kh2wyE5of5aVPmODdifQ2w3ReaG5vX40mKtMgFdfypTpC7wsWtIQO9GCWS1 AoF7ZfWpMjv/3EVy8VJnE7qgR+LBqwJyFZ1/Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=pFfm5AHYrNWmFEPNW9f3jqabRnOzz1jTX46FslJ4/Jw=; b=YDzzUPMJeJc1rcg1rRjIPuTAb4pOSyxUgGbvw0lDVkgjlagIrvpt/eJ2BSWQ4PsXPR az6T6m7mL8Y8z5pcE2qOT4AZQjD+ZcC2QJ79m8FjJyMYMq5b1xLGGhmLM/hbJLOi3F/z EK4XvSpMNoGwwZD/IKYrjOIGudGvndFbPB1ZB0FiLKxbshhK9JL2a1X6Fn6BdROwEFMt Hzlwxb7SaBzqBuVl4GdTZ7rP2H4mBT/YLsyKkkZJgnwvxuDTktDRMG9YxvNRrFqkQC0e EU1OsjoW2RGaS+KYulqHap+Bf9Mdb9b5m3E3OISzKnesniUwQUWm+LIDC+xBI1FOhrN9 DK2A== X-Gm-Message-State: APt69E2/66KyNUMgralNvyhyLQ+vfo4VtJUtc6DSD+6DG6FRetKwGTcT kbLLsVwhBhsq4LfJneNO2NXuPSUKJhYcpASaqB1NrA== X-Google-Smtp-Source: ADUXVKIlp4DJAHByXN47uiWZN7muT0hRe3JCTbV6cSXrFLvvq9zN2+q+tA/1XyUqh5xBFVx4G+3xgcnylgJixPKvTTg= X-Received: by 2002:a02:4187:: with SMTP id n7-v6mr9050074jad.86.1529912030169; Mon, 25 Jun 2018 00:33:50 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a6b:bbc7:0:0:0:0:0 with HTTP; Mon, 25 Jun 2018 00:33:49 -0700 (PDT) In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E29D4B5@SHSMSX104.ccr.corp.intel.com> References: <20180623005740.43200-1-christopher.co@microsoft.com> <20180623005740.43200-2-christopher.co@microsoft.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E29D4B5@SHSMSX104.ccr.corp.intel.com> From: Ard Biesheuvel Date: Mon, 25 Jun 2018 09:33:49 +0200 Message-ID: To: "Gao, Liming" Cc: Chris Co , "edk2-devel@lists.01.org" , Leif Lindholm , Charles Garcia-Tobin 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 07:33:51 -0000 Content-Type: text/plain; charset="UTF-8" (+ Charles) On 25 June 2018 at 03:38, Gao, Liming wrote: > Chris: > GCC 4.9 targeting arm-none-eabi. This GCC4.9 should run in Windows OS. So, could you give some info where windows GCC49 is from. > OK, so first of all, could you elaborate on why we need a different ASL compiler? We have spent the past 5 years in conference calls and meeting rooms to standardize ACPI on ARM, so I am rather disappointed that we have this discrepancy. Then, could you explain why you chose GCC49? We have GCC5 now as well, which enables LTO and generally results in smaller code. Also, is there any way we could parameterize the existing GCCx toolchains to allow a different ASL compiler to be selected? Thanks, Ard. >>-----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 = 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) from 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-linux-gnu, aarch64- >>linux-gnu, or arm-linux-gnueabi >> # Optional: >>@@ -5466,6 +5472,61 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS = >>DEF(GCC49_AARCH64_DLINK_FLAGS) >> NOOPT_GCC49_AARCH64_DLINK_FLAGS = >>DEF(GCC49_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0 >> NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 - >>O0 >> >>+########################################################## >>########################## >>+# >>+# GCC49xASL - This configuration is used to compile under Windows to >>produce >>+# PE/COFF binaries using GCC 4.9. >>+# >>+########################################################## >>########################## >>+*_GCC49xASL_*_*_FAMILY = GCC >>+ >>+*_GCC49xASL_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make >>+*_GCC49xASL_*_*_DLL = ENV(GCC49_DLL) >>+*_GCC49xASL_*_ASL_PATH = DEF(WIN_ASL_BIN) >>+ >>+*_GCC49xASL_*_PP_FLAGS = DEF(GCC_PP_FLAGS) >>+*_GCC49xASL_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) >>+*_GCC49xASL_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) >>+*_GCC49xASL_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) >>+*_GCC49xASL_*_APP_FLAGS = >>+*_GCC49xASL_*_ASL_FLAGS = /MsftInternal >>+*_GCC49xASL_*_ASL_OUTFLAGS = DEF(MS_ASL_OUTFLAGS) >>+ >>+################## >>+# GCC49xASL ARM definitions >>+################## >>+*_GCC49xASL_ARM_OBJCOPY_PATH = noop >>+*_GCC49xASL_ARM_CC_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_SLINK_PATH = ENV(GCC49_ARM_PREFIX)ar >>+*_GCC49xASL_ARM_DLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_ASLDLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_ASM_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_PP_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_VFRPP_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_ASLCC_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_ASLPP_PATH = ENV(GCC49_ARM_PREFIX)gcc >>+*_GCC49xASL_ARM_RC_PATH = ENV(GCC49_ARM_PREFIX)objcopy >>+*_GCC49xASL_ARM_SYMRENAME_PATH = noop >>+ >>+*_GCC49xASL_ARM_ARCHCC_FLAGS = -mthumb >>+*_GCC49xASL_ARM_PLATFORM_FLAGS = -march=armv7-a >>+ >>+*_GCC49xASL_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) >>+*_GCC49xASL_ARM_ASLDLINK_FLAGS = >>DEF(GCC49_ARM_ASLDLINK_FLAGS) >>+*_GCC49xASL_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS) >>+*_GCC49xASL_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) >>+*_GCC49xASL_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) >>+*_GCC49xASL_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) >>+*_GCC49xASL_ARM_PLATFORM_FLAGS = -march=armv7-a >>+*_GCC49xASL_ARM_PP_FLAGS = $(ARCHCC_FLAGS) >>$(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) >>+*_GCC49xASL_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) >>+*_GCC49xASL_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) >>$(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) >>+*_GCC49xASL_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS) >>+ >>+ DEBUG_GCC49xASL_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) - >>O0 >>+RELEASE_GCC49xASL_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) - >>Wno-unused-but-set-variable -Wno-unused-const-variable >>+ NOOPT_GCC49xASL_ARM_CC_FLAGS = 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 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel