]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/plr/doc/threadini.sh
Some minor fixes.
[l4.git] / l4 / pkg / plr / doc / threadini.sh
1 #!/bin/bash
2
3 nothreads=$(nm $1 | grep pthread_mutex_lock | grep ' w pthread');
4 havekip=$(nm $1 | grep libc_backend_rt_clock_gettime)
5
6 echo "# Auto-generated for '$1'"
7 echo ""
8 echo "[general]"
9 echo "   page_fault_handling = rw"
10 if [ -z "$nothreads" ]; then
11         echo "  threads             = yes"
12 fi
13 if [ "$havekip" ]; then
14         echo "  intercept_kip       = yes"
15 fi
16 echo "#  redundancy          = none"
17 echo "#  redundancy          = dual"
18 echo "#  redundancy          = triple"
19 echo ""
20 echo "#  logbuf               = 16"
21 echo "#  logreplica           = true"
22 echo "#  logrdtsc             = true"
23 echo "#  logtimeout           = 15"
24 echo ""
25 echo "#  print_vcpu_state    = y"
26 echo "#  log                 = all"
27 echo ""
28
29 echo "#[watchdog]"
30 echo "#  enable                                 = y"
31 echo "#  timeout                                = 1000000"
32 echo "#  singlestepping = n"
33 echo ""
34
35 if [ -z "$nothreads" ]; then
36         echo "[threads]"
37         function_list="__pthread_lock __pthread_unlock pthread_mutex_lock pthread_mutex_unlock"
38         for f in $function_list; do
39                 nm $1 | grep -E "\ $f" | sed -re "s/([0-9a-f]+) [TW] ($f(_rep)?)/  \2 = 0x\1/" | sed -re "s/[_]*pthread_//g"
40         done
41         echo ""
42 fi
43
44 if [ "$havekip" ]; then
45         echo "[kip-time]"
46         for v in libc_backend_rt_clock_gettime mono_clock_gettime; do
47         echo -n "  "; nm $1 | grep $v |  sed -re 's/([0-9a-f]+) [wWtT] (.*)/\2 = 0x\1/g';
48         done
49 fi