summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/psim/tools/psim
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/psim/tools/psim')
-rwxr-xr-xc/src/lib/libbsp/powerpc/psim/tools/psim44
1 files changed, 44 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/tools/psim b/c/src/lib/libbsp/powerpc/psim/tools/psim
new file mode 100755
index 0000000000..8ff6b7337c
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/psim/tools/psim
@@ -0,0 +1,44 @@
+#! /bin/sh
+#
+# Shell script to ease invocation of the powerpc simulator
+#
+# $Id$
+#
+
+TREE_FILE=psim_tree.${LOGNAME}
+GDB_FILE=gdb_tree.${LOGNAME}
+
+# GDB_DEBUG="-t sem-device"
+# RUN_DEBUG="-t sem_device"
+
+# Build this user's device tree file
+echo "/#address-cells 2" > ${TREE_FILE}
+echo "/openprom/options/oea-memory-size 4194304" >> ${TREE_FILE}
+# These require the semaphore and shared memory device models.
+# echo "/shm@0xc0000000/reg 0xc0000000 0x10000" >> ${TREE_FILE}
+# echo "/shm@0xc0000000/key ${RTEMS_SHM_KEY}" >> ${TREE_FILE}
+# echo "/sem@0xc0010000/reg 0xc0010000 12" >> ${TREE_FILE}
+# echo "/sem@0xc0010000/key ${RTEMS_SHM_SEMAPHORE_KEY}" >> ${TREE_FILE}
+# echo "/sem@0xc0010000/value -1" >> ${TREE_FILE}
+#
+# Build this user's gdb script
+echo "tar sim -f ${TREE_FILE} ${GDB_DEBUG}" > ${GDB_FILE}
+echo "load" >> ${GDB_FILE}
+echo "b _Internal_error_Occurred" >> ${GDB_FILE}
+echo "b rtems_fatal_error_occurred" >> ${GDB_FILE}
+echo "b __assert" >> ${GDB_FILE}
+
+RUN=powerpc-rtems-run
+GDB=powerpc-rtems-gdb
+
+case $0 in
+ *gdb*)
+ ${GDB} -x ${GDB_FILE} $*
+ ;;
+ *)
+ ${RUN} -f ${TREE_FILE} $*
+ ${RUN} -f ${TREE_FILE} ${RUN_DEBUG} $*
+ ;;
+esac
+exit $?
+