<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>