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

Jiri Gaisler
2015-02-19T22:32:27Z

Second version of this patch set. I believe I have taken all
comments into consideration. Thanks for reviewing and feedback.

-----------------------------------------------------------------

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.
sim/erc32: Corrected wrong CPU implementation and version ID in psr
sim/erc32: Perform pseudo-init if binary linked to non-zero address.
sim/erc32: Use fenv.h for host FPU access
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 command line switch for verbose output
sim/erc32: Removed type mismatch compiler warnings
sim/erc32: Switched emulated memory to host endian order.
sim/erc32: use SIM_AC_OPTION_HOSTENDIAN to probe for host endianess
sim/erc32: Use 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.
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: Add support for LEON2 processor emulation.
sim/erc32: Updated documentation.
sim/erc32: Add data watchpoint support
Add 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 | 24 +-
sim/erc32/NEWS | 108 -----
sim/erc32/README.gdb | 67 ---
sim/erc32/README.leon2 | 53 ++
sim/erc32/README.leon3 | 53 ++
sim/erc32/README.sis | 250 ++++------
sim/erc32/config.in | 15 +
sim/erc32/configure | 260 +++++++++-
sim/erc32/configure.ac | 1 +
sim/erc32/end.c | 27 --
sim/erc32/erc32.c | 409 +++++++++-------
sim/erc32/exec.c | 349 +++++++++++---
sim/erc32/float.c | 191 ++------
sim/erc32/func.c | 301 +++++++++---
sim/erc32/grlib.c | 98 ++++
sim/erc32/grlib.h | 57 +++
sim/erc32/help.c | 2 +-
sim/erc32/interf.c | 355 ++++++++++----
sim/erc32/leon2.c | 1041 ++++++++++++++++++++++++++++++++++++++++
sim/erc32/leon3.c | 1066 +++++++++++++++++++++++++++++++++++++++++
sim/erc32/sis.c | 138 +++---
sim/erc32/sis.h | 124 ++++-
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, 4348 insertions(+), 1041 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