Commit Graph

421 Commits

Author SHA1 Message Date
Ian Lance Taylor
c05d17211e * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
It's OK to have a mult follow a mult.  What's not OK is to have a
	mult follow an mfhi.
1996-09-19 22:52:26 +00:00
Ian Lance Taylor
47c6ce6c2d * gencode.c (process_instructions): Correct shift count for 32
bit shift instructions.  Correct sign extension for arithmetic
	shifts to not shift the number of bits in the type.
1996-09-19 21:55:10 +00:00
Ian Lance Taylor
cc5201d78c * gencode.c (process_instructions): Correct handling of nor
instruction.
1996-09-19 19:35:09 +00:00
Jackie Smith Cashion
f24b7b69ee Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (sim_monitor): Improved monitor printf
 	simulation. Tidied up simulator warnings, and added "--log" option
 	for directing warning message output.
	* gencode.c: Use sim_warning() rather than WARNING macro.
1996-09-16 10:47:20 +00:00
Ian Lance Taylor
64d538ce80 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
getopt1.o, rather than on gencode.c.  Link objects together.
	Don't link against -liberty.
	(gencode.o, getopt.o, getopt1.o): New targets.
	* gencode.c: Include <ctype.h> and "ansidecl.h".
	(AND): Undefine after including "ansidecl.h".
	(ULONG_MAX): Define if not defined.
	(OP_*): Don't define macros; now defined in opcode/mips.h.
	(main): Call my_strtoul rather than strtoul.
	(my_strtoul): New static function.
1996-08-22 22:06:21 +00:00
Stu Grossman
4fa14cf71c * gencode.c (process_instructions): Generate word64 and uword64
instead of `long long' and `unsigned long long' data types.
	* interp.c:  #include sysdep.h to get signals, and define default
	for SIGBUS.
	* (Convert):  Work around for Visual-C++ compiler bug with type
	conversion.
	* support.h:  Make things compile under Visual-C++ by using
	__int64 instead of `long long'.  Change many refs to long long
	into word64/uword64 typedefs.
1996-07-18 01:21:16 +00:00
Jackie Smith Cashion
c21ee46b49 Added. 1996-06-26 10:08:42 +00:00
Jason Molenda
a271d1d966 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
        (docdir): Removed.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
        (AC_PROG_INSTALL): Added.
        (AC_PROG_CC): Moved to before configure.host call.
        * configure: Rebuilt.
1996-06-26 03:26:09 +00:00
Jackie Smith Cashion
c98ec95dba Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk>
* configure.in: Define @SIMCONF@ depending on mips target.
	* configure: Rebuild.
	* Makefile.in (run): Add @SIMCONF@ to control simulator
 	construction.
	* gencode.c: Change LOADDRMASK to 64bit memory model only.
	* interp.c: Remove some debugging, provide more detailed error
 	messages, update memory accesses to use LOADDRMASK.
1996-06-05 08:16:16 +00:00
Ian Lance Taylor
4fa134beac * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
AC_CHECK_LIB, and AC_CHECK_FUNCS.  Change AC_OUTPUT to set
	stamp-h.
	* configure: Rebuild.
	* config.in: New file, generated by autoheader.
	* interp.c: Include "config.h".  Include <stdlib.h>, <string.h>,
	and <strings.h> if they exist.  Replace #ifdef sun with #ifdef
	HAVE_ANINT and HAVE_AINT, as appropriate.
	* Makefile.in (run): Use @LIBS@ rather than -lm.
	(interp.o): Depend upon config.h.
	(Makefile): Just rebuild Makefile.
	(clean): Remove stamp-h.
	(mostlyclean): Make the same as clean, not as distclean.
	(config.h, stamp-h): New targets.
1996-06-03 15:58:45 +00:00
Jackie Smith Cashion
9a739379c4 Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (ColdReset): Fix boolean test.

Actually compare a boolean result, rather than the bitmasks!
1996-05-09 23:43:58 +00:00
Jackie Smith Cashion
f7481d45a5 Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (xfer_direct_word, xfer_direct_long,
	swap_direct_word, swap_direct_long, xfer_big_word,
	xfer_big_long, xfer_little_word, xfer_little_long,
	swap_word,swap_long): Added.
	* interp.c (ColdReset): Provide function indirection to
 	host<->simulated_target transfer routines.
	* interp.c (sim_store_register, sim_fetch_register): Updated to
 	make use of indirected transfer routines.
1996-05-08 14:22:12 +00:00
Jackie Smith Cashion
a9f7253f64 Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk>
* gencode.c (process_instructions): Ensure FP ABS instruction
 	recognised.
	* interp.c (AbsoluteValue): Add routine. Also provide simple PMON
 	system call support.
1996-04-19 14:53:16 +00:00
Jackie Smith Cashion
8b554809c0 Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (sim_do_command): Complain if callback structure not
 	initialised.
1996-04-10 08:53:24 +00:00
Jackie Smith Cashion
d0757082eb Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (Convert): Provide round-to-nearest and round-to-zero
 	support for Sun hosts.
	* Makefile.in (gencode): Ensure the host compiler and libraries
 	used for cross-hosted build.

Allow a DOS hosted version of the simulator to be built. NOTE: The FP
is still not complete, since round-to-nearest and round-to-zero have
not been implemented generically.
1996-03-28 14:08:51 +00:00
Jackie Smith Cashion
e871dd189e Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c, gencode.c: Some more (TODO) tidying.
1996-03-27 14:46:27 +00:00
Jackie Smith Cashion
a647a859cb Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk>
* gencode.c, interp.c: Replaced explicit long long references with
 	WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
	* support.h (SET64LO, SET64HI): Macros added.

This is an intermediate checkin. The work of removing "long long"
usage is not yet finished. These changes are clean, and have been
sitting on my machine for a while (whilst doing other work), and it is
safer for them to be checked in.
1996-03-07 11:25:15 +00:00
Ian Lance Taylor
5c59ec4318 regenerate configure scripts with autoconf 2.7 1996-02-21 17:18:42 +00:00
Fred Fish
837d289362 * interp.c (LoadMemory): Enclose text following #endif in /* */.
* support.h: Remove superfluous "1" from #if.
	* support.h (CHECKSIM): Remove stray 'a' at end of line.
1996-01-31 02:36:07 +00:00
Jackie Smith Cashion
8bae0a0c48 * gencode.c: Tidied instruction decoding, and added FP instruction
support.
* interp.c: Added dineroIII, and BSD profiling support. Also
run-time FP handling.

At the moment the options are still mostly build-time controlled,
rather than run-time. Also work still needs to be done to remove (long
long) usage (However this is trivial, just time-consuming).

The out-standing instruction work to be done is in supporting round
and trunc for FP operations, and providing better exception support.
1995-12-01 16:42:44 +00:00
Jackie Smith Cashion
8ad5773724 Initial check-in of the MIPS simulator. Work still needs to be done on
the run-time support code (interp.c) to provide better tracing, and
also to add profiling and architecture specific support. At the moment
the simulator has a fixed size, fixed address memory area, and
simulates a subset of the IDT monitor calls (enough to execute test
programs).

The other major feature (could even be a bug) is that the simulator
makes use of the GCC "long long" extension. Work has been started to
make this a build configuration option... but there is still a lot of
this to be done.
1995-11-08 15:44:38 +00:00