summaryrefslogtreecommitdiff
path: root/baseboards/vr5000-ddb.exp
diff options
context:
space:
mode:
Diffstat (limited to 'baseboards/vr5000-ddb.exp')
-rw-r--r--baseboards/vr5000-ddb.exp40
1 files changed, 40 insertions, 0 deletions
diff --git a/baseboards/vr5000-ddb.exp b/baseboards/vr5000-ddb.exp
new file mode 100644
index 0000000..8cf4b0f
--- /dev/null
+++ b/baseboards/vr5000-ddb.exp
@@ -0,0 +1,40 @@
+# This is a list of toolchains that are supported on this board.
+set_board_info target_install {mips64vr5000-elf mips64-elf}
+
+# Load the generic configuration for this board. This will define a basic
+# set of routines needed by the tool to communicate with the board.
+load_generic_config "vr5000";
+
+# It's a big-endian board.
+process_multilib_options "big-endian"
+
+# We only support newlib on this target. We assume that all multilib
+# options have been specified before we get here.
+set_board_info compiler "[find_gcc]"
+set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"
+set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"
+# DDB linker script.
+set_board_info ldscript "-Wl,-Tddb.ld";
+
+# GDB doesn't return exit statuses and we need to indicate this;
+# the standard GCC wrapper will work with this target.
+set_board_info needs_status_wrapper 1;
+
+# The GDB protocol used with this board.
+set_board_info gdb_protocol "ddb";
+
+# This is needed for compiling nullstone.
+set_board_info nullstone,lib "mips-clock.c"
+set_board_info nullstone,ticks_per_sec 3782018
+
+# Sometimes the board gets into a state where it always generates SIGFPE.
+set_board_info unreliable 1
+
+# Can't pass arguments to the program.
+set_board_info noargs 1
+
+# No support for signals.
+set_board_info gdb,nosignals 1
+
+# We need to clear the floating-point status register before running.
+set_board_info gdb_init_command "print/x \$fsr = 0x0"