<p>Evelyn Huang has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20756">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">payloads/external/tianocore: Update to build uefi corebootpayload<br><br>Update the existing tianocore payload (which didn't do any more than<br>adding an elf payload with a specific name) to fetch and build the<br>UEFI corebootPayloadPackage<br><br>Only compiles with GCC 4.8, therefore the host compiler is used.<br>Currently working if patches are merged into the upstream<br>edk2 repository.<br><br>Missing: Intel GOP and GOP FB support<br><br>Change-Id: I9719ca5c39fccb856dfe096d449760a937d51fd1<br>Signed-off-by: Martin Roth <martinroth@google.com><br>Signed-off-by: Philipp Deppenwiese <zaolin@das-labor.org><br><br>payloads/external/tianocore/tianocore Use coreboot's toolchain<br><br>Use coreboot's toolchain to build tianocore.<br><br>Change-Id: I0c5553b5b6d6d8e616e0e9bbaaccd41d297e1842<br>Signed-off-by: Evelyn Huang <evhuang@google.com><br>---<br>M .gitignore<br>M payloads/Makefile.inc<br>M payloads/external/Makefile.inc<br>M payloads/external/tianocore/Kconfig<br>M payloads/external/tianocore/Kconfig.name<br>A payloads/external/tianocore/Makefile<br>A payloads/external/tianocore/tools_def.txt<br>7 files changed, 350 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/20756/7</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/.gitignore b/.gitignore<br>index 61be9f7..f61d9dd 100644<br>--- a/.gitignore<br>+++ b/.gitignore<br>@@ -17,6 +17,7 @@<br> payloads/external/FILO/filo/<br> payloads/external/GRUB2/grub2/<br> payloads/external/SeaBIOS/seabios/<br>+payloads/external/tianocore/tianocore/<br> payloads/external/tint/tint/<br> payloads/external/U-Boot/u-boot/<br> payloads/external/Memtest86Plus/memtest86plus/<br>diff --git a/payloads/Makefile.inc b/payloads/Makefile.inc<br>index 2d7edb6..63a2a45 100644<br>--- a/payloads/Makefile.inc<br>+++ b/payloads/Makefile.inc<br>@@ -30,7 +30,8 @@<br> payloads/external/U-Boot \<br> payloads/external/Memtest86Plus \<br> payloads/external/iPXE \<br>-payloads/external/tint<br>+payloads/external/tint \<br>+payloads/external/tianocore<br> <br> payloads/coreinfo/build/coreinfo.elf coreinfo:<br>      $(MAKE) -C payloads/coreinfo defaultbuild<br>diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc<br>index 6bc1651..fba4532 100644<br>--- a/payloads/external/Makefile.inc<br>+++ b/payloads/external/Makefile.inc<br>@@ -114,7 +114,25 @@<br>              DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \<br>           OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE)<br> <br>-# FILO<br>+payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd tianocore: $(DOTCONFIG)<br>+  $(MAKE) -C payloads/external/tianocore all \<br>+         HOSTCC="$(HOSTCC)" \<br>+               CC="$(HOSTCC)" \<br>+           CONFIG_TIANOCORE_MASTER=$(CONFIG_TIANOCORE_MASTER) \<br>+         CONFIG_TIANOCORE_STABLE=$(CONFIG_TIANOCORE_STABLE) \<br>+         CONFIG_TIANOCORE_REVISION=$(CONFIG_TIANOCORE_REVISION) \<br>+             CONFIG_TIANOCORE_REVISION_ID=$(CONFIG_TIANOCORE_REVISION_ID) \<br>+               CONFIG_TIANOCORE_DEBUG=$(CONFIG_TIANOCORE_DEBUG) \<br>+           CONFIG_TIANOCORE_TARGET_IA32=$(CONFIG_TIANOCORE_TARGET_IA32) \<br>+               GCC_CC_x86_32=$(GCC_CC_x86_32) \<br>+             GCC_CC_x86_64=$(GCC_CC_x86_64) \<br>+             GCC_CC_arm=$(GCC_CC_arm) \<br>+           GCC_CC_arm64=$(GCC_CC_arm64) \<br>+               OBJCOPY_x86_32=$(OBJCOPY_x86_32) \<br>+           OBJCOPY_x86_64=$(OBJCOPY_x86_64) \<br>+           OBJCOPY_arm=$(OBJCOPY_arm) \<br>+         OBJCOPY_arm64=$(OBJCOPY_arm64) \<br>+             MFLAGS= MAKEFLAGS=<br> <br> filo:<br>         $(MAKE) -C payloads/external/FILO \<br>diff --git a/payloads/external/tianocore/Kconfig b/payloads/external/tianocore/Kconfig<br>index 8a98bd3..ab53efd 100644<br>--- a/payloads/external/tianocore/Kconfig<br>+++ b/payloads/external/tianocore/Kconfig<br>@@ -1,9 +1,54 @@<br> if PAYLOAD_TIANOCORE<br> <br> config PAYLOAD_FILE<br>-   string "Tianocore firmware volume"<br>- default "COREBOOT.fd"<br>+      string "Tianocore binary"<br>+  default "payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd"<br>        help<br>    The result of a corebootPkg build<br> <br>+choice<br>+      prompt "Tianocore version"<br>+ default TIANOCORE_STABLE<br>+<br>+config TIANOCORE_STABLE<br>+        bool "stable"<br>+      help<br>+   Stable TianoCore version<br>+<br>+config TIANOCORE_MASTER<br>+      bool "master"<br>+      help<br>+   Newest Tianocore version<br>+<br>+config TIANOCORE_REVISION<br>+    bool "git revision"<br>+        help<br>+   Select this option if you have a specific commit or branch<br>+   that you want to use as the revision from which to<br>+   build Tianocore.<br>+<br>+          You will be able to specify the name of a branch or a commit id<br>+      later.<br>+<br>+endchoice<br>+<br>+config TIANOCORE_REVISION_ID<br>+    string "Insert a commit's SHA-1 or a branch name"<br>+      depends on TIANOCORE_REVISION<br>+        default "origin/master"<br>+    help<br>+    The commit's SHA-1 or branch name of the revision to use.<br>+<br>+config TIANOCORE_TARGET_IA32<br>+   bool "Restrict Tianocore target architecture to IA32"<br>+      help<br>+   By default, the Tianocore coreboot Payload Package binary will be<br>+    built for both X64 and IA32 architectures.  By selecting this option,<br>+        the target architecture can be restricted to only IA32.<br>+<br>+config TIANOCORE_DEBUG<br>+        bool "Generate Tianocore debug build"<br>+      help<br>+   Generate a debug build instead of a release build.<br>+<br> endif<br>diff --git a/payloads/external/tianocore/Kconfig.name b/payloads/external/tianocore/Kconfig.name<br>index 11451b0..e57925f 100644<br>--- a/payloads/external/tianocore/Kconfig.name<br>+++ b/payloads/external/tianocore/Kconfig.name<br>@@ -1,8 +1,8 @@<br> config PAYLOAD_TIANOCORE<br>- bool "Tiano Core"<br>+  bool "Tianocore coreboot payload package"<br>   help<br>    Select this option if you want to build a coreboot image<br>-     with a Tiano Core payload. If you don't know what this is<br>+        with a Tianocore payload. If you don't know what this is<br>          about, just leave it enabled.<br> <br>      See https://coreboot.org/Payloads for more information.<br>diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile<br>new file mode 100644<br>index 0000000..720431c<br>--- /dev/null<br>+++ b/payloads/external/tianocore/Makefile<br>@@ -0,0 +1,99 @@<br>+##<br>+## This file is part of the coreboot project.<br>+##<br>+## Copyright (C) 2016 Google Inc.<br>+##<br>+## This program is free software; you can redistribute it and/or modify<br>+## it under the terms of the GNU General Public License as published by<br>+## the Free Software Foundation; version 2 of the License.<br>+##<br>+## This program is distributed in the hope that it will be useful,<br>+## but WITHOUT ANY WARRANTY; without even the implied warranty of<br>+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>+## GNU General Public License for more details.<br>+##<br>+<br>+# force the shell to bash - the edksetup.sh script doesn't work with dash<br>+export SHELL := env bash<br>+<br>+STABLE_COMMIT_ID=315d9d08fd77db1024ccc5307823da8aaed85e2f<br>+TAG-$(CONFIG_TIANOCORE_MASTER)=origin/master<br>+TAG-$(CONFIG_TIANOCORE_STABLE)=$(STABLE_COMMIT_ID)<br>+<br>+project_name=Tianocore<br>+project_dir=$(CURDIR)/tianocore<br>+project_git_repo=https://github.com/tianocore/edk2<br>+<br>+export EDK_TOOLS_PATH=$(project_dir)/BaseTools<br>+<br>+ifeq ($(CONFIG_TIANOCORE_DEBUG),y)<br>+BUILD_TYPE=DEBUG<br>+else<br>+BUILD_TYPE=RELEASE<br>+endif<br>+<br>+all: build<br>+<br>+$(project_dir):<br>+       echo "    Cloning $(project_name) from Git"<br>+        git clone $(project_git_repo) $(project_dir)<br>+<br>+fetch: $(project_dir)<br>+      cd $(project_dir); \<br>+         git show $(TAG-y) >/dev/null 2>&1 ; \<br>+              if [ $$? -ne 0 ] || [ "$(TAG-y)" = "origin/master" ]; then \<br>+                     echo "    Fetching new commits from the $(project_name) repo"; \<br>+                   git fetch; \<br>+         fi<br>+<br>+checkout: fetch<br>+      echo "    Checking out $(project_name) revision $(TAG-y)"<br>+  cd  $(project_dir); \<br>+                git checkout master; \<br>+               git branch -D coreboot 2>/dev/null; \<br>+             git checkout -b coreboot $(TAG-y)<br>+<br>+checktools:<br>+   printf "Checking uuid-dev..."<br>+      echo "#include <uuid/uuid.h>" > libtest.c<br>+ echo "int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }" >> libtest.c<br>+  $(HOSTCC) $(HOSTCCFLAGS) libtest.c -o libtest >/dev/null 2>&1 && printf " found uuid-dev.\n" || \<br>+                ( printf " Not found.\n"; echo "ERROR: please_install uuid-dev (uuid-devel)"; exit 1 )<br>+   rm -rf libtest.c libtest<br>+     printf "Checking nasm..."<br>+  type nasm > /dev/null 2>&1 && printf " found nasm.\n" || \<br>+               ( printf " Not found.\n"; echo "Error: Please install nasm."; exit 1 )<br>+<br>+config: checkout checktools<br>+  unset CC; $(MAKE) -C $(project_dir)/BaseTools<br>+        cd $(project_dir); \<br>+         export EDK_TOOLS_PATH=$(project_dir)/BaseTools; \<br>+            export WORKSPACE=$(project_dir); \<br>+           . ./edksetup.sh BaseTools<br>+<br>+build: config<br>+ echo "    build       $(project_name) $(TAG-y)"<br>+ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y)<br>+        cd $(project_dir); \<br>+         export EDK_TOOLS_PATH=$(project_dir)/BaseTools; \<br>+            export WORKSPACE=$(project_dir); \<br>+           . ./edksetup.sh BaseTools; \<br>+         cat ../tools_def.txt >> $(project_dir)/Conf/tools_def.txt; \<br>+           build -a IA32 -t COREBOOT -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc -b $(BUILD_TYPE)<br>+else<br>+   cd $(project_dir); \<br>+         export EDK_TOOLS_PATH=$(project_dir)/BaseTools; \<br>+            export WORKSPACE=$(project_dir); \<br>+           . ./edksetup.sh BaseTools; \<br>+         cat ../tools_def.txt >> $(project_dir)/Conf/tools_def.txt; \<br>+           build -a IA32 -a X64 -t COREBOOT -p CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc -b $(BUILD_TYPE)<br>+endif<br>+        mv $(project_dir)/Build/CorebootPayloadPkg*/*/FV/UEFIPAYLOAD.fd $(project_dir)/Build/UEFIPAYLOAD.fd<br>+<br>+clean:<br>+      test -d $(project_dir) && (cd $(project_dir); rm -rf Build; rm -f Conf/tools_def.txt) || exit 0<br>+<br>+distclean:<br>+      rm -rf $(project_dir)<br>+<br>+.PHONY: all fetch checkout checktools config build clean distclean<br>diff --git a/payloads/external/tianocore/tools_def.txt b/payloads/external/tianocore/tools_def.txt<br>new file mode 100755<br>index 0000000..99ceec5<br>--- /dev/null<br>+++ b/payloads/external/tianocore/tools_def.txt<br>@@ -0,0 +1,180 @@<br>+#<br>+#  Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR><br>+#  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR><br>+#  Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR><br>+#  Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR><br>+#  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR><br>+#<br>+#  This program and the accompanying materials<br>+#  are licensed and made available under the terms and conditions of the BSD License<br>+#  which accompanies this distribution.  The full text of the license may be found at<br>+#  http://opensource.org/licenses/bsd-license.php<br>+#<br>+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,<br>+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.<br>+#<br>+<br>+DEFINE COREBOOT_IA32_PREFIX    = ENV(GCC_CC_x86_32)<br>+DEFINE COREBOOT_X64_PREFIX     = ENV(GCC_CC_x86_64)<br>+DEFINE COREBOOT_ARM_PREFIX     = ENV(GCC_CC_arm)<br>+DEFINE COREBOOT_ARM64_PREFIX   = ENV(GCC_CC_arm64)<br>+<br>+DEFINE COREBOOT_IA32_OBJCOPY   = ENV(OBJCOPY_x86_32)<br>+DEFINE COREBOOT_X64_OBJCOPY    = ENV(OBJCOPY_x86_64)<br>+DEFINE COREBOOT_ARM_OBJCOPY    = ENV(OBJCOPY_arm)<br>+DEFINE COREBOOT_ARM64_OBJCOPY  = ENV(OBJCOPY_arm64)<br>+<br>+####################################################################################<br>+#<br>+# COREBOOT - This configuration is used to compile under Linux to produce<br>+#           PE/COFF binaries using coreboot's toolchain<br>+#<br>+##################################################################################<br>+<br>+*_COREBOOT_*_*_FAMILY              = GCC<br>+<br>+*_COREBOOT_*_MAKE_PATH               = make<br>+*_COREBOOT_*_*_DLL                   = ENV(GCC5_DLL)<br>+*_COREBOOT_*_ASL_PATH                = DEF(UNIX_IASL_BIN)<br>+<br>+*_COREBOOT_*_PP_FLAGS                = DEF(GCC_PP_FLAGS)<br>+*_COREBOOT_*_ASLPP_FLAGS             = DEF(GCC_ASLPP_FLAGS)<br>+*_COREBOOT_*_ASLCC_FLAGS             = DEF(GCC_ASLCC_FLAGS)<br>+*_COREBOOT_*_VFRPP_FLAGS             = DEF(GCC_VFRPP_FLAGS)<br>+*_COREBOOT_*_APP_FLAGS               =<br>+*_COREBOOT_*_ASL_FLAGS               = DEF(IASL_FLAGS)<br>+*_COREBOOT_*_ASL_OUTFLAGS            = DEF(IASL_OUTFLAGS)<br>+<br>+##################<br>+# COREBOOT IA32 definitions<br>+##################<br>+*_COREBOOT_IA32_OBJCOPY_PATH         = DEF(COREBOOT_IA32_OBJCOPY)<br>+*_COREBOOT_IA32_CC_PATH              = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_SLINK_PATH           = DEF(COREBOOT_IA32_PREFIX)-ar<br>+*_COREBOOT_IA32_DLINK_PATH           = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_ASLDLINK_PATH        = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_ASM_PATH             = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_PP_PATH              = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_VFRPP_PATH           = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_ASLCC_PATH           = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_ASLPP_PATH           = DEF(COREBOOT_IA32_PREFIX)<br>+*_COREBOOT_IA32_RC_PATH              = DEF(COREBOOT_IA32_OBJCOPY)<br>+<br>+*_COREBOOT_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto<br>+*_COREBOOT_IA32_ASLDLINK_FLAGS       = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386<br>+*_COREBOOT_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 -march=i386<br>+*_COREBOOT_IA32_DLINK2_FLAGS         = DEF(GCC5_IA32_DLINK2_FLAGS)<br>+*_COREBOOT_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)<br>+*_COREBOOT_IA32_OBJCOPY_FLAGS        =<br>+*_COREBOOT_IA32_NASM_FLAGS           = -f elf32<br>+<br>+  DEBUG_COREBOOT_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto -Os<br>+  DEBUG_COREBOOT_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386<br>+<br>+RELEASE_COREBOOT_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable<br>+RELEASE_COREBOOT_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386<br>+<br>+  NOOPT_COREBOOT_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -O0<br>+  NOOPT_COREBOOT_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0<br>+<br>+##################<br>+# COREBOOT X64 definitions<br>+##################<br>+*_COREBOOT_X64_OBJCOPY_PATH          = DEF(COREBOOT_X64_OBJCOPY)<br>+*_COREBOOT_X64_CC_PATH               = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_SLINK_PATH            = DEF(COREBOOT_X64_PREFIX)-ar<br>+*_COREBOOT_X64_DLINK_PATH            = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_ASLDLINK_PATH         = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_ASM_PATH              = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_PP_PATH               = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_VFRPP_PATH            = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_ASLCC_PATH            = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_ASLPP_PATH            = DEF(COREBOOT_X64_PREFIX)<br>+*_COREBOOT_X64_RC_PATH               = DEF(COREBOOT_X64_OBJCOPY)<br>+<br>+*_COREBOOT_X64_ASLCC_FLAGS           = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto<br>+*_COREBOOT_X64_ASLDLINK_FLAGS        = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64<br>+*_COREBOOT_X64_ASM_FLAGS             = DEF(GCC5_ASM_FLAGS) -m64<br>+*_COREBOOT_X64_DLINK2_FLAGS          = DEF(GCC5_X64_DLINK2_FLAGS)<br>+*_COREBOOT_X64_RC_FLAGS              = DEF(GCC_X64_RC_FLAGS)<br>+*_COREBOOT_X64_OBJCOPY_FLAGS         =<br>+*_COREBOOT_X64_NASM_FLAGS            = -f elf64<br>+<br>+  DEBUG_COREBOOT_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os<br>+  DEBUG_COREBOOT_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os<br>+<br>+RELEASE_COREBOOT_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable<br>+RELEASE_COREBOOT_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os<br>+<br>+  NOOPT_COREBOOT_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -O0<br>+  NOOPT_COREBOOT_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -O0<br>+<br>+##################<br>+# COREBOOT ARM definitions<br>+##################<br>+*_COREBOOT_ARM_CC_PATH               = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_SLINK_PATH            = ENV(COREBOOT_ARM_PREFIX)-ar<br>+*_COREBOOT_ARM_DLINK_PATH            = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_ASLDLINK_PATH         = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_ASM_PATH              = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_PP_PATH               = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_VFRPP_PATH            = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_ASLCC_PATH            = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_ASLPP_PATH            = ENV(COREBOOT_ARM_PREFIX)<br>+*_COREBOOT_ARM_RC_PATH               = ENV(COREBOOT_ARM_OBJCOPY)<br>+<br>+*_COREBOOT_ARM_ARCHCC_FLAGS          = -mthumb<br>+*_COREBOOT_ARM_ASLCC_FLAGS           = DEF(GCC_ASLCC_FLAGS)<br>+*_COREBOOT_ARM_ASLDLINK_FLAGS        = DEF(GCC5_ARM_ASLDLINK_FLAGS)<br>+*_COREBOOT_ARM_ASM_FLAGS             = DEF(GCC5_ARM_ASM_FLAGS)<br>+*_COREBOOT_ARM_DLINK2_FLAGS          = DEF(GCC5_ARM_DLINK2_FLAGS)<br>+*_COREBOOT_ARM_PLATFORM_FLAGS        = -march=armv7-a<br>+*_COREBOOT_ARM_PP_FLAGS              = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)<br>+*_COREBOOT_ARM_RC_FLAGS              = DEF(GCC_ARM_RC_FLAGS)<br>+*_COREBOOT_ARM_VFRPP_FLAGS           = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)<br>+*_COREBOOT_ARM_CC_XIPFLAGS           = DEF(GCC5_ARM_CC_XIPFLAGS)<br>+<br>+  DEBUG_COREBOOT_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -O0<br>+  DEBUG_COREBOOT_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS)<br>+<br>+RELEASE_COREBOOT_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable<br>+RELEASE_COREBOOT_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm<br>+<br>+  NOOPT_COREBOOT_ARM_CC_FLAGS        = DEF(GCC5_ARM_CC_FLAGS) -O0<br>+  NOOPT_COREBOOT_ARM_DLINK_FLAGS     = DEF(GCC5_ARM_DLINK_FLAGS) -O0<br>+<br>+##################<br>+# COREBOOT AARCH64 definitions<br>+##################<br>+*_COREBOOT_AARCH64_CC_PATH           = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_SLINK_PATH        = ENV(COREBOOT_ARM64_PREFIX)-ar<br>+*_COREBOOT_AARCH64_DLINK_PATH        = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_ASLDLINK_PATH     = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_ASM_PATH          = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_PP_PATH           = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_VFRPP_PATH        = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_ASLCC_PATH        = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_ASLPP_PATH        = ENV(COREBOOT_ARM64_PREFIX)<br>+*_COREBOOT_AARCH64_RC_PATH           = ENV(COREBOOT_ARM64_OBJCOPY)<br>+<br>+*_COREBOOT_AARCH64_ASLCC_FLAGS       = DEF(GCC_ASLCC_FLAGS)<br>+*_COREBOOT_AARCH64_ASLDLINK_FLAGS    = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)<br>+*_COREBOOT_AARCH64_ASM_FLAGS         = DEF(GCC5_AARCH64_ASM_FLAGS)<br>+*_COREBOOT_AARCH64_DLINK2_FLAGS      = DEF(GCC5_AARCH64_DLINK2_FLAGS)<br>+*_COREBOOT_AARCH64_PLATFORM_FLAGS    =<br>+*_COREBOOT_AARCH64_PP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)<br>+*_COREBOOT_AARCH64_RC_FLAGS          = DEF(GCC_AARCH64_RC_FLAGS)<br>+*_COREBOOT_AARCH64_VFRPP_FLAGS       = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)<br>+*_COREBOOT_AARCH64_CC_XIPFLAGS       = DEF(GCC5_AARCH64_CC_XIPFLAGS)<br>+<br>+  DEBUG_COREBOOT_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small<br>+  DEBUG_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000<br>+  DEBUG_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20<br>+<br>+RELEASE_COREBOOT_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer<br>+RELEASE_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64<br>+<br>+  NOOPT_COREBOOT_AARCH64_CC_FLAGS    = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small<br>+  NOOPT_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0<br>+  NOOPT_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0<br>+<br></pre><p>To view, visit <a href="https://review.coreboot.org/20756">change 20756</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/20756"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I0c5553b5b6d6d8e616e0e9bbaaccd41d297e1842 </div>
<div style="display:none"> Gerrit-Change-Number: 20756 </div>
<div style="display:none"> Gerrit-PatchSet: 7 </div>
<div style="display:none"> Gerrit-Owner: Evelyn Huang <evhuang@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Martin Roth <martinroth@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Matt DeVillier <matt.devillier@gmail.com> </div>