summaryrefslogtreecommitdiffstats
path: root/sim-scripts/tsim-support
blob: 0185508685f6c98b86f448366431290b655a6b1c (plain) (blame)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#
#  TSIM Shared Support
#
#

runBSP=tsim-${tsimName}
bspUsesGDBSimulator="no"
bspGeneratesGDBCommands="yes"
bspSupportsGDBServerMode="yes"
bspNeedsSttySane="no"
bspNeedsDos2Unix="yes"

type ${runBSP} >/dev/null 2>&1
if [ $? -ne 0 ] ; then
  echo "Unable to find ${runBSP} on PATH."
  exit 1
fi

# required for this to run
echo | ${runBSP} -nohaspnet >/dev/null
if [ $? -ne 0 ] ; then
  echo "No TSIM License for this machine."
  exit 1
fi

runARGS()
{
  echo "-c ${bspTreeFile} ${1}"
}

gdbServerARGS()
{
  echo "-gdb"
}

bspGenerateGDBCommands()
{
cat <<EOF
tar remote :1234
load
EOF
}

checkBSPFaults()
{
  return 0
}

bspLimit()
{
  testname=$1
  case ${testname} in
    *stackchk*)limit=15 ;;
    *stackchk*)limit=20 ;;
    *fatal*)   limit=1 ;;
    *minimum*) limit=1 ;;
    *block05*) limit=70 ;;
    *crypt*)   limit=200 ;;
    *psxtime*) 
       case ${tsimName} in
         leon)  limit=240 ;;
         leon3) limit=240 ;;
         *)     limit=180 ;;
       esac
       ;;
    *)         limit=60 ;;
  esac
  echo ${limit}
}

bspSimTrustedToExit="yes"
bspGeneratesDeviceTree="yes"
bspTreeFile=${tsimName}.conf

bspGenerateDeviceTree()
{
  if [ ${inGDBScript} = no ] ; then
    if [ ${coverage} = yes ] ; then
      echo "coverage enable"
    fi
    if [ ${limit} -eq 0 ] ; then
      echo "go ${tsimGoAddress}"
    else
      echo "go ${tsimGoAddress} ${limit} s"
    fi
    if [ ${coverage} = yes ] ; then
      echo "coverage save ${2}.cov"
      echo "shell sleep 1"           # give tsim time to actually write file
    fi
    echo "quit"
  fi
}