cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

edk2-build.sh (1503B)


      1#!/bin/bash
      2
      3# Wrapper shell script for building a  virtual platform firmware in edk2.
      4#
      5# Copyright (C) 2019 Red Hat, Inc.
      6#
      7# This program and the accompanying materials are licensed and made available
      8# under the terms and conditions of the BSD License that accompanies this
      9# distribution. The full text of the license may be found at
     10# <http://opensource.org/licenses/bsd-license.php>.
     11#
     12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
     13# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14
     15set -e -u -C
     16
     17# Save the command line arguments. We need to reset $# to 0 before sourcing
     18# "edksetup.sh", as it will inherit $@.
     19emulation_target=$1
     20shift
     21num_args=0
     22args=()
     23for arg in "$@"; do
     24  args[num_args++]="$arg"
     25done
     26shift $num_args
     27
     28cd edk2
     29
     30export PYTHON_COMMAND=${EDK2_PYTHON_COMMAND:-python3}
     31
     32# Source "edksetup.sh" carefully.
     33set +e +u +C
     34source ./edksetup.sh
     35ret=$?
     36set -e -u -C
     37if [ $ret -ne 0 ]; then
     38  exit $ret
     39fi
     40
     41# Fetch some option arguments, and set the cross-compilation environment (if
     42# any), for the edk2 "build" utility.
     43source ../edk2-funcs.sh
     44edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target")
     45MAKEFLAGS=$(qemu_edk2_quirk_tianocore_1607 "$MAKEFLAGS")
     46edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS")
     47qemu_edk2_set_cross_env "$emulation_target"
     48
     49# Build the platform firmware.
     50build \
     51  --cmd-len=65536 \
     52  -n "$edk2_thread_count" \
     53  --buildtarget=DEBUG \
     54  --tagname="$edk2_toolchain" \
     55  "${args[@]}"