[PATCH 00/22] Update of the SPARC SIS simulator

Jiri Gaisler
2015-02-17T07:45:25Z

This is a 22-part patch that brings the sis simulator into working
order, and adds support for emulation of the leon2 and leon3 cpus.

The sis simulator was written by me in the mid 90's, to emulate the erc32
processor (SPARC V7). It was included into gdb by Cygnus (Stan Shebs?),
and adapted to also emulate the Fujistu Sparlite processor. The simulator
has not been actively maintained for about 15 years, and suffered some
bit-rot. It's primary use has been for RTEMS development. The erc32
processor is now becoming obsolete, and being replaced by leon2 and
leon3 cpus in many ESA and NASA missions. These patches will
allow sis to be useful again, and support the newer leon2/3 processor.

Jiri Gaisler (22):
sim/erc32: Disassembly in stand-alone mode did not work due to API
change.
sim/erc32: corrected wrong CPU implementation and version ID in %psr
sim/erc32: Perform pseudo-init of system if binary starts from
non-zero address.
sim/erc32: Add FPU support on x86_64 hosts.
sim/erc32: remove unused defines in Makefile and switch off statistics
sim/erc32: Fix incorrect simulator performance report
sim/erc32: file loading via command line did not work
sim/erc32: added -v and -vv command line switches for verbose output
sim/erc32: removed type mismatch compiler warnings
sim/erc32: Switched emulated memory to host endian order.
sim/erc32: use AC_C_BIGENDIAN to probe for host endian.
sim/erc32: Use separate memory_iread() function for instruction
fetching.
sim/erc32: Fix a few compiler warnings
sim/erc32: Use gdb callback for UART I/O when linked with gdb.
sim/erc32: access memory subsystem through struct memsys to allow
multiple configurations.
sim/erc32: use readline.h for readline types and functions.
sim/erc32: Move local extern declarations into sis.h
sim/erc32: Add support for LEON3 processor emulation.
sim/erc32: Added support for the Leon2 processor
sim/erc32: Updated documentation
sim/erc32: add data watchpoint support for all cpu targets.
Added watchpoint support to gdb simulator interface.

gdb/remote-sim.c | 69 +++
include/gdb/remote-sim.h | 24 +
sim/arm/wrapper.c | 26 +
sim/avr/interp.c | 25 +
sim/bfin/Makefile.in | 1 +
sim/common/sim-watch-remote.c | 27 ++
sim/cr16/interp.c | 26 +
sim/cris/Makefile.in | 1 +
sim/erc32/Makefile.in | 33 +-
sim/erc32/NEWS | 108 -----
sim/erc32/README.gdb | 67 ---
sim/erc32/README.leon2 | 53 ++
sim/erc32/README.leon3 | 53 ++
sim/erc32/README.sis | 246 ++++------
sim/erc32/config.in | 15 +
sim/erc32/configure | 225 +++++++++
sim/erc32/configure.ac | 1 +
sim/erc32/end.c | 27 --
sim/erc32/erc32.c | 409 +++++++++-------
sim/erc32/exec.c | 349 +++++++++++---
sim/erc32/float.c | 80 ++--
sim/erc32/func.c | 274 ++++++++---
sim/erc32/grlib.c | 98 ++++
sim/erc32/grlib.h | 57 +++
sim/erc32/help.c | 2 +-
sim/erc32/interf.c | 357 ++++++++++----
sim/erc32/leon2.c | 1041 ++++++++++++++++++++++++++++++++++++++++
sim/erc32/leon3.c | 1066 +++++++++++++++++++++++++++++++++++++++++
sim/erc32/sis.c | 138 +++---
sim/erc32/sis.h | 116 ++++-
sim/erc32/startsim | 4 -
sim/frv/Makefile.in | 1 +
sim/h8300/Makefile.in | 1 +
sim/iq2000/Makefile.in | 1 +
sim/lm32/Makefile.in | 1 +
sim/m32c/gdb-if.c | 26 +
sim/m32r/Makefile.in | 1 +
sim/m68hc11/Makefile.in | 1 +
sim/mcore/interp.c | 26 +
sim/microblaze/Makefile.in | 2 +-
sim/mips/Makefile.in | 1 +
sim/mn10300/Makefile.in | 1 +
sim/moxie/interp.c | 26 +
sim/msp430/Makefile.in | 1 +
sim/ppc/gdb-sim.c | 26 +
sim/rl78/gdb-if.c | 26 +
sim/rx/gdb-if.c | 26 +
sim/sh/interp.c | 26 +
sim/sh64/Makefile.in | 1 +
sim/v850/Makefile.in | 3 +-
50 files changed, 4305 insertions(+), 910 deletions(-)
create mode 100644 sim/common/sim-watch-remote.c
delete mode 100644 sim/erc32/NEWS
delete mode 100644 sim/erc32/README.gdb
create mode 100644 sim/erc32/README.leon2
create mode 100644 sim/erc32/README.leon3
delete mode 100644 sim/erc32/end.c
create mode 100644 sim/erc32/grlib.c
create mode 100644 sim/erc32/grlib.h
create mode 100644 sim/erc32/leon2.c
create mode 100644 sim/erc32/leon3.c
delete mode 100644 sim/erc32/startsim

--
2.1.0