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

common.rc (1872B)


      1#!/bin/sh
      2#
      3# Common routines for docker test scripts.
      4#
      5# Copyright (c) 2016 Red Hat Inc.
      6#
      7# Authors:
      8#  Fam Zheng <famz@redhat.com>
      9#
     10# This work is licensed under the terms of the GNU GPL, version 2
     11# or (at your option) any later version. See the COPYING file in
     12# the top-level directory.
     13
     14# This might be set by ENV of a docker container... it is always
     15# overriden by TARGET_LIST if the user sets it. We special case
     16# "none" to allow for other options like --disable-tcg to restrict the
     17# builds we eventually do.
     18if test "$DEF_TARGET_LIST" = "none"; then
     19    DEF_TARGET_LIST=""
     20else
     21    DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
     22fi
     23
     24requires_binary()
     25{
     26    found=0
     27    for c in $@; do
     28        for d in /bin /usr/bin /usr/local/bin
     29        do
     30            if test -f "$d/$c"
     31            then
     32                found=1
     33            fi
     34        done
     35    done
     36    if test "$found" != "1"
     37    then
     38        echo "Prerequisite '$c' not present, skip"
     39        exit 0
     40    fi
     41}
     42
     43configure_qemu()
     44{
     45    config_opts="--enable-werror \
     46                 ${TARGET_LIST:+--target-list=${TARGET_LIST}} \
     47                 --prefix=$INSTALL_DIR \
     48                 $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \
     49                 $@"
     50    echo "Configure options:"
     51    echo $config_opts
     52    $QEMU_SRC/configure $config_opts || \
     53        { cat config.log && test_fail "Failed to run 'configure'"; }
     54}
     55
     56build_qemu()
     57{
     58    configure_qemu $@
     59    make $MAKEFLAGS
     60}
     61
     62check_qemu()
     63{
     64    # default to make check unless the caller specifies
     65    if [ $# = 0 ]; then
     66        INVOCATION="check"
     67    else
     68        INVOCATION="$@"
     69    fi
     70
     71    make $MAKEFLAGS $INVOCATION
     72}
     73
     74test_fail()
     75{
     76    echo "$@"
     77    exit 1
     78}
     79
     80prep_fail()
     81{
     82    echo "$@"
     83    exit 2
     84}
     85
     86install_qemu()
     87{
     88    make install $MAKEFLAGS DESTDIR=$PWD/=destdir
     89    ret=$?
     90    rm -rf $PWD/=destdir
     91    return $ret
     92}