aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1998-01-16 01:09:15 +0000
committerAndrew Cagney <cagney@redhat.com>1998-01-16 01:09:15 +0000
commit13151a934d9acf7f376225d758d48af42ca4d8c6 (patch)
tree9e7fa0abc01bd157516b38c8a05df9737931851d /sim
parent853713a76847c307c3fe45cf1fcb4f1c1d62e766 (diff)
downloadgdb-13151a934d9acf7f376225d758d48af42ca4d8c6.zip
gdb-13151a934d9acf7f376225d758d48af42ca4d8c6.tar.gz
gdb-13151a934d9acf7f376225d758d48af42ca4d8c6.tar.bz2
Document existence of old (gencode) and new (igen) MIPS ISA simulators.
Diffstat (limited to 'sim')
-rw-r--r--sim/mips/README.Cygnus39
1 files changed, 39 insertions, 0 deletions
diff --git a/sim/mips/README.Cygnus b/sim/mips/README.Cygnus
index 06c5e43..5b646ef 100644
--- a/sim/mips/README.Cygnus
+++ b/sim/mips/README.Cygnus
@@ -1,3 +1,42 @@
+This directory contains two very different simulators:
+
+ o gencode (old)
+
+ Gencode.c outputs a single monolithic file that is
+ #included by interp.c
+
+ o igen (new)
+
+ The *.igen files are used as inputs to ../igen/igen.
+ A number of separate, fairly modula files, are created.
+
+The new simulator has a number of advantages:
+
+ o builtin support for multi-simming (single simulator
+ image supporting a number of different instruction
+ set architectures).
+
+ o Easier maintenance. The input files are not confused
+ by an intermixing with the generator code.
+
+gencode continues to exist so that old architectures can be emulated.
+*.igen should be used when adding new architectures or adding
+instructions to an existing ISA.
+
+Known bugs?
+
+A mips16 simulator cannot be built using igen. A custom mips16
+engine.c needs to be written.
+
+In mips.igen, the semantics for many of the instructions were created
+using code generated by gencode. Those semantic segments could be
+greatly simplified.
+
+
+----
+
+Old README.Cygnus ...
+
> README.Cygnus
-------------------------------------------------------------------------------