summaryrefslogtreecommitdiff
path: root/invoke-foundation-v8-bare-metal.sh
blob: 0b6ecf586d31d553f85434a5866964bd03e08f44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#! /bin/sh
# Convert a 'standard' command-line into an invocation of a Foundation model.

if [ "x$MODELHOME" = "x" ]; then
    MODELHOME=$HOME
fi

PATH=${PATH}:${MODELHOME}/linaro-armv8/Foundation_v8pkg/models/Linux64_GCC-4.1
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MODELHOME}/linaro-armv8/Foundation_v8pkg/models/Linux64_GCC-4.1
model="$(which Foundation_v8)"
image="$1"

# Let's see if the image is big-endian
bigendian="$(od -An -v -j5 -N1 -t x1 $image)"

case ${bigendian} in
  " 01")
    bigendian=""
    ;;
  " 02")
    bigendian="--bigendian"
    ;;
  *)
    echo "Unrecognised endianess: ${bigendian}" >&2
    exit 1
    ;;
esac

${model} ${bigendian} --image ${image} --semihost-cmd="$*" --quiet