# This is a list of toolchains that are supported on this board.
set_board_info target_install {mips-tx39-elf mips-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.
if { [board_info $board cygmon] == "yes" } {
    load_generic_config "cygmon";
} else {
    load_generic_config "dve";
}

# 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,-Tdve.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.
if { [board_info $board cygmon] == "yes" } {
    set_board_info gdb_protocol "remote"
} else {
    set_board_info gdb_protocol "r3900"
}

# 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"
