4769cc3c0c
Update the existing tianocore payload (which didn't do any more than adding an elf payload with a specific name) to fetch and build the UEFI corebootPayloadPackage, using the coreboot toolchain for compilation. Only checkout the commit when changing commit IDs or if version is master, instead of every time it builds. Currently working if patches are merged into the upstream edk2 repository (to be included in a follow-on patch). Change-Id: I0bf4cedec2d6821ae2a04184ebb5cf88979ccee3 Signed-off-by: Martin Roth <martinroth@google.com> Signed-off-by: Philipp Deppenwiese <zaolin@das-labor.org> Signed-off-by: Evelyn Huang <evhuang@google.com> Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/15057 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
184 lines
9.9 KiB
Text
Executable file
184 lines
9.9 KiB
Text
Executable file
#
|
|
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
|
# Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
|
|
# Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
|
|
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
|
|
#The following has been adapted from the BaseTools/Conf/tools_def.template file
|
|
#and is used to direct the Tianocore build to use coreboot's crossgcc toolchain
|
|
#rather than the host machine's toolchain
|
|
|
|
DEFINE COREBOOT_IA32_PREFIX = ENV(GCC_CC_x86_32)
|
|
DEFINE COREBOOT_X64_PREFIX = ENV(GCC_CC_x86_64)
|
|
DEFINE COREBOOT_ARM_PREFIX = ENV(GCC_CC_arm)
|
|
DEFINE COREBOOT_ARM64_PREFIX = ENV(GCC_CC_arm64)
|
|
|
|
DEFINE COREBOOT_IA32_OBJCOPY = ENV(OBJCOPY_x86_32)
|
|
DEFINE COREBOOT_X64_OBJCOPY = ENV(OBJCOPY_x86_64)
|
|
DEFINE COREBOOT_ARM_OBJCOPY = ENV(OBJCOPY_arm)
|
|
DEFINE COREBOOT_ARM64_OBJCOPY = ENV(OBJCOPY_arm64)
|
|
|
|
####################################################################################
|
|
#
|
|
# COREBOOT - This configuration is used to compile under Linux to produce
|
|
# PE/COFF binaries using coreboot's toolchain.
|
|
#
|
|
##################################################################################
|
|
|
|
*_COREBOOT_*_*_FAMILY = GCC
|
|
|
|
*_COREBOOT_*_MAKE_PATH = make
|
|
*_COREBOOT_*_*_DLL = ENV(GCC5_DLL)
|
|
*_COREBOOT_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
|
|
|
*_COREBOOT_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
|
*_COREBOOT_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
|
|
*_COREBOOT_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
|
*_COREBOOT_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
|
|
*_COREBOOT_*_APP_FLAGS =
|
|
*_COREBOOT_*_ASL_FLAGS = DEF(IASL_FLAGS)
|
|
*_COREBOOT_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
|
|
|
|
##################
|
|
# COREBOOT IA32 definitions
|
|
##################
|
|
*_COREBOOT_IA32_OBJCOPY_PATH = DEF(COREBOOT_IA32_OBJCOPY)
|
|
*_COREBOOT_IA32_CC_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_SLINK_PATH = DEF(COREBOOT_IA32_PREFIX)-ar
|
|
*_COREBOOT_IA32_DLINK_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASLDLINK_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASM_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_PP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_VFRPP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASLCC_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASLPP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_RC_PATH = DEF(COREBOOT_IA32_OBJCOPY)
|
|
|
|
*_COREBOOT_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto
|
|
*_COREBOOT_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
|
|
*_COREBOOT_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
|
|
*_COREBOOT_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS)
|
|
*_COREBOOT_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
|
|
*_COREBOOT_IA32_OBJCOPY_FLAGS =
|
|
*_COREBOOT_IA32_NASM_FLAGS = -f elf32
|
|
|
|
DEBUG_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
|
|
DEBUG_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
|
|
|
|
RELEASE_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable
|
|
RELEASE_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
|
|
|
|
NOOPT_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0
|
|
NOOPT_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0
|
|
|
|
##################
|
|
# COREBOOT X64 definitions
|
|
##################
|
|
*_COREBOOT_X64_OBJCOPY_PATH = DEF(COREBOOT_X64_OBJCOPY)
|
|
*_COREBOOT_X64_CC_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_SLINK_PATH = DEF(COREBOOT_X64_PREFIX)-ar
|
|
*_COREBOOT_X64_DLINK_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASLDLINK_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASM_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_PP_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_VFRPP_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASLCC_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASLPP_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_RC_PATH = DEF(COREBOOT_X64_OBJCOPY)
|
|
|
|
*_COREBOOT_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto
|
|
*_COREBOOT_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
|
|
*_COREBOOT_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
|
|
*_COREBOOT_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
|
|
*_COREBOOT_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
|
|
*_COREBOOT_X64_OBJCOPY_FLAGS =
|
|
*_COREBOOT_X64_NASM_FLAGS = -f elf64
|
|
|
|
DEBUG_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os
|
|
DEBUG_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
|
|
|
|
RELEASE_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable
|
|
RELEASE_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
|
|
|
|
NOOPT_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0
|
|
NOOPT_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0
|
|
|
|
##################
|
|
# COREBOOT ARM definitions
|
|
##################
|
|
*_COREBOOT_ARM_CC_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_SLINK_PATH = ENV(COREBOOT_ARM_PREFIX)-ar
|
|
*_COREBOOT_ARM_DLINK_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASLDLINK_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASM_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_PP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_VFRPP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASLCC_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASLPP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_RC_PATH = ENV(COREBOOT_ARM_OBJCOPY)
|
|
|
|
*_COREBOOT_ARM_ARCHCC_FLAGS = -mthumb
|
|
*_COREBOOT_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
|
*_COREBOOT_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS)
|
|
*_COREBOOT_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
|
|
*_COREBOOT_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
|
|
*_COREBOOT_ARM_PLATFORM_FLAGS = -march=armv7-a
|
|
*_COREBOOT_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
|
|
*_COREBOOT_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
|
|
*_COREBOOT_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
|
|
*_COREBOOT_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS)
|
|
|
|
DEBUG_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
|
|
DEBUG_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS)
|
|
|
|
RELEASE_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable
|
|
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
|
|
|
|
NOOPT_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
|
|
NOOPT_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0
|
|
|
|
##################
|
|
# COREBOOT AARCH64 definitions
|
|
##################
|
|
*_COREBOOT_AARCH64_CC_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_SLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)-ar
|
|
*_COREBOOT_AARCH64_DLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASLDLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASM_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_PP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_VFRPP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASLCC_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASLPP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_RC_PATH = ENV(COREBOOT_ARM64_OBJCOPY)
|
|
|
|
*_COREBOOT_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
|
*_COREBOOT_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
|
|
*_COREBOOT_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
|
|
*_COREBOOT_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
|
|
*_COREBOOT_AARCH64_PLATFORM_FLAGS =
|
|
*_COREBOOT_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
|
|
*_COREBOOT_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
|
|
*_COREBOOT_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
|
|
*_COREBOOT_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS)
|
|
|
|
DEBUG_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small
|
|
DEBUG_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
|
|
DEBUG_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
|
|
|
|
RELEASE_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer
|
|
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
|
|
|
|
NOOPT_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small
|
|
NOOPT_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0
|
|
NOOPT_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
|
|
|