# This is a list of toolchains that are supported on this board.
set_board_info target_install  {mmix-knuth-mmixware}

# Load the generic configuration for this board. This will define any
# routines needed to communicate with the board.
load_generic_config "sim"

# Unset the slow_simulator flag; this simulator isn't slow.  (I haven't
# found documentation as to what constitutes a "slow" simulator and
# there's no reference to that variable in the GCC test-suite, but all
# tests I've found work.)
unset_board_info slow_simulator

# We don't use basic-sim.exp and setup_sim because the simulator, called
# "mmix", is external to the build tree.  If nobody set the simulator
# name, we set it to "mmix", so the rest of the framework works.  Let $SIM
# override.
if ![board_info $board exists sim] {
    if [info exists SIM] {
      set_board_info sim $SIM
    } else {
      # Has to exist in the users path.
      set_board_info sim mmix
    }
}

# No default multilib options are needed for this board.
process_multilib_options ""

set_board_info is_simulator 1

# It isn't visible in the target triple, so we set it explicitly.  The
# *linked* format is currently mmo, but those cases where this matters we
# can deal with separately.
set_board_info obj_format "elf"   

# The compiler used to build for this board. This has *nothing* to do
# with what compiler is tested if we're testing gcc.
set_board_info compiler  "[find_gcc]"

# We only support newlib on this target. We assume that all multilib
# options have been specified before we get here.
set_board_info cflags  "[newlib_include_flags]"

# We put the stack in the code segment, so trampolines work; the mmix
# simulator does not allow code to be executed in the "normal" documented
# data and stack segments.  Use a somewhat magic number, so stack addresses
# are easily recognized when debugging.
set_board_info ldflags "[newlib_link_flags] -Wl,--defsym,__Stack_start=0x1680a00000000000"   

# No linker script needed - the simulator is the main environment for this
# target.
set_board_info ldscript ""

# Return codes aren't supported by the simulator.
set_board_info needs_status_wrapper 1

# FIXME: Some gdb board variables are usually here.  I currently have
# no clue what to set them to, so I won't.

