pal_loader 889 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. if [ "$1" == "SGX" ]; then
  3. export SGX=1
  4. shift
  5. fi
  6. RUNTIME_DIR=$(/usr/bin/dirname $(readlink -f ${BASH_SOURCE[0]}))
  7. PAL_HOST=$(/usr/bin/make --quiet -f $RUNTIME_DIR/../Pal/src/Makefile.Host print_host 2>&1)
  8. MANIFEST=
  9. PERF_CMD=
  10. GDB_CMD=
  11. PAL_CMD=$RUNTIME_DIR/pal-$PAL_HOST
  12. if [ "$GDB" == "1" ]; then
  13. GDB=$RUNTIME_DIR/pal_gdb-$PAL_HOST
  14. if [ ! -f $GDB ]; then
  15. GDB="/usr/bin/gdb"
  16. fi
  17. fi
  18. if [ "$GDB" != "" ] && [ "$GDB" != "0" ]; then
  19. GDB_CMD="$GDB --args"
  20. fi
  21. if [ "$PERF" == "1" ]; then
  22. GDB_CMD="perf stat"
  23. fi
  24. if [ "$SEC" == "1" ]; then
  25. echo "Use reference monitor"
  26. PAL_CMD=$RUNTIME_DIR/pal_sec-$PAL_HOST
  27. fi
  28. while [ "$1" != "" ];
  29. do
  30. if [ "$MANIFEST" == "" ]; then
  31. MANIFEST=$1
  32. shift
  33. continue
  34. fi
  35. break
  36. done
  37. if [ ! -f "$PAL_CMD" ]; then
  38. echo "$PAL_CMD is not built, or security mode is not supported"
  39. exit 1
  40. fi
  41. exec $GDB_CMD $PAL_CMD $MANIFEST "$@"