Commit Graph

3658 Commits

Author SHA1 Message Date
Andrew Cagney
7a2f7ea758 v850* wants igen 1997-09-12 02:27:22 +00:00
Andrew Cagney
cf5c6e6e5d Generate instruction profile call with each instruction. 1997-09-12 02:26:31 +00:00
Martin Hunt
30d8198448 Wed Sep 10 22:30:24 1997 Martin M. Hunt <hunt@cygnus.com>
* interp.c (sim_resume): Increment PC at end of rep
	loop.

	* simops.c (OP_4201): Fix rachi instruction.
1997-09-11 05:32:23 +00:00
Andrew Cagney
972f3a34f5 mips/sim_info was just returning????? 1997-09-10 23:50:32 +00:00
Andrew Cagney
cad7297e80 o Wordwrap usage messages from sim-options
o	Clarify how to use alias options
o	use in sim-watch (better usage message)
o	Don't pass something on the stack into the
	watch-point interrupt hander.
1997-09-10 22:47:12 +00:00
Andrew Cagney
8f050205eb (gen_itable_h): Output an enum defining the max size of the itable
string members.
1997-09-10 22:07:06 +00:00
Andrew Cagney
02508bb179 Have trace_input, trace_output use sim-trace for IO. 1997-09-10 05:40:04 +00:00
Felix Lee
d6cef44df4 * inst.h (sim_state): rename to h8300_sim_state, to avoid conflict
with sim/common.
	* configure.in: check for sys/param.h
	* compile.c: #ifdef HAVE_SYS_PARAM_H.
	#define SIGTRAP for wingdb.
	(sim_resume): poll keyboard at least once per call.
	(sim_resume): use host_callback instead of printf for syscall
 	output.
1997-09-10 05:20:37 +00:00
Andrew Cagney
d0b59aa593 Add option architecture-info to list supported architectures. 1997-09-10 05:16:34 +00:00
Gavin Romig-Koch
318b499d8e Support tx19 sanitation. 1997-09-10 04:53:18 +00:00
Felix Lee
31dda65aff * sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
illegal zero-sized array.
	* sim-core.c (sim_core_xor_read_buffer): same.
1997-09-10 04:46:37 +00:00
Felix Lee
a1efa0d880 * interp.c (sim_resume): poll_quit() at least once per call;
otherwise gdb can loop sim_resume() uninterruptably.
1997-09-10 03:52:48 +00:00
David Edelsohn
7b4aeebabe * nltvals.def: Regenerate. 1997-09-09 18:20:57 +00:00
Andrew Cagney
9eeaaefa0f Better word error messages. 1997-09-09 10:38:39 +00:00
Andrew Cagney
c31c13b481 Remove GCC specific `0x...LL', replace with SIGNED64 (0x...). 1997-09-09 07:02:02 +00:00
Andrew Cagney
db511584c9 Add basic tests for d10v-elf simulator. 1997-09-09 02:22:07 +00:00
Andrew Cagney
5d37a07bc5 Add multi-sim support to v850/v850e/v850eq simulators. 1997-09-08 17:42:48 +00:00
Andrew Cagney
687f3f1cef Add multi-sim support to simulator. 1997-09-08 17:40:24 +00:00
Andrew Cagney
70c8abdb4c Use updated MSMASK, MSMASKED macros.
Fix sat problem in d30v.
1997-09-08 17:23:16 +00:00
Andrew Cagney
75faf9aecb Check MS* macros from sim/common. 1997-09-08 17:22:01 +00:00
Andrew Cagney
75b3697d5f Add/use LSEXTRACTED, MSEXTRACTED macros.
Add CPU_CIA macro to extract the PC.
1997-09-08 17:21:13 +00:00
Andrew Cagney
986cb931ca Sanity check for tic80 simulator. 1997-09-08 17:19:21 +00:00
Gavin Romig-Koch
b637f306ba tx19 and related necessary changes.
* config.sub: Add tx19/r1900.
	* sim/mips/configure.in, sim/mips/gencode: Add tx19/r1900.
	* gcc/config.sub, gcc/configure: Add tx19/r1900.
	* gcc/config/mips/r1900.h, config/mips/t-r1900: New.
	* gas/config/tc-mips.c: Add tx19/r1900.

	* gcc/config/mips/mips.c: Don't build 16 bit to 32 bit stubs for
	TARGET_SOFT_FLOAT.

	* config.sub: Add "marketing-names" patch.
	* gcc/config.sub: Add "marketing-names" patch.

	* gcc/configure: Change "as" link from "../gas/as.new" to "../gas/as-new";
	Same for "ld" link.
1997-09-07 20:33:22 +00:00
Andrew Cagney
1bba340afe Redo watchpoint code so that it target can specify interrupt names.
Replace v850 interrupt code with this common watchpoint code.
Other minor fixes to core.
1997-09-05 08:16:23 +00:00
Andrew Cagney
1b465b54e1 Add sim_do_commandf - printf version of sim_do_command. 1997-09-05 07:57:27 +00:00
David Edelsohn
6fea47635b * configure: Regenerated to track ../common/aclocal.m4 changes. 1997-09-05 00:42:05 +00:00
Andrew Cagney
30efae3acd Define SIGNED64 and UNSIGNED64 macros - handle MSC/GCC LL issue. 1997-09-05 00:30:38 +00:00
Andrew Cagney
da3a66e5ca Replace memory model with one from sim/common directory. 1997-09-04 10:10:02 +00:00
Andrew Cagney
6dbaff8f60 Finish implementation of sim-memopt.
Use in d30v and tic80.
Make available a generic sim_read, sim_write implementation.
1997-09-04 10:08:44 +00:00
Andrew Cagney
a34abff813 o Add modulo argument to sim_core_attach
o	Add sim-memopt module - memory option processing.
1997-09-04 03:47:39 +00:00
David Edelsohn
600d83316c * sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER. 1997-09-04 00:57:21 +00:00
David Edelsohn
88d5f8e854 * gdbinit.in: New file.
* aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
	* Make-common.in (distclean): Delete .gdbinit.
	(.gdbinit): Add rule for.
	* configure: Regenerated to track ../common/aclocal.m4 changes.
1997-09-04 00:49:57 +00:00
Nick Clifton
2636486389 removed v850 sanitization
Added v850/sim-main.h to list of files to keep after sanitization.
1997-09-03 22:27:28 +00:00
Andrew Cagney
cb6a7127d9 Basic tests for tic80 simulator. 1997-09-03 07:41:35 +00:00
Andrew Cagney
2bc779d782 Doc directory - README.
Make suffix of executables to be run on simulator .run
1997-09-03 07:36:09 +00:00
Andrew Cagney
b83adf4eeb Doc C language guidelines. 1997-09-03 07:34:59 +00:00
Andrew Cagney
b5e935ae85 Pacify gcc-current -Wall. 1997-09-03 07:30:17 +00:00
Andrew Cagney
fdd64f952d Add support for suspending/resumeing the simulator in sim-modules.
Use in sim-events.
1997-09-03 07:26:11 +00:00
Andrew Cagney
cabedd5871 Standard simulator header file. 1997-09-03 04:13:45 +00:00
Andrew Cagney
9cdd2c6d72 Add real SIM_DESC arg to v850 simulator.
Add --enable-sim-warnings, use/fix errors.
Add --enable-sim-endian, don't use.
Add common modules. Don't yet use most.
1997-09-03 04:10:33 +00:00
Andrew Cagney
80c651f02d Stanify error reporting memory overlaps. 1997-09-03 04:06:27 +00:00
Joern Rennecke
134f75d8ba Support restore-sanitize-sh4 . 1997-09-02 22:57:50 +00:00
Joern Rennecke
552c6220e0 Comment typo fix. 1997-09-02 22:43:55 +00:00
David Edelsohn
51037f28cf Add note on TAGS support. 1997-09-02 22:07:54 +00:00
David Edelsohn
645ab3ec42 (TAGS): Add support for "/* TAGS: foo */" marker. 1997-09-02 22:03:41 +00:00
David Edelsohn
74db699d1d * Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
* sim-n-bits.h: Add TAGS comments for all functions.
	* sim-n-core.h: Likewise.
	* sim-n-endian.h: Likewise.
1997-09-02 21:58:58 +00:00
Joern Rennecke
bbce7567b6 Sanitation fixes. 1997-09-02 21:43:06 +00:00
Andrew Cagney
4de6b5d361 Merge SH4 branch simulator in to devo. 1997-09-02 03:49:55 +00:00
Andrew Cagney
52352d38d6 Test/fix pabsh, pabsw, psrlvw. 1997-09-01 09:47:03 +00:00
Andrew Cagney
0ffba68fdc Compile from UNIX to cygwin32. 1997-09-01 03:43:56 +00:00
Andrew Cagney
4b2a6aed84 Use sim_state_alloc to create common sim object. 1997-09-01 03:26:31 +00:00
Andrew Cagney
9f3f352539 Passify cross compilation and GCC -Wall 1997-09-01 03:21:59 +00:00
Andrew Cagney
f90b720ba1 Passify GCC. Convert 0x0LL to something more portable in the FP code. 1997-08-30 00:02:19 +00:00
Andrew Cagney
4113ba4cd7 Passify GCC. 1997-08-30 00:01:12 +00:00
David Edelsohn
36db8e64ab * sim-options.c (standard_option_handler): Use xstrdup, not strdup. 1997-08-28 17:37:30 +00:00
Andrew Cagney
04258deea2 Make igen available when v850 is being build. 1997-08-28 09:55:55 +00:00
Andrew Cagney
18c319ae59 Add --target=BFDTARGET and --architecture=MACHINE options. 1997-08-28 09:44:42 +00:00
Andrew Cagney
8811705410 Fix doco on enable-sim-inline. 1997-08-27 22:43:18 +00:00
Andrew Cagney
d6fea803dc Add MSBIT* and LSBIT* macro's to sim-bits.h
Add more macro's for extracting sub word quantites to sim-endian.h
1997-08-27 07:56:27 +00:00
Andrew Cagney
230a95ce5a New file - generic implementation of sim_load for hardware only
simulators.
1997-08-27 04:45:59 +00:00
Andrew Cagney
fafce69ab1 Add ABFD argument to sim_create_inferior. Document.
Add file sim-hload.c - generic load for hardware only simulators.
Review each simulators sim_open, sim_load, sim_create_inferior so that
they more closely match required behavour.
1997-08-27 04:44:41 +00:00
Andrew Cagney
9f64f00ada * idecode_expression.h (ALU_END): From Charles Lefurgy - Extract
sign bit using 64 bit and not a 32 bit mask.

        * sim_calls.c (sim_load): From Ian Lance Taylor - free argv after
        it has been used, not before.
1997-08-27 00:44:05 +00:00
Andrew Cagney
d07dddd2b2 Save a copy of argv, not just a pointer. 1997-08-27 00:35:34 +00:00
Andrew Cagney
3f1a33d673 Make building of w65 simulator conditional on --enable-sim. 1997-08-26 08:38:34 +00:00
Andrew Cagney
7230ff0faa Flush defunct sim_kill. 1997-08-26 02:05:18 +00:00
Andrew Cagney
247fccdeb5 Add ABFD argument to sim_open call. Pass through to sim_config so
that image properties such as endianness can be checked.

More strongly document the expected behavour of each of the sim_*
interfaces.

Add default endian argument to simulator config macro
SIM_AC_OPTION_ENDIAN.  Use in sim_config.
1997-08-25 23:14:25 +00:00
Nick Clifton
6061622830 Updated with respect to the HDD-tool-0611 document. 1997-08-22 17:41:20 +00:00
Nick Clifton
64ad9cecb6 Added N step divide routines, courtesy of Sugimoto at NEC. 1997-08-20 22:42:55 +00:00
Nick Clifton
70caad98c1 Fixed interpretation of SR bit in list18 structures. 1997-08-20 20:57:05 +00:00
Nick Clifton
27161f9e55 Add suport for v850e and v850eq 1997-08-18 18:01:42 +00:00
Nick Clifton
6ba5294adf Add support for V850eq variant opcodes. 1997-08-18 18:01:08 +00:00
David Edelsohn
dddbd8c586 Add comment. 1997-08-14 20:36:00 +00:00
David Edelsohn
052d7984df * callback.c (os_poll_quit): Make static.
Call sim_cb_eprintf, not p->eprintf.
	(sim_cb_printf, sim_cb_eprintf): New functions.
1997-08-14 19:53:10 +00:00
Nick Clifton
a0a6db4bfa Tidied up sanitization. 1997-08-14 19:45:14 +00:00
Nick Clifton
f7fcba7a84 Added support for v850e and v850eq instructions. 1997-08-14 02:13:32 +00:00
Mark Alexander
9e61ae7d3c * sim-calls.c (sim_store_register): Allow accumulators
other than A0 to be modified.  Correct error message.
1997-08-09 04:54:08 +00:00
Andrew Cagney
f1bea83b2b Add test for "mtsa" 1997-07-29 00:57:39 +00:00
Andrew Cagney
9204a35e78 Handle overflow from signed divide by -1. 1997-07-28 13:46:53 +00:00
Andrew Cagney
64f0e81628 More checks for pdivuw 1997-07-28 10:52:39 +00:00
Gavin Romig-Koch
c12e2e4c48 gencode.c: Two arg MADD should not assign result to /bin/bash. 1997-07-25 19:10:05 +00:00
David Edelsohn
63f6871728 * configure.in (sparc*-*-*): Don't build erc32.
* configure: Regenerate.
1997-07-25 18:41:12 +00:00
David Edelsohn
5697f15271 Keep sim-watch.[ch]. 1997-07-22 19:05:13 +00:00
David Edelsohn
556d1f8c7f Don't always keep igen, it's currently only kept if d30v or tic80. 1997-07-22 19:03:25 +00:00
David Edelsohn
e6609d8f2a * sim-n-core.h (sim_core_write_unaligned_N): Add missing break
to FORCED_ALIGNMENT case.
1997-07-22 17:36:23 +00:00
Andrew Cagney
7cf0d79519 Configure r5900 testsuite sub-directory. 1997-07-15 20:46:15 +00:00
Andrew Cagney
39e9b3369a Similistic configure/build scripts for tx59 simulator tests. 1997-07-15 20:35:26 +00:00
Andrew Cagney
b31dd8eea2 Generic tests for 5900. 1997-07-15 20:25:09 +00:00
Andrew Cagney
d9c61e8391 Standard simulator tests. 1997-07-14 16:53:04 +00:00
Andrew Cagney
ccc034af67 Tests for mips r5900 instructions 1997-07-11 21:36:11 +00:00
Andrew Cagney
1e851d2c82 Fix a number of problems in the r5900 specific p* (parallel) instructions.
In particular a host endian dependency one fixed resolved most problems.
1997-07-11 03:07:29 +00:00
Andrew Cagney
0f552ea045 Sync powerpc simulator with public version. Enable FPSCR and string
instructions.
1997-07-03 07:44:38 +00:00
Jeff Law
6443523484 * gencode.c (build_instruction): Handle "pext5" according to
version 1.95 of the r5900 ISA.
Fixes pr12413 (c/h from toshiba).
1997-07-02 18:41:22 +00:00
Jeff Law
649625bb8e * gencode.c (build_instruction): Handle "ppac5" according to
version 1.95 of the r5900 ISA.
fixes pr12407 (c/h from toshiba).
1997-07-02 18:29:16 +00:00
Jeff Law
05d1322f2c * interp.c (sim_engine_run): Reset the ZERO register to zero
regardless of FEATURE_WARN_ZERO.
1997-07-02 18:13:00 +00:00
Jeff Law
ae19b07bf8 * gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
Fix for pr12402 (c/h from toshiba).
1997-07-02 17:57:56 +00:00
Andrew Cagney
3a8e858f24 Add test for dbt/rtd instructions 1997-06-27 08:33:16 +00:00
Jeff Law
d05b86b7fb * interp.c (sim_resume): Clear State.exited.
(sim_stop_reason): If State.exited is nonzero, then indicate that
        the simulator exited instead of stopped.
        * mn10300_sim.h (struct _state): Add exited field.
        * simops.c (syscall): Set State.exited for SYS_exit.

Fixes problem found bin Felix.
1997-06-24 19:45:17 +00:00
Jeff Law
c370b3cd95 * simops.c: Fix thinko in last change. 1997-06-12 04:14:42 +00:00
Jeff Law
dbdb5bd881 * simops.c: "call" stores the callee saved registers into the
stack!  Update the stack pointer properly when done with
        register saves.
1997-06-10 22:59:13 +00:00
Jeff Law
0a8fa63cb8 * simops.c: Fix return address computation for "call" instructions. 1997-06-10 18:32:40 +00:00
Andrew Cagney
84e8cd0fcf Open in binary mode when available. 1997-06-06 02:34:55 +00:00
Andrew Cagney
0bdfae1167 Clean up formatting of instruction traces. 1997-06-06 00:31:08 +00:00
Andrew Cagney
897f67b74f Verify magic number of simulator struct. 1997-06-05 04:51:34 +00:00
Andrew Cagney
896eab009e Initialize the sim-engine module. 1997-06-04 02:47:49 +00:00
Andrew Cagney
56e7c84918 o Fixes to repeated watchpoints
o	Add mips ISA instructions needed to handle interrupts
1997-06-03 23:03:50 +00:00
Andrew Cagney
c7cebfa32c o Fix padd insn
o	Take an interrupt when an int event occures.
1997-06-02 15:00:43 +00:00
Andrew Cagney
128b51546e Add assembler information to igen input files. 1997-05-30 07:25:13 +00:00
Andrew Cagney
4e95b94e1e Fix subu immed - was incorrectly using unsigned. 1997-05-29 07:25:20 +00:00
Andrew Cagney
efe4f1cbf8 Add a simple dissasembler to igen 1997-05-29 07:06:41 +00:00
Andrew Cagney
1a70e182aa Fix watching PC for 64bit (mips) target.
Stop watchpoints corrupting the event queue.
1997-05-27 11:25:47 +00:00
Andrew Cagney
2f2e6c5d5b Extend xor-endian and per-cpu support in core module.
Allow negated test when watching value within core.
1997-05-27 06:48:20 +00:00
Andrew Cagney
cd0d873d0f Preliminary suport for xor-endian suport in core module. 1997-05-23 09:19:43 +00:00
Andrew Cagney
b526378484 Incorrect test for zero-r0 code gen. 1997-05-23 02:01:04 +00:00
Andrew Cagney
8167e102a5 Enumerate longjmp's return type. 1997-05-23 01:29:16 +00:00
Gavin Romig-Koch
d3d2a9f718 ifdef out uses of simSTOP, simSTEP and simBE when DEBUG is defined. 1997-05-22 13:30:01 +00:00
Gavin Romig-Koch
6e61ecfc92 Change longjmp param/setjmp return value used for simulator restart from 0 to 2. 1997-05-22 13:16:03 +00:00
Jeff Law
09e142d5a2 * interp.c (sim_resume): Add missing case in big switch
statement (for extb instruction).
1997-05-22 05:28:34 +00:00
Andrew Cagney
50a2a69182 Watchpoint interface. 1997-05-21 06:54:13 +00:00
Jeff Law
003c91bec4 * interp.c: Replace all references to load_mem and store_mem
with references to load_byte, load_half, load_3_byte, load_word
        and store_byte, store_half, store_3_byte, store_word.
        (INLINE): Delete definition.
        (load_mem_big): Likewise.
        (max_mem): Make it global.
        (dispatch): Make this function inline.
        (load_mem, store_mem): Delete functions.
        * mn10300_sim.h (INLINE): Define.
        (RLW): Delete unused definition.
        (load_mem, store_mem): Delete declarations.
        (load_mem_big): New definition.
        (load_byte, load_half, load_3_byte, load_word): New functions.
        (store_byte, store_half, store_3_byte, store_word): New functions.
        * simops.c:  Replace all references to load_mem and store_mem
        with references to load_byte, load_half, load_3_byte, load_word
        and store_byte, store_half, store_3_byte, store_word.
1997-05-20 23:53:47 +00:00
Andrew Cagney
ff82f21409 Part II of adding callback argument to sim_open(). Update all the
other simulators; remove SIM_DESC from depreciated function
sim_set_callbacks().
1997-05-20 01:57:43 +00:00
Andrew Cagney
24aa2b57af Depreciate sim_set_callbacks() function. Set simulator callbacks
during sim_open().
1997-05-20 00:05:27 +00:00
Michael Meissner
8c5b6ead7d Make getpid, kill supported system calls 1997-05-19 23:02:30 +00:00
Jeff Law
4df7aeb3c5 * interp.c (dispatch): Make this an inline function.
* simops.c (syscall): Use callback->write regardless of
        what file descriptor we're writing too.
1997-05-19 19:55:31 +00:00
Andrew Cagney
2e61a3ad9c Graft sim/common event and other code onto the mips simulator. 1997-05-19 13:30:30 +00:00
Andrew Cagney
ba2374064d Update. 1997-05-19 09:35:51 +00:00
Andrew Cagney
fd76456bdb Make simulator event-queue manager a bit more signal safe. 1997-05-19 06:55:56 +00:00
Andrew Cagney
f03b093cd3 o Implement generic halt/restart/abort module.
Use in tic80 and d30v simulators.
o	Add signal hook to sim-core module
1997-05-19 03:42:33 +00:00
Andrew Cagney
11ab132f16 Pacify gcc. 1997-05-19 01:24:31 +00:00
Jeff Law
b07a1e78c5 * interp.c (load_mem_big): Remove function. It's now a macro
defined elsewhere.
        (compare_simops): New function.
        (sim_open): Sort the Simops table before inserting entries
        into the hash table.
        * mn10300_sim.h: Remove unused #defines.
        (load_mem_big): Define.
Another 20% so performance improvement for the mn10300 simulator.
1997-05-18 22:57:49 +00:00
Michael Meissner
63aa80ff51 Treat infinities like normal numbers for purposes of comparisons 1997-05-17 02:28:11 +00:00
Jeff Law
248c1fb830 * callback.c (os_close): Mark the descriptor as being
available if the close succeeded.
        (os_open): Pass 0644 as the mode of the file being created.
Bring Bob's changes over from the mec branch.
1997-05-16 22:39:08 +00:00
Jeff Law
234a9a49cf * interp.c (load_mem): If we get a load from an out of range
address, abort.
        (store_mem): Likewise for stores.
        (max_mem): New variable.
1997-05-16 22:37:02 +00:00
Andrew Cagney
37a684b84d o Make tic80 insn file more `cache ready'
o	Have igen always zero r0 instead of constantly checking if
	the designated register is r0.
1997-05-16 03:27:40 +00:00
Andrew Cagney
07b4c0a66c Remove some of the flake from the c80 floating point. 1997-05-15 16:39:38 +00:00
Andrew Cagney
d24f06eef2 More floating point operations. 1997-05-15 02:22:37 +00:00
Andrew Cagney
aa3a044769 Fix double conversion problem. 1997-05-15 02:21:11 +00:00
Andrew Cagney
2310e3c2b5 Passify gcc's warnings. 1997-05-15 00:14:33 +00:00
Michael Meissner
93555c3b02 Make columns line up for fpu operation tracing 1997-05-14 22:06:45 +00:00
Michael Meissner
1b6f4dde35 Make sure r0 == 0; Return EINVAL for system calls that are defined but not provided; Provide traps 74-79 as debugging traps 1997-05-13 22:04:32 +00:00
Andrew Cagney
8490235019 Remove ANNULed cycle - was confusing gdb. 1997-05-13 13:57:49 +00:00
Michael Meissner
d01082ada2 Fix ld/st tracing 1997-05-12 21:16:26 +00:00
Andrew Cagney
9af5dcea8f Clear cntrl-c after handling it. 1997-05-12 08:33:56 +00:00
Andrew Cagney
c445af5a2b c80 simulator fixes. 1997-05-12 04:57:49 +00:00
Andrew Cagney
e05e76e8a4 Match commands like `(gdb) sim a b c' against options --a-b-c. 1997-05-12 04:30:38 +00:00
Michael Meissner
8ad6078850 Fix endian problems with ld.d/st.d 1997-05-12 02:04:02 +00:00
Michael Meissner
450be2349a Fix shift/lmo insns; Subu does arithmetic unsigned 1997-05-11 14:32:32 +00:00
Michael Meissner
20b2f9bc83 And short immediate instructions use unsigned immediates, not signed. 1997-05-10 16:40:21 +00:00
Michael Meissner
89d1a47805 Fix xor in simulator 1997-05-09 20:16:01 +00:00
Michael Meissner
aaa7b25260 Make cmp produce the correct results 1997-05-09 19:48:52 +00:00
Andrew Cagney
9efd3f7412 Update CIA as well as NIA when a 64bit insn is encountered. 1997-05-09 00:21:13 +00:00
Michael Meissner
c3cad878c9 Really fix the bbo/bbz instructions. 1997-05-08 23:04:22 +00:00
Michael Meissner
1e0e7911a5 reverse bit number for bbo/bbz instructions. 1997-05-08 19:58:20 +00:00
Michael Meissner
53dcd669e5 Fix non-anulled calls so that return address is correct 1997-05-08 18:36:00 +00:00
Michael Meissner
30a05dbd8d Change output format slightly 1997-05-08 16:32:06 +00:00
Michael Meissner
8c3b5af125 Change output format slightly 1997-05-08 16:14:54 +00:00
Michael Meissner
e42224cc3a Bump SIZE_DECIMAL to 13 1997-05-08 15:58:23 +00:00
Andrew Cagney
43c53e07db Add function sim_args_command() which takes a `(gdb) sim <command>' and
parses it using rules found in the simulator command-line-options
databse.
1997-05-08 05:28:20 +00:00
Andrew Cagney
381f42ef5d o Clean-up tic80 fp tracing
o	Fill in more tic80 insns
1997-05-07 13:58:52 +00:00
David Edelsohn
bd3274c6d9 * sim-profile.c (profile_uninstall): Likewise. 1997-05-06 23:40:31 +00:00
David Edelsohn
ea4e449340 * sim-trace.c (trace_uninstall): Don't close a file twice. 1997-05-06 23:38:31 +00:00
Andrew Cagney
19a2b3005c Only zap the igen directory once. 1997-05-06 23:24:03 +00:00
David Edelsohn
cf8b5fc15e Makefile.orig, README.orig deleted. 1997-05-06 21:21:53 +00:00
David Edelsohn
5797882259 Keep igen. 1997-05-06 21:20:13 +00:00
David Edelsohn
710f55ce8a Keep sim-config.c, sim-fpu.[ch]. 1997-05-06 21:19:41 +00:00
Jeff Law
8def922034 * mn10300_sim.h: Fix ordering of bits in the PSW. 1997-05-06 19:42:17 +00:00
Michael Meissner
1ec53ef597 Remove extra : from nop, sink{1,2} tracing 1997-05-06 19:33:51 +00:00
Michael Meissner
7b167b0900 Add semantic tracing to the tic80 1997-05-06 19:27:57 +00:00
Jeff Law
baa83bcc80 * interp.c: Improve hashing routine to avoid long list
traversals for common instructions.  Add HASH_STAT support.
        Rewrite opcode dispatch code using a big switch instead of
        cascaded if/else statements.  Avoid useless calls to load_mem.
1997-05-06 19:27:22 +00:00
David Edelsohn
f4749781f9 Keep sim-utils.h. 1997-05-06 17:09:05 +00:00
Michael Meissner
d0adfefd44 Fix typo; pass trace_line request as arg; pass common stuff in static struct 1997-05-06 11:55:21 +00:00
Michael Meissner
a77241718f Enable --trace-linenum support 1997-05-06 10:21:57 +00:00
Jeff Law
26e9f63c11 * mn10300_sim.h (struct _state): Add space for mdrq register.
(REG_MDRQ): Define.
        * simops.c: Don't abort for trap.  Add support for the extended
        instructions, "getx", "putx", "mulq", "mulqu", "sat16", "sat24",
        and "bsch".
1997-05-06 00:35:42 +00:00
Michael Meissner
d23af88239 Fix problems -Wall found 1997-05-05 18:16:10 +00:00
Michael Meissner
23b04e791d Add printf attribute support 1997-05-05 18:10:05 +00:00
Andrew Cagney
7a418800c1 Start of implementation of a distributed (between processors)
simulator core object.
1997-05-05 13:21:04 +00:00
Andrew Cagney
3971886ac1 Add flakey floating-point support to the TI c80 simulator. 1997-05-05 12:46:25 +00:00
David Edelsohn
67ae5c9ac9 * decode.c (decode): Add computed goto support. 1997-05-03 15:41:24 +00:00
David Edelsohn
e6a434469b Tweak comment. 1997-05-02 16:51:04 +00:00
Andrew Cagney
1fe052808a Update devo version of m32r sim to build with recent sim/common changes. 1997-05-02 08:41:15 +00:00
Angela Marie Thomas
949fccf66b remove junk files that have been here waaaaaaaay too long 1997-05-02 06:43:07 +00:00
Andrew Cagney
d9b7594738 o Add core and event objects into simulator
base type
o	Add preliminary tracing support for same
o	trace_printf() takes both SD and CPU arguments
o	Add CIA to standard set of parameters for
	generated functions.
o	Pacify GCC
1997-05-02 05:31:34 +00:00
David Edelsohn
2317a49939 * sim-utils.c (sim_add_commas): New function.
* sim-basics.h (sim_add_commas): Add prototype.
	* cgen-scache.c (scache_print_profile): Print commas in numbers.
	* sim-profile.c (COMMAS): New macro.
	(print_*): Use it to print commas in numbers.
1997-05-02 00:32:05 +00:00
David Edelsohn
3e324f89cd cgen-{mem,sem}.h renamed to {mem,sem}-ops.h. 1997-05-01 22:36:34 +00:00
David Edelsohn
646c6f2b83 Merge from branch into devo. CGEN generic files moved to common
directory.  K&R C support is no longer provided.
1997-05-01 22:33:23 +00:00
David Edelsohn
260b2c47c9 * configure: Regenerated.
* cgen-sim.h (sim_signal_type): Add SIM_SIGINT.
	(cgen_state): New member run_fast_p.
	(cgen_init): Add prototype.
	(sim_disassemble_insn): New arg `cpu'.
	* cgen-trace.c (trace_insn): Update call to sim_disassemble_insn.
	* cgen-utils.c (cgen_init): New function.
	(sim_disassemble_insn): New arg `cpu'.  Rewrite fetching of insn.
	* genmloop.sh: Call engine_halt if loop exits.
1997-05-01 20:53:43 +00:00
David Edelsohn
968d32cc40 (cgen-utils.o): Update cgen-{mem,sem}.h dependencies. 1997-05-01 20:43:24 +00:00
David Edelsohn
6475b23404 Sigh. Put generated files with each cgen cpu. 1997-05-01 20:11:00 +00:00
David Edelsohn
c967f1874a * Makefile.in (sim-options_h): Define.
(sim-{module,options,trace,profile,utils}.o): Clean up dependencies.
	(sim-model.o): Add new rule.
	(cgen-{scache,trace,utils}.o): Add new rules.
	* aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add.
	* cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'.
	Indent output by 2 spaces.
	* cgen-scache.h (scache_print_profile): Update.
	* cgen-trace.c (trace_insn_fini): Indent output by 2 spaces.
	Use trace_printf, not fprintf.
	(trace_extract): Use trace_printf, not cgen_trace_printf.
	* genmloop.sh (!FAST case): Increment `insn_count'.
	* sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE.
	(sim_cpu_base): Rename member `sd' to `state' to be consistent with
	access macro's name.
	* sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it.
	Change return type to SIM_RC.
	(sim_core_{install,uninstall}): New functions.
	* sim-core.h (sim_core_{install,uninstall}): Declare.
	(sim_core_init): Use EXTERN_SIM_CORE to define it.
	Change return type to SIM_RC.
	* sim-model.h (models,machs,model_install): Declare.
	* sim-module.c (modules): Add scache_install, model_install.
	(sim_post_argv_init): Set cpu->state backlinks.
	* sim-options.c (standard_options): Delete --simcache-size,--max-insns.
	(standard_option_handler): Likewise.
	* sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to
	sim-profile.h.
	(*): Assume ANSI C.
	(profile_options): Delete --profile-simcache.
	(profile_option_handler): Likewise.
	(profile_print_insn): Change `sd' arg to `cpu'.  Indent output 2
	spaces.
	(profile_print_{memory,model}): Likewise.
	(profile_print_simcache): Delete.
	(profile_print_speed): New function.
	(profile_print): Rewrite.
	* sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache.
	(WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P.
	(PROFILE_DATA): Delete members simcache_{hits,misses}.
	(PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete.
	(PROFILE_{CALLBACK,CPU_CALLBACK}): New types.
	(profile_print): Update prototype.
1997-05-01 18:05:37 +00:00
David Edelsohn
2c8f0de695 (EXTRACT_SIGNED,EXTRACT_UNSIGNED,HOST_LONGS_FOR_BITS): Move from
cgen-types.h to cgen-sim.h.
1997-05-01 17:45:25 +00:00
David Edelsohn
b9c8cd1023 * cgen-mem.h, cgen-scache.[ch], cgen-sem.h, cgen-sim.h: New files.
* cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
	* sim-model.c: New file.
1997-05-01 01:48:27 +00:00
David Edelsohn
717dbb296e * Make-common.in (clean targets): Undo patch of Apr. 22. 1997-04-30 18:35:58 +00:00
David Edelsohn
e280e9ece1 * tconfig.in (SIM_PRE_LOAD): Delete, no longer used. 1997-04-30 17:22:51 +00:00
Andrew Cagney
c1c77d4071 Add Tick shift insn 1997-04-30 08:41:47 +00:00
Andrew Cagney
255925e912 Tidy code gen. 1997-04-30 08:39:51 +00:00
Andrew Cagney
d5e2c74e38 Numerous fixes. 1997-04-29 08:41:15 +00:00
Michael Meissner
564e2a3fe9 Allow simulators to be built on Linux 1997-04-25 19:29:31 +00:00
Andrew Cagney
abe293a0c6 Enable more instructions. 1997-04-24 12:06:27 +00:00
David Edelsohn
11c49a464f * configure: Regenerated to track ../common/aclocal.m4 changes. 1997-04-24 07:58:17 +00:00
David Edelsohn
aafb68adf6 * configure.in (m32r-*-*): New target.
* configure: Regenerate.
1997-04-24 07:54:06 +00:00
David Edelsohn
dd442a4491 * configure: Regenerated to track ../common/aclocal.m4 changes.
* Makefile.in (SIM_OBJS): Add sim-module.o, sim-profile.o.
	* sim-calls.c (sim_open): Call sim_module_uninstall if argument
	parsing fails.  Call sim_post_argv_init.
	(sim_close): Call sim_module_uninstall.
1997-04-24 07:50:16 +00:00
David Edelsohn
89d151904f * Makefile.in (autoconf-common, autoconf-changelog): Change $* to $@. 1997-04-24 07:48:47 +00:00
David Edelsohn
b320601b45 * sim-module.h, sim-model.h, sim-profile.h: New files.
* sim-module.c, sim-profile.c: New files.
	* Make-common.in (SIM_PROFILE): Define
	(CONFIG_CFLAGS): Add $(SIM_PROFILE).
	(sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h.
	(sim_module.o,sim-profile.o): Add rules for.
	* aclocal.m4 (--enable-sim-trace): Allow symbolic arguments.
	(--enable-sim-profile): Add.
	* configure: Regenerated.
	* sim-base.h (sim_state_base): New members init_list, uninstall_list,
	model.  Move trace and profile support to sim-{trace,profile}.h.
 	New members trace_data, profile_data.
	* sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h.
	* sim-config.h: Provide default definition of WITH_PROFILE.
	(WITH_TRACE): Change default to -1.
	(MAX_NR_PROCESSORS): Always define.
	* sim-options.c: Move trace and profile support to
	sim-{trace,profile}.h.
	(sim_pre_argv_init): Moved to sim-model.c.
	(standard_install): New function.
	* sim-options.h (sim_pre_argv_init): Move decl to sim-model.c.
	(standard_install): Declare.
	* sim-trace.c: Tracing option handling moved here from sim-options.c.
	(trace_install, trace_uninstall): New functions.
	(trace_printf): Update reference to TRACE_FILE.
	* sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h.
	(TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace.
	(WITH_TRACE_FOO_P): Define.
	(trace_install): Declare.
	(TRACE_DATA): New struct.
1997-04-24 07:33:45 +00:00
David Edelsohn
73da4db587 * tconfig.in: New file.
* interp.c (sim_open): Handle missing arg to -E.
1997-04-24 00:56:33 +00:00
David Edelsohn
3be0e22896 * tconfig.in (SIM_HAVE_BIENDIAN): Define. 1997-04-24 00:42:50 +00:00
David Edelsohn
ef751fb06b * run.c: Undo last exec_bfd patch.
(main): Only pass -E ifdef SIM_HAVE_BIENDIAN.
1997-04-24 00:30:41 +00:00
David Edelsohn
2986085861 * interp.c (prog_bfd_was_opened_p): New static local.
(prog_bfd): New global variable.
	(sim_open): Undo patch to add -E support.
	(sim_close): Close prog_bfd if sim_load opened it.
	(sim_load): Record bfd of loaded file in prog_bfd.
	* simops.c (prog_bfd): Renamed from exec_bfd.
1997-04-24 00:22:10 +00:00
Michael Meissner
e3eba3fd0a Restore exec_bfd, needed for v850 debug code 1997-04-23 21:57:39 +00:00
Andrew Cagney
480e740cc1 More Tic80 instructions. 1997-04-23 13:56:14 +00:00
David Edelsohn
2c27ef7817 * sim-load.c (sim_load_file): #include <stdio.h> for NULL. 1997-04-22 21:44:43 +00:00
David Edelsohn
2d03fffed8 * interf.c (sim_open): Undo patch to add -E support. 1997-04-22 18:05:31 +00:00
Andrew Cagney
15c1649391 TIc80 simulator checkpoint - runs 3 instructions - trap, addu, br.a. 1997-04-22 17:46:07 +00:00
David Edelsohn
81f464815d * interp.c (sim_open): Undo patch to add -E support. 1997-04-22 17:31:11 +00:00
Stu Grossman
0f399b0c6b * Make-common.in: Change clean targets to use :: so that other
Makefiles can have their own clean targets.
	* sim-load.c (xprintf eprintf):  Use ANSI_PROTOTYPES instead of
	__STDC__ to control use of stdarg vs. varargs syntax.  Some
	systems can't use __STDC__, but require stdarg.
1997-04-22 16:00:06 +00:00
Stu Grossman
99f347be32 * Makefile.in: Add clean targets. 1997-04-22 15:56:45 +00:00
Gavin Romig-Koch
d654ba0acf for DIV: check for div by zero and int overflow 1997-04-21 21:26:17 +00:00
Stu Grossman
2717217130 * interp.c: Include float.h and define SIGTRAP if _WIN32.
WIN32 -> _WIN32.
	* (trap):  Do do SYS_chown for _WIN32.
1997-04-19 01:59:09 +00:00
David Edelsohn
e65bd1d843 * sim-options.c (standard_options): Add --endian.
(standard_option_handler): Likewise.
1997-04-18 21:32:07 +00:00
David Edelsohn
d90f7aa552 Add a comment. 1997-04-18 21:15:26 +00:00
David Edelsohn
d90eb3ff6b * interp.c (sim_resume): Fix argument to poll_quit. 1997-04-18 20:33:27 +00:00
David Edelsohn
4a6163dbc5 * nrun.c: #include <signal.h>.
(main, cntrl_c): Wrap calls to sim_resume in a SIGINT
 	handler that calls sim_stop ().
1997-04-18 18:16:30 +00:00
Andrew Cagney
8517f62b16 Ref gdb/11763 - can't stop a running simulator:
o	Provide poll_quit callback to simulators
		so that they can poll for SIGINT on
		clueless OS's.

	o	Add sim_stop to simulators so that clients
		can request a halt (eg gdbtk's STOP button)
		Works for PPC!

	o	Re-arange remote-sim.c so that the
		hard work is moved from gdbsim_resume()
		to gdbsim_wait() (where it should be).
1997-04-18 12:24:52 +00:00
Fred Fish
6e236775b5 * arminit.c (ARMul_NewState): Preinitialize the state to
all zero/NULL.
1997-04-18 01:33:07 +00:00
David Edelsohn
63ddb6bd72 * aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h.
Check for functions getrusage, time.
	* sim-basics.h (SIM_ELAPSED_TIME): New typedef.
	(sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes.
	* sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able.
	(sim_elapsed_time_get, sim_elapsed_time_since): New functions.
1997-04-17 22:26:31 +00:00
David Edelsohn
ba65b2f4c9 * sim-utils.c (sim_copy_argv, sim_analyze_program): New functions. 1997-04-17 14:14:49 +00:00
David Edelsohn
e9b2f57903 sim-trace.c: New file. 1997-04-17 14:08:30 +00:00
David Edelsohn
5bfbd72555 Add macros for CPU_FOO_FILE, CPU_STATE. 1997-04-17 14:07:43 +00:00
David Edelsohn
8786d42627 (standard_option_handler): Tweak some error messages.
(sim_parse_args): Record orig_val as unsigned char.
1997-04-17 14:07:19 +00:00
David Edelsohn
15d8adf5b5 Clean up. 1997-04-17 14:06:10 +00:00
David Edelsohn
d4f1c49e78 * igen.c (print_itrace): Use TRACE_FOO_P and trace_printf. 1997-04-17 14:03:16 +00:00
David Edelsohn
c95d08a8d6 * Make-common.in (nrun.o): Add rule for.
* nrun.c: New file.
1997-04-17 12:43:31 +00:00
David Edelsohn
4b364b00cf * sim-config.h (WITH_DEBUG): Provide default value of zero. 1997-04-17 12:41:19 +00:00
David Edelsohn
4ede3a832b * sim-options.c, sim-options.h: New files. 1997-04-17 12:39:29 +00:00
David Edelsohn
cdd7a784bd MAX_CPUS -> WITH_SMP. 1997-04-17 12:21:35 +00:00
David Edelsohn
75cfb4864d Fix copyright message, this is not GCC. 1997-04-17 11:24:09 +00:00
David Edelsohn
f7d2f53818 * run.c (main): Check return value of sim_open. 1997-04-17 11:14:21 +00:00
David Edelsohn
1ad886c928 * Makefile.in (SIM_OBJS): Add sim-load.o.
* interp.c (sim_kind, myname): New static locals.
	(sim_open): Set sim_kind, myname.  Ignore -E arg.
	(sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
	load file into simulator.  Set start address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1997-04-17 10:54:07 +00:00
David Edelsohn
1d77e69d4a * Makefile.in (SIM_OBJS): Add sim-load.o.
* interp.c (target_byte_order): Delete.
	(sim_kind, myname, little_endian_p): New static locals.
	(init_pointers): Use little_endian_p instead of target_byte_order.
	(sim_resume): Likewise.
	(sim_open): Set sim_kind, myname.  Set little_endian_p from -E arg.
	(sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
	load file into simulator.  Set start address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1997-04-17 10:52:59 +00:00
David Edelsohn
ed119303f5 * psim.c (psim_options): Ignore -E option (sets endianness).
* sim_calls.c: #include bfd.h.
	(entry_point): New static local.
	(sim_load): Return SIM_RC.  New arg abfd.  Set start address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1997-04-17 10:31:52 +00:00
David Edelsohn
6cc6987e1e * Makefile.in (SIM_OBJS): Add sim-load.o.
* interp.c (sim_kind, myname): New static locals.
	(sim_open): Set sim_kind, myname.  Ignore -E arg.
	(sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
	load file into simulator.  Set start address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1997-04-17 10:27:47 +00:00
David Edelsohn
9d52bcb7f0 * Makefile.in (SIM_OBJS): Add sim-load.o.
* interp.c: #include bfd.h.
	(target_byte_order): Delete.
	(sim_kind, myname, big_endian_p): New static locals.
	(sim_open): Set sim_kind, myname.  Move call to set_endianness to
	after argument parsing.  Recognize -E arg, set endianness accordingly.
	(sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
	load file into simulator.  Set PC from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
	(set_endianness): Use big_endian_p instead of target_byte_order.
1997-04-17 10:23:48 +00:00
David Edelsohn
463372706f * Makefile.in (SIM_OBJS): Add sim-load.o.
* compile.c (sim_kind, myname): New static locals.
	(sim_open): Set sim_kind, myname.
	(sim_load): Return SIM_RC.  New arg abfd.  Update test for h8300h.
	Call sim_load_file to load file into simulator.  Set start address
	from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1997-04-17 10:14:28 +00:00
David Edelsohn
26277668db * interf.c (sim_open): Ignore -E arg.
(start_address): New static local.
	(sim_load): Return SIM_RC.  New arg abfd.  Set start_address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1997-04-17 10:05:50 +00:00
David Edelsohn
04885cc34c * Makefile.in (SIM_OBJS): Add sim-load.o.
* d10v_sim.h (exec_bfd): Rename to prog_bfd.
	* interp.c: #include bfd.h.
	(myname, sim_kind, start_address): New static locals.
	(prog_bfd_was_opened_p, prog_bfd): New static locals.
	(decode_pc): Update to use prog_bfd.
	(sim_open): Set sim_kind, myname.  Ignore -E arg.
	(sim_close): Close prog_bfd if simulator opened it.
	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
	(sim_load): Return SIM_RC.  New arg abfd.  Set start address from bfd.
	Call sim_load_file to load file into simulator.
	* simops.c (trace_input_func): exec_bfd renamed to prog_bfd.
1997-04-17 10:02:27 +00:00
David Edelsohn
0ab92fe79f * Makefile.in (SIM_OBJS): Add sim-load.o.
* wrapper.c (sim_kind,myname): New static locals.
	(sim_open): Set sim_kind, myname.
	(sim_load): Call sim_load_file to do work.  Set start address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete start_address arg.
1997-04-17 09:41:11 +00:00
David Edelsohn
35c384f6bb * sim-load.c: New file.
[forgot this]
1997-04-17 09:38:01 +00:00
David Edelsohn
3b609fd511 Add sim-load.c, sim-trace.h. 1997-04-17 09:37:42 +00:00
David Edelsohn
0f2811d1c5 * Make-common.in (sim-options.o, sim-load.o): Add rules for.
(sim_main_headers): Add sim-trace.h.
	* run.c (exec_bfd, target_byte_order): Delete.
	(main): Pass -E <endian> to sim_open.  Delete code to load sections,
	call sim_load instead.  Check return code of sim_create_inferior.
	* sim-base.h (CURRENT_STATE): Define.
	(sim_state_base): Make typedef.  New members options, prog_argv,
	prog_bfd, text_{section,start,end}, start_addr, simcache_size,
	mem_size, memory [+ corresponding access macros].
	(sim_cpu_base): New typedef.
	* sim-trace.h: New file.
	* sim-basics.h: #include it.
	* sim-load.c: New file.
1997-04-17 09:37:02 +00:00
Andrew Cagney
87e43259f1 Cleanups to compile under FreeBSD 1997-04-17 06:05:19 +00:00
Ian Lance Taylor
c42d511971 * Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_XFORM, INSTALL_XFORM1): Remove.
1997-04-15 19:20:58 +00:00
Ian Lance Taylor
61473a55c5 * Makefile.in (install-sis): Depend upon installdirs. Use
$(program_transform_name) directly, rather than using
	$(INSTALL_XFORM).
1997-04-15 19:19:43 +00:00
Ian Lance Taylor
6808fd61d2 * Make-common.in (INSTALL): Set to @INSTALL@.
(INSTALL_XFORM, INSTALL_XFORM1): Remove.
	(install-common): Depend upon installdirs.  Use
	$(program_transform_name) directly, rather than using
	$(INSTALL_XFORM).
	(installdirs): New target.
	* Makefile.in (INSTALL): Set to @INSTALL@.
	(INSTALL_XFORM, INSTALL_XFORM1): Remove.
	(install-man): Depend upon installdirs.  Use
	$(program_transform_name) directly, rather than using
	$(INSTALL_XFORM).
	(installdirs): New target.
1997-04-15 19:13:56 +00:00
Ian Lance Taylor
04184003f6 * Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_XFORM, INSTALL_XFORM1): Remove.
	(install): Depend upon installdirs.  Use $(program_transform_name)
	directly, rather than using $(INSTALL_XFORM).
	(installdirs): New target.
1997-04-15 19:06:20 +00:00
Ian Lance Taylor
d60002f692 * Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_XFORM, INSTALL_XFORM1): Remove.
	(install): Depend upon installdirs.  Use $(program_transform_name)
	directly, rather than using $(INSTALL_XFORM) and
	$(INSTALL_XFORM1).
	(installdirs): New target.
1997-04-15 18:55:38 +00:00
Andrew Cagney
21a2898b49 From Jim Wilson <wilson@cygnus.com>
* Makefile.in (tmp-hw, tmp-pk): Use for loop to eliminate duplicates
rather than the non-portable cat -n.
1997-04-15 10:48:28 +00:00
Andrew Cagney
7ec396d270 Get the BIT/MASK/ROT/... macros to work with any 32/64/MSB0/MSBn target. 1997-04-15 08:54:01 +00:00
Ian Lance Taylor
f2906ccc4c rename install.sh to install-sh 1997-04-14 20:31:04 +00:00
Jeff Law
81f13ed1f3 * simops.c (syscall): Handle new mn10300 calling conventions.
Forgot to check this in last week.
1997-04-08 06:01:20 +00:00
David Edelsohn
3990f1cdf3 Remove m32r sanitization. 1997-04-08 00:30:30 +00:00
David Edelsohn
25a9c90b92 * sim-base.h (sim_state_base): Move `magic' to end of struct. 1997-04-07 17:47:38 +00:00
Andrew Cagney
b4d888275e Check a program to run is present. 1997-04-07 06:07:13 +00:00
Andrew Cagney
08db4a658e Get configure to define RETSIGTYPE 1997-04-07 05:58:59 +00:00
Andrew Cagney
7934ec88db Use $(srcdir)/... instead of $< in make rules 1997-04-07 05:21:04 +00:00
Ian Lance Taylor
ea553f5643 * Makefile.in: Change mn10300-opc.o to m10300-opc.o, to match
corresponding change in opcodes directory.
1997-04-05 01:03:01 +00:00
David Edelsohn
21bfad86aa * sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here,
* sim-config.h: To here.
1997-04-03 03:02:48 +00:00
David Edelsohn
30bb74eca4 * gen-support.c (gen_support_c): sim-state.h renamed to sim-main.h.
* gen-idecode.c (gen_idecode_c): Likewise.
	* igen.c (gen_semantics_c): Likewise.
1997-04-03 02:52:07 +00:00
David Edelsohn
e77fd2694b New files. 1997-04-03 02:37:44 +00:00
David Edelsohn
00d74d3ea1 * Make-common.in (SIM_EXTRA_DEPS): New config var.
(sim_main_headers): Define.
	(sim-*.o): Depend on $(SIM_EXTRA_DEPS).
	(BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in.
	(clean): Use it.
	(sim-utils.o): Add rule for.
	* sim-utils.o: New file.
	* sim-basics.h: #include sim-base.h.
	(zalloc): Make argument unsigned long.
	* sim-base.h: New file.
	* sim-inline.h (SIM_IO support): Delete.
	* sim-io.h: Delete inline support.
	* sim-io.c: Likewise.  sim-state.h renamed to sim-main.h.
	* sim-config.c: sim-state.h renamed to sim-main.h.
	* sim-core.c: Likewise.
	* sim-events.c: Likewise.
1997-04-03 02:36:59 +00:00
Andrew Cagney
1414a2e5cb From Jim Wilson, fix typo in instruction name 1997-04-03 02:36:28 +00:00
David Edelsohn
68682c0877 (autoconf-changelog): Try different way to obtain user name.
Forgot this one.
1997-04-03 02:35:52 +00:00
Andrew Cagney
96527c4ea6 Add autoheader counterpart to autoconf-common et.al. 1997-04-03 02:22:52 +00:00
David Edelsohn
d0218f5172 * interp.c (sim_open): New arg kind'. name is now `argv'. 1997-04-02 23:41:09 +00:00
David Edelsohn
8a7c3105b5 * interp.c (sim_open): New arg `kind'. 1997-04-02 23:39:50 +00:00
David Edelsohn
33f00b8b20 * sim_calls.c (sim_open): New arg `kind'. 1997-04-02 23:38:22 +00:00
David Edelsohn
14b71cd185 * compile.c (sim_open): New arg `kind'. 1997-04-02 23:33:56 +00:00
David Edelsohn
999977eaed * interf.c (sim_open): New arg `kind'. 1997-04-02 23:32:28 +00:00
David Edelsohn
8020feac30 * interp.c (sim_open): New arg `kind'. 1997-04-02 23:30:24 +00:00
David Edelsohn
99f84c8192 * wrapper.c (sim_open): New arg `kind'. 1997-04-02 23:29:08 +00:00
David Edelsohn
bcd1475aec * run.c (main): Pass SIM_OPEN_STANDALONE to sim_open. 1997-04-02 23:28:12 +00:00
David Edelsohn
fbda74b1c1 * aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h.
(sim-debug): Allow arguments.  Define WITH_DEBUG in addition to
	-DDEBUG.
	* configure: Regenerated to track ../common/aclocal.m4 changes.
1997-04-02 23:17:50 +00:00
David Edelsohn
b04500b2c4 * Makefile.in (autoconf-install): New target. 1997-04-02 23:10:34 +00:00
Ian Lance Taylor
64d2004922 * COPYING: Update FSF address. 1997-04-02 19:51:31 +00:00
Andrew Cagney
a35e91c3c7 New file common/sim-config.c sets/checks simulator configuration options.
Update common/aclocal.m4 to better work with sim-config.[hc].
1997-04-02 05:04:25 +00:00
Andrew Cagney
61c8342039 New target autoconf-changelog 1997-04-02 04:53:56 +00:00
Andrew Cagney
b69cc8ab14 New target - autoconf-changelog 1997-04-02 04:52:31 +00:00
Andrew Cagney
0391b23d7b Handle BSD make and its liking for `set -e' 1997-03-26 01:50:19 +00:00
Andrew Cagney
332cb0a763 * emul_bugapi.c (emul_bugapi_create): Guard against NULL images.
* configure.in (enable-sim-endain): Correct typo in usage (from
Erik Landry <landry@ENGR.ORST.EDU>).
* configure: Re-generate.
1997-03-25 05:06:12 +00:00
Andrew Cagney
265e7c8ba6 The d30v release has a testsuite directory. 1997-03-24 07:18:02 +00:00
Andrew Cagney
00729fe3c5 Enable testsuite in sim directory. 1997-03-24 06:59:54 +00:00
Andrew Cagney
139d457d4e Growing number of tests for d30v 1997-03-24 06:49:54 +00:00
Jeff Law
aa7cec3fb8 * run.c: Include alloca-conf.h. 1997-03-21 05:41:28 +00:00
Jeff Law
7c058c9e50 * callback.c (os_evprintf_filtered): Fix typo. 1997-03-21 04:53:13 +00:00
Andrew Cagney
fa21d299e6 Pass GCC -W... 1997-03-21 03:56:07 +00:00
Jeff Law
65b784d8a5 * simops.c: Fix register extraction for a two "movbu" variants.
Somewhat simplify "sub" instructions.
        Correctly sign extend operands for "mul".  Put the correct
        half of the result in MDR for "mul" and "mulu".
        Implement remaining instructions.
        Tweak opcode for "syscall".
1997-03-20 19:02:44 +00:00
Jeff Law
0915c8433b * simops.c: Do syscall emulation in "syscall" instruction. Add
dummy "trap" instruction.
Cleanups for the beta release.
1997-03-18 21:24:38 +00:00
Andrew Cagney
c695046ac9 Move SIM_AC_OPTION_ macros out of SIM_AC_COMMON macro - was trashing
optional arguments.
* Regenerate all configure scripts.
1997-03-18 14:28:34 +00:00
Andrew Cagney
4a5fb09da0 * sim-alu.h: Include sim-xcat.h.
* d30v-insn (do_sat*): Pass all necessary args.
1997-03-18 10:10:10 +00:00
Andrew Cagney
603ece73e1 Include new files sim-assert.h sim-xcat.h sim-state.h 1997-03-18 08:45:44 +00:00
Andrew Cagney
b27be85fe9 New files added during rename/cleanup of engine -> sim_state. 1997-03-18 07:44:40 +00:00
Andrew Cagney
d11d59aca8 Rename struct _engine' to new struct sim_state'. 1997-03-18 07:43:22 +00:00
Andrew Cagney
752517ccf0 Fix bugs in d30v sat and mul instructions. 1997-03-18 02:41:21 +00:00
Andrew Cagney
86eb1e292c * sim-inline.h: Add definitions for sim-types.
(ALL_BY_MODULE): New macro, encapsulate full inlining by the
 	module.
1997-03-17 16:29:21 +00:00
Andrew Cagney
231de1b8db remove defunct variable from event struct 1997-03-17 16:26:35 +00:00
Andrew Cagney
ac0e48ce6f Correctly validate 64bit instructions 1997-03-17 16:14:47 +00:00
Gavin Romig-Koch
6efa34d87a Add/use pr_uword64 for SIM_ADDR independent values. 1997-03-17 16:02:13 +00:00
Andrew Cagney
a77aa7ec4b * configure: Re-generate.
* Make-common.in (CSEARCH): Do not include the gdb directory in
        the search path.
        * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
        SIM_WARNING): Drop, requiring the simulator specific Makefile.in
        to explicitly incorporate these.

        * aclocal.m4 (--enable-sim-alignment); New option. Strongly
        specify the alignment restrictions of the target architecture -
        without this option all alignment restrictions are accomodated.
        (--enable-sim-assert): New option.  Conditionally compile in
        assertion statements.
        (--enable-sim-float): New option. Strongly specify the target's
        floating point support.
        (--enable-sim-hardware): New option.  Specify the hardware devices
        included in the simulation.
        (--enable-sim-packages): New option.  Specify the hardware
        packages included in the simulation.
        (--enable-sim-regparm): New option.  Specify that parameters be
        passed in registers instead of on the stack.
        (--enable-sim-reserved-bits): New option. Specify that reserved
        bits within an instruction are are correctly set.
        (--enable-sim-smp): New option. Specify the level of SMP support
        to be included in the simulator.
        (--enable-sim-stdcall): New option.  Specify an alternative
        function call convention.
        (--enable-sim-xor-endian): New option.  Configure xor-endian
        support used by some targets to implement bi-endian support.
1997-03-17 15:29:29 +00:00
Andrew Cagney
f3120217c8 Update names 1997-03-14 16:51:21 +00:00
Andrew Cagney
f5c7064ae7 Forgot to update *-n.h to sim-n*.h 1997-03-14 16:48:11 +00:00
Michael Meissner
eb312eff6e Add comment to changelog 1997-03-14 16:24:02 +00:00
Michael Meissner
601fb8aea6 Regenerate simulator configure scripts; Remove d10v traps 1-3, Make 15 the system call trap, keeping 0 temporarily 1997-03-14 16:21:57 +00:00
Andrew Cagney
f2de7dfd8c Add a number of per-simulator options: hostendian, endian, inline, warnings.
Rename *-n.h files to be dos compatible
1997-03-14 15:13:58 +00:00
Andrew Cagney
3df381976f * ld-insn.c (parse_insn_format): Accept '*' as an alternative of
`/' in bit fields.  `/' denotes a wild bit.
1997-03-14 02:00:07 +00:00
David Edelsohn
0b0cc453a4 * interp.c (sim_open): New SIM_DESC result. Argument is now
in argv form.
	(other sim_*): New SIM_DESC argument.
1997-03-13 21:01:38 +00:00
David Edelsohn
87ae64c3a3 * sim_calls.c (sim_open): New SIM_DESC result. Argument is now
in argv form.
	(other sim_*): New SIM_DESC argument.
1997-03-13 20:59:29 +00:00
David Edelsohn
53b9417eb3 * interp.c (sim_open): New SIM_DESC result. Argument is now
in argv form.
	(other sim_*): New SIM_DESC argument.
1997-03-13 20:55:26 +00:00
David Edelsohn
1520d7e9b9 * compile.c (sim_open): New SIM_DESC result. Argument is now in
argv form.
	(other sim_*): New SIM_DESC argument.
1997-03-13 20:49:39 +00:00
David Edelsohn
323d0e9d8f * interf.c (sim_open): New SIM_DESC result. Argument is now in
argv form.
	(other sim_*): New SIM_DESC argument.
1997-03-13 20:47:43 +00:00
David Edelsohn
395adcffb2 * interp.c: Delete redundant prototypes of sim_foo fns.
(sim_open): New SIM_DESC result.  Argument is now in argv form.
	(other sim_*): New SIM_DESC argument.
1997-03-13 20:44:07 +00:00
David Edelsohn
a579d134ac * wrapper.c (sim_open): Has result now.
(sim_*): New SIM_DESC argument.
1997-03-13 20:40:53 +00:00
David Edelsohn
499aa7921c * run.c: #include "libiberty.h".
(main): New locals sd,no_args,sim_argv.
	Run buildargv on -a option.  Pass argv to sim_open, argv[0]
	is program name.  Update call to sim_set_callbacks.
	Record result of sim_open, pass to other sim_foo routines.
1997-03-13 20:37:15 +00:00
Michael Meissner
f4b022d37c Fix problems in setting the carry bit 1997-03-13 20:30:50 +00:00
Michael Meissner
fd435e9f09 Fix os_printf_filtered; Flush stdout after calling printf_filtered 1997-03-13 16:04:50 +00:00
Andrew Cagney
447a825b4f New directory, devo/sim/testsuite - loose (sanitize) it for the moment. 1997-03-13 04:22:38 +00:00
Jeff Law
0ade484f98 * simops.c: Fix carry bit computation for "add" instructions.
More bugs exposed by new mn10300 compiler optimizations.
1997-03-12 22:20:13 +00:00
Jeff Law
09eef8af93 * simops.c: Fix typos in bset insns. Fix arguments to store_mem
for bset imm8,(d8,an) and bclr imm8,(d8,an).
Bugs exposed by new compiler optimizations.
1997-03-12 22:05:49 +00:00
Andrew Cagney
a1dc394560 New files:
sim-io - interface to external IO
	sim-events - event queue management
	sim-core - hardware memory model (device
		support optional but comming
		soon).
1997-03-07 09:15:56 +00:00
Andrew Cagney
b3e426bc3e Extend bit and endian operators. 1997-03-07 09:08:07 +00:00
Andrew Cagney
17bbcaad92 Clean up. 1997-03-07 08:57:02 +00:00
Andrew Cagney
3bd4dff4ef Loose the bugs file. 1997-03-07 07:34:19 +00:00
Jeff Law
43eb4bed50 * simops.c: Fix register references when computing Z and N bits
for lsr imm8,dn.
Bug exposed by c-torture testing of the mn10300.
1997-03-05 22:04:31 +00:00
Jeff Law
3788a2b12f * configure.in: Add mn10200 configure lines accidentally
removed.
        * configure: Regenerated.
Opps.
1997-03-03 20:08:19 +00:00
Jim Wilson
22540e2d50 Correct d10v sanitization errors. 1997-03-03 00:46:11 +00:00
Angela Marie Thomas
d0d80f48e0 add sim-basics.h sim-config.h sim-inline.c to Things-to-keep 1997-02-27 08:11:38 +00:00
Gavin Romig-Koch
c94db67a25 Correct the overloaded DOUBLEWORD problem 1997-02-26 23:49:19 +00:00
Dawn Perchik
4580503f2c start-sanitize-r5900
* gencode.c: #ifdef out offending code until a permanent fix
	can be added.  Code is causing build errors for non-5900 mips targets.
end-sanitize-r5900
1997-02-25 07:04:39 +00:00
Andrew Cagney
1fe4ec0766 Really checkin the d30v sim directory configure files. 1997-02-21 03:33:03 +00:00
Andrew Cagney
978a4d8b93 The remainder of igen taken from the PowerPC simulator directory. 1997-02-21 02:50:27 +00:00
Andrew Cagney
a4c97499d9 Instruction decode generator taken from the PowerPC simulator
and being made more generic.
1997-02-21 02:49:21 +00:00
Andrew Cagney
317df3b530 Add d30v simulator configuration but sanatize it out. 1997-02-21 02:44:57 +00:00
Andrew Cagney
332cb5d943 Make useful macro's and functions found in the PowerPC simulator
directory more widely available.
1997-02-21 02:42:48 +00:00
Michael Meissner
b934926eac Since d10v is public now, remove all sanitization statements 1997-02-20 17:00:14 +00:00
Michael Meissner
c6c7035cfb Since d10v is public now, remove all sanitization statements 1997-02-20 16:05:18 +00:00
Gavin Romig-Koch
528031fd49 Correct test for ISA dependent bits 1997-02-20 15:48:57 +00:00
Jeff Law
8f06365c2f * configure.in: Don't require GCC to build the mn10200
simulator anymore.
        * configure: Rebuilt.
1997-02-20 06:19:13 +00:00
Mark Alexander
7e05106dc8 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors. 1997-02-19 22:44:02 +00:00
Gavin Romig-Koch
2d18fbc668 Correct flags for PMADDUW insn 1997-02-18 22:15:04 +00:00
Andrew Cagney
d7e89eaff8 Per PR 11678 - also need to maintan .Sanitize 1997-02-14 21:58:48 +00:00
Andrew Cagney
cdd3120398 PR 11678 - rename long decode-rule files to shorter ones, eliminate
need for multiple almost identical decode-rule files
1997-02-14 19:06:08 +00:00
Ian Lance Taylor
bd2f63470e * gencode.c (build_mips16_operands): Correct computation of base
address for extended PC relative instruction.
1997-02-13 19:08:55 +00:00
Michael Meissner
37404956b4 New version from Andrew; Portability fixes on top of that 1997-02-11 20:19:28 +00:00
Michael Meissner
f9114af581 Fix warnings when compiling callback.c 1997-02-11 18:56:35 +00:00
Michael Meissner
c45adab0b9 Silence warnings in ppc simulator 1997-02-11 18:48:40 +00:00
Gavin Romig-Koch
276c2d7dc8 Add r5900 1997-02-11 13:26:34 +00:00
Ian Lance Taylor
da0bce9c27 * interp.c (mips16_entry): Add support for floating point cases.
(SignalException): Pass floating point cases to mips16_entry.
	(ValueFPR): Don't restrict fmt_single and fmt_word to even
	registers.
	(StoreFPR): Likewise.  Also, don't clobber fpr + 1 for fmt_single
	or fmt_word.
	(COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
	and then set the state to fmt_uninterpreted.
	(COP_SW): Temporarily set the state to fmt_word while calling
	ValueFPR.
1997-02-06 22:19:05 +00:00
David Edelsohn
4234ffa28d Fix thinkos in last change. 1997-02-05 21:46:43 +00:00
David Edelsohn
2a2eda4daf * configure.in: Don't configure any subdirs if no simulator
is being built.  Don't use erc32 for sparc64.
	* configure: Regenerated.
1997-02-05 21:29:32 +00:00
David Edelsohn
ce3189da63 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
COMMON_{PRE,POST}_CONFIG_FRAG instead.
	* configure.in: sinclude ../common/aclocal.m4.
	* configure: Regenerated.
1997-02-04 22:07:50 +00:00
David Edelsohn
cef84fb394 * configure.in: Fix typo in test for callback.c.
* configure: Regenerated.
1997-02-04 22:05:00 +00:00
Ian Lance Taylor
6389d8561c * gencode.c (build_instruction): The high order may be set in the
comparison flags at any ISA level, not just ISA 4.
1997-02-04 21:48:54 +00:00
David Edelsohn
19c5af72af * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
COMMON_{PRE,POST}_CONFIG_FRAG instead.
	* configure.in: sinclude ../common/aclocal.m4.
	* configure: Regenerated.
1997-02-04 21:42:27 +00:00
David Edelsohn
1cc9ed2959 * Makefile.in (libcommon.a): Delete.
(callback.o,targ-map.o): Delete, moved to Make-common.in.
	(gentmap,targ-vals.h,targ-map.c): Likewise.
	(run-autoconf): Delete.
	* aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile.
	(common makefile fragment): Moved back into ...
	* Make-common.in: Resurrect.
	* configure.in (AC_LINK_FILES): Delete, unnecessary now.
	* configure: Regenerated.
1997-02-04 21:32:42 +00:00
David Edelsohn
111c0666a7 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
COMMON_{PRE,POST}_CONFIG_FRAG instead.
	* configure.in: sinclude ../common/aclocal.m4.
	* configure: Regenerated.
1997-02-04 21:24:23 +00:00
David Edelsohn
27b9abfd02 * Makefile.in (autoconf-common): New target.
* configure.in: Do configure common.
	* configure: Regenerated.
1997-02-04 21:21:30 +00:00
David Edelsohn
117224eaaf Docs on configury mostly. 1997-02-04 21:19:08 +00:00
Ian Lance Taylor
736a306cb2 * configure: Rebuild after change to aclocal.m4. 1997-01-31 16:12:09 +00:00
David Edelsohn
8cd89e778d * aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here.
(SIM_AC_OUTPUT): To here.
1997-01-31 15:20:26 +00:00
Michael Meissner
54973b801f Fix from Cagney so that new common files do not show up when using psim on old gdbs 1997-01-30 00:55:18 +00:00
Michael Meissner
d2e3d3af16 build callback and targ-map from the common directory 1997-01-29 17:42:14 +00:00
Michael Meissner
5c04f4f7fc January 23rd merge 1997-01-27 21:34:50 +00:00
Stu Grossman
ae0d7848d8 * ../common/aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
comments and single quotes.  Fixes a problem found on hpux.
1997-01-24 18:44:29 +00:00
Stu Grossman
76e2c9aeb7 * aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
comments and single quotes.  Fixes a problem found on hpux.
1997-01-24 18:42:34 +00:00
Jeff Law
018f9eb41f * interp.c (init_system): Allocate 2^19 bytes of space for the
simulator.
To match the linker.
1997-01-24 17:48:35 +00:00
Stu Grossman
a695143eae * configure: Remove targ-vals.def when doing distclean. (Change
is actually in ../common/aclocal.m4.)
1997-01-24 00:44:03 +00:00
Stu Grossman
42653e99b8 * (distclean): Remove targ-vals.def. 1997-01-24 00:38:32 +00:00
Stu Grossman
2757866e9e * configure: Remove Make-common.in from dependencies. (Actually in
../common/aclocal.m4).
1997-01-24 00:04:57 +00:00
Stu Grossman
e1dfb8c53c * aclocal.m4: Remove Make-common.in from dependencies. 1997-01-24 00:03:05 +00:00
Stu Grossman
295dbbe44c * configure configure.in Makefile.in: Update to new configure
scheme which is more compatible with WinGDB builds.
	* configure.in:  Improve comment on how to run autoconf.
	* configure:  Re-run autoconf to get new ../common/aclocal.m4.
	* Makefile.in:  Use autoconf substitution to install common
	makefile fragment.
1997-01-23 22:09:52 +00:00
Stu Grossman
80b7b3a50c * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in
into here.  Makes insertion into makefiles easier.  Also, change
	the way that callback.o, gentmap, targ-vals.h, targ-map.c,
	targ-map.o, and run are built.  They are now built in the
	individual simulator directories, taking sources from ../common as
	necessary.  This replaces the merging of libcommon.a into
	linsim.a, which was problematic for the WinGDB build process.
	* run.c:  Include config.h from . instead of ../common.
	* Make-common.in:  Remove.  It's no longer necessary.
1997-01-23 22:08:21 +00:00
Stu Grossman
6e1510a27d * configure configure.in: Don't configure common anymore. Files
from common are now built in the individual simualtor directories.
	This fixes problems with the WinGDB build procedure.
1997-01-23 22:07:08 +00:00
Jeff Law
f95251f068 * simops.c: Undo last change to "rol" and "ror", original code
was correct!
1997-01-21 22:03:39 +00:00
Michael Meissner
5a8023e5ba Multiply ops sign extend, not zero extend 1997-01-20 21:06:48 +00:00
Jeff Law
b4b290a020 * simops.c: Fix "rol" and "ror".
Something I noticed while working on the mn10200.
1997-01-16 18:28:46 +00:00
Jeff Law
898c77b856 * simops.c: Fix typo in last change. 1997-01-15 13:46:18 +00:00
Jeff Law
2da0bc1bf9 * simops.c: Use REG macros in few places not using them yet.
Something I noticed while working on the mn10200 simulator.
1997-01-13 20:28:37 +00:00
Jeff Law
c1848bd2ee * configure: Enable the mn10200 simulator. 1997-01-13 20:21:35 +00:00
Jim Wilson
b99125bc1c For NEC 4300 project, fix last remaining host/target endianness problem
* gencode.c (build_instruction): Use BigEndianCPU instead of
	ByteSwapMem.
1997-01-08 20:40:40 +00:00
Jeff Law
bbd1706224 * mn10300_sim.h (struct _state): Fix number of registers!
Just something I noticed while working on the mn10200 simulator.
1997-01-06 23:25:53 +00:00
Mark Alexander
e1db0d47c5 * interp.c (sim_monitor): Make output to stdout visible in
wingdb's I/O log window.
1997-01-03 06:28:21 +00:00
Jeff Law
b774c0e4b1 * mn10300_sim.h (struct _state): Put all registers into a single
array to make gdb implementation easier.
        (REG_*): Add definitions for all registers in the state array.
        (SEXT32, SEXT40, SEXT44, SEXT60): Remove unused macros.
        * simops.c: Related changes.
1996-12-31 23:26:11 +00:00
Michael Meissner
6ec96a0265 Deal with kill encoding the signal via the exit status. 1996-12-31 23:18:55 +00:00
Mark Alexander
2902e8ab51 * support.h: Undo previous change to SIGTRAP
and SIGQUIT values.
1996-12-31 15:05:46 +00:00
Ian Lance Taylor
7e6c297e82 * interp.c (store_word, load_word): New static functions.
(mips16_entry): New static function.
	(SignalException): Look for mips16 entry and exit instructions.
	(simulate): Use the correct index when setting fpr_state after
	doing a pending move.
1996-12-30 22:37:30 +00:00
Mark Alexander
0049ba7a8d * interp.c: Fix byte-swapping code throughout to work on
both little- and big-endian hosts.
1996-12-29 17:47:25 +00:00
Mark Alexander
2510786bd4 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
with gdb/config/i386/xm-windows.h.
1996-12-29 17:20:47 +00:00
Mark Alexander
39bf0ef4e6 * gencode.c (build_instruction): Work around MSVC++ code gen bug
that messes up arithmetic shifts.
1996-12-28 06:51:58 +00:00
Michael Meissner
ee3f2d4f6a Allow exit to work normally under gdb 1996-12-27 19:50:03 +00:00
Angela Marie Thomas
280f90e1a0 add flush_cache PMON routine 1996-12-25 06:14:26 +00:00
Stu Grossman
dbeec76839 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
SIGTRAP and SIGQUIT for _WIN32.
1996-12-20 19:05:28 +00:00
Ian Lance Taylor
deffd638b5 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
force a 64 bit multiplication.
	(build_instruction) [OR]: In mips16 mode, don't do anything if the
	destination register is 0, since that is the default mips16 nop
	instruction.
1996-12-19 19:08:46 +00:00
Jeff Law
d657034d38 * interp.c (sim_resume): Handle 0xff as a single byte insn.
* simops.c: Fix overflow computation for "add" and "inc"
        instructions.
1996-12-18 17:15:21 +00:00
David Edelsohn
5c8f1c0183 Getting there ... 1996-12-17 21:08:20 +00:00
Jeff Law
093e9a32d3 * simops.c: Handle "break" instruction. 1996-12-16 22:31:37 +00:00
Rob Savoye
af68520381 Link with SIM_EXTRA_LIBS, not just EXTRA_LIBS, which is never set. 1996-12-16 22:16:24 +00:00
Ian Lance Taylor
063443cf01 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
(build_endian_shift): Don't check proc64.
	(build_instruction): Always set memval to uword64.  Cast op2 to
	uword64 when shifting it left in memory instructions.  Always use
	the same code for stores--don't special case proc64.
1996-12-16 21:47:23 +00:00
Martin Hunt
dbdae3de36 Mon Dec 16 13:39:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (xfer_mem): Change unified memory to 0x0.
1996-12-16 21:39:47 +00:00
Ian Lance Taylor
aaff84371e * gencode.c (build_mips16_operands): Fix base PC value for PC
relative operands.
	(build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
	jal instruction.
	* interp.c (simJALDELAYSLOT): Define.
 	(JALDELAYSLOT): Define.
	(INDELAYSLOT, INJALDELAYSLOT): Define.
	(simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
1996-12-16 20:01:15 +00:00
Jeff Law
16d2e2b670 * simops.c: Fix restoring the PC for "ret" and "retf" instructions. 1996-12-16 17:08:10 +00:00
Jim Wilson
51c6d73375 For NEC 4100/4300 project: Add little endian support and misc cleanups.
* gencode.c (build_instruction): Use !ByteSwapMem instead of
	BigEndianMem.
	* interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
	(BigEndianMem): Rename to ByteSwapMem and change sense.
	(BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
	BigEndianMem references to !ByteSwapMem.
	(set_endianness): New function, with prototype.
	(sim_open): Call set_endianness.
	(sim_info): Use simBE instead of BigEndianMem.
	(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): Delete unnecessary MSC_VER
	ifdefs, keeping the prototype declaration.
	(swap_word): Rewrite correctly.
	(ColdReset): Delete references to CONFIG.  Delete endianness related
	code; moved to set_endianness.
1996-12-11 22:04:46 +00:00
Jeff Law
191c9d73de * gencode.c (write_opcodes): Also write out the format of the
opcode.
        * mn10300_sim.h (simops): Add "format" field.
        * interp.c (sim_resume): Deal with endianness issues here.
1996-12-11 16:58:33 +00:00
Jeff Law
95d18eb74d * simops.c (REG0_4): Define.
Use REG0_4 for indexed loads/stores.
Fixes bugs exposed after minor codegen improvements in the compiler.
1996-12-10 22:10:07 +00:00
Jim Wilson
6429b29698 For NEC 4100/4300 project
* gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
	* interp.c (CHECKHILO): Define away.
	(simSIGINT): New macro.
	(membank_size): Increase from 1MB to 2MB.
	(control_c): New function.
	(sim_resume): Rename parameter signal to signal_number.  Add local
	variable prev.  Call signal before and after simulate.
	(sim_stop_reason): Add simSIGINT support.
	(sim_warning, sim_error, dotrace, SignalException): Define as stdarg
	functions always.
	(sim_warning): Delete call to SignalException.  Do call printf_filtered
	if logfh is NULL.
	(AddressTranslation): Add #ifdef DEBUG around debugging message and
	a call to sim_warning.
1996-12-10 19:39:55 +00:00
Michael Meissner
3fbe064171 New revision from Andrew 1996-12-10 16:12:48 +00:00
David Edelsohn
966f47b470 * callback.c: #include <stdlib.h>
(os_error): New function.
	(default_callback): Add os_error.
1996-12-09 02:27:59 +00:00
Jeff Law
2e8f4133d7 * simops.c (REG0_16): Fix typo. 1996-12-07 16:54:57 +00:00
Jeff Law
5084d8e513 Add missing semicolons in last change. 1996-12-07 00:36:50 +00:00
Jeff Law
b2f7a7e5b3 * simops.c: Call abort for any instruction that's not currently
simulated.
1996-12-06 21:49:27 +00:00
Jeff Law
9f4a551e11 * simops.c: Define accessor macros to extract register
values from instructions.  Use them consistently.
1996-12-06 21:47:21 +00:00
Jeff Law
7c52bf32f2 * interp.c: Delete unused global variable "OP".
(sim_resume): Remove unused variable "opcode".
        * simops.c: Fix some uninitialized variable problems, add
        parens to fix various -Wall warnings.
Fixing assorted -Wall problems.
1996-12-06 21:33:48 +00:00
Jeff Law
fc038f5656 Opps. Forgot something in last change. 1996-12-06 21:20:17 +00:00
Jeff Law
d252301029 * gencode.c (write_header): Add "insn" and "extension" arguments
to the OP_* declarations.
        (write_template): Similarly for function templates.
        * interp.c (insn, extension): Remove global variables.  Instead
        pass them as arguments to the OP_* functions.
        * mn10300_sim.h: Remove decls for "insn" and "extension".
        * simops.c (OP_*): Accept "insn" and "extension" as arguments
        instead of using globals.
Starting to clean things up.
1996-12-06 21:19:37 +00:00
Jeff Law
e5a7a53799 * simops.c: Fix typos in "mov am,(d16,an)" and "mov am,(d32,an)"
Fixes remaining hangs while running c-torture execution tests.
Only 12 c-torture execution failures left:

  * 920625-1.c fails all 6 execution tests.

  * 960521-1.c fails all 6 execution tests.
1996-12-06 07:57:21 +00:00
Jeff Law
4d8ced6cb1 * simops.c: Fix thinkos in last change to "inc dn". 1996-12-06 05:30:24 +00:00
Jeff Law
61ecca95c0 * simops.c: "add imm,sp" does not effect the condition codes.
"inc dn" does effect the condition codes.
Just something I noticed.
1996-12-04 18:02:00 +00:00
Jeff Law
e4e1302293 * simops.c: Treat both operands as signed values for
"div" instruction.
Fixes another dozen c-torture execution failures.
1996-12-04 05:00:49 +00:00
Rob Savoye
a665caa644 * configure.in: Look for libtermcap.a.
* Makefile.in: Only link in -ltermcap if it exists.
	* erc32.c: Update to version 2.6a. Fix uart handling.
	* exec.c: Update to version 2.6a. Add sparclite support.
	* float.c: Update to version 2.6a. Convert comments to
	preprocessor warnings. Add __setfpucw() for i385 hosts so floating
	point exceptions work.
	* func.c: Update to version 2.6a. Fix uart handling, add support
	for user error traps.
	* help.c: Update to version 2.6a. Add help note on user error
	traps.
	* interf.c: Update to version 2.6a. Fix uart handling, and add
	sparclite support.
	* examples/gccx: Use sparclite cross compiler, not native gcc.
	* examples/srt0.S: Use "mov" rather than "wr" for manipulating
	the psr register.
1996-12-04 00:56:56 +00:00
Jeff Law
20e1ab85bf * simops.c: Fix simulation of division instructions.
Fix typos/thinkos in several "cmp" and "sub" instructions.
Another couple dozen c-torture failures fixed.
1996-12-04 00:42:01 +00:00
Jeff Law
216e65571a * simomps.c: Fix carry bit handling in "sub" and "cmp"
instructions.
Another dozen execution failures fixed.
1996-12-02 20:12:08 +00:00
Jeff Law
fcfaf40d78 * simops.c: Fix "mov imm8,an" and "mov imm16,dn".
Fixes 80 or so c-torture execution failures.  400 to go.
1996-12-02 19:35:55 +00:00
Jeff Law
b7b89deb44 * simops.c: Fix overflow computation for many instructions.
Fixes several hangs in the c-torture execution tests.  Also fixes about
40 failures.
1996-12-02 08:35:20 +00:00
Jeff Law
af388638ae * simops.c: Fix "movdm, an", "movbu dm, (an)", and "movhu dm, (an)".
Along with some compiler, bfd, assembler changes this fixes 90 or so
c-torture execution failures.
1996-12-02 07:38:10 +00:00
Jeff Law
c8f0171f5f * simops.c: Fix "mov am, dn".
Fixes more c-torture problems.
1996-12-02 04:23:37 +00:00
Jeff Law
6db7fc49d2 * simops.c: Fix more bugs in "add imm,an" and
"add imm,dn".
Fixes a half-dozen (of several hundred :( c-torture failures.
1996-12-01 23:10:04 +00:00
Jeff Law
6e7a01c144 * simops.c: Fix bugs in "movm" and "add imm,an".
main(){write (0, "hello world\n", 13);} works!
1996-11-27 23:20:24 +00:00
Jeff Law
3bb3fe44e0 * simops.c: Don't lose the upper 24 bits of the return
pointer in "call" and "calls" instructions.  Rough cut
        at emulated system calls.
1996-11-27 18:36:54 +00:00
Jeff Law
de0dce7c5c * simops.c: Implement the remaining 5, 6 and 7 byte instructions.
Everything except the extended instructions, the loop instructions,
trap, rti, and rtm.
1996-11-27 17:56:10 +00:00
Jeff Law
ecb4b5a357 * simops.c Implement remaining 4 byte instructions. 1996-11-27 17:19:44 +00:00
Ian Lance Taylor
279cca90f4 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
16 bit instructions.
1996-11-27 16:54:21 +00:00
Jeff Law
2e35551c74 * simops.c Implement remaining 3 byte instructions.
Moving right along...
1996-11-27 16:51:30 +00:00
Jeff Law
f5f13c1d73 * simops.c: Implement remaining 2 byte instructions. Call
abort for instructions we're not implementing now.
1996-11-27 16:25:03 +00:00
Ian Lance Taylor
350d33b87f Actually check in the right change to interp.c. 1996-11-27 16:01:34 +00:00
Jeff Law
707641f658 * simops.c: Implement lots of random instructions.
Implments most instructions with first nibble 0x0 - 0xe and
those with the first byte 0xf0 - 0xf2.
1996-11-27 07:20:36 +00:00
Jeff Law
1f3bea2169 * simops.c: Implement "movm" and "bCC" insns.
Function calls and conditional branches work!
1996-11-27 05:29:49 +00:00
Jeff Law
92284aaa35 * mn10300_sim.h (_state): Add another register (MDR).
(REG_MDR): Define.
        * simops.c: Implement "cmp", "calls", "rets", "jmp" and
        a few additional random insns.
We can now function calls.  We get out of crt0 into main now, then lose
when calls are nested (because don't handle movm yet).
1996-11-27 00:53:25 +00:00
Jeff Law
73e6529893 * mn10300_sim.h (PSW_*): Define for CC status tracking.
(REG_D0, REG_A0, REG_SP): Define.
        * simops.c: Implement "add", "addc" and a few other random
        instructions.
Starting to simulate instructions for the mn10300.  Executes some of
the crt0 code now!
1996-11-26 22:58:24 +00:00
Jeff Law
b5f831ac51 * gencode.c, interp.c: Snapshot current simulator code.
(crude) hashing works, along with dispatch to the OP_* functions.
1996-11-26 20:40:19 +00:00
Ian Lance Taylor
831f59a218 Add support for mips16 (16 bit MIPS implementation):
* gencode.c (inst_type): Add mips16 instruction encoding types.
	(GETDATASIZEINSN): Define.
	(MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv.  Add
	jalx.  Add LEFT flag to mfhi and mflo.  Add RIGHT flag to mthi and
	mtlo.
	(MIPS16_DECODE): New table, for mips16 instructions.
	(bitmap_val): New static function.
	(struct mips16_op): Define.
	(mips16_op_table): New table, for mips16 operands.
	(build_mips16_operands): New static function.
	(process_instructions): If PC is odd, decode a mips16
	instruction.  Break out instruction handling into new
	build_instruction function.
	(build_instruction): New static function, broken out of
	process_instructions.  Check modifiers rather than flags for SHIFT
	bit count and m[ft]{hi,lo} direction.
	(usage): Pass program name to fprintf.
	(main): Remove unused variable this_option_optind.  Change
	``*loptarg++'' to ``loptarg++''.
	(my_strtoul): Parenthesize && within ||.
	* interp.c (sim_trace): If tracefh is NULL, set it to stderr.
	(LoadMemory): Accept a halfword pAddr if vAddr is odd.
	(simulate): If PC is odd, fetch a 16 bit instruction, and
	increment PC by 2 rather than 4.
	* configure.in: Add case for mips16*-*-*.
	* configure: Rebuild.
1996-11-26 18:12:44 +00:00
David Edelsohn
fd14b47f78 Regenerated since aclocal.m4 changed. 1996-11-26 03:54:26 +00:00
David Edelsohn
72eeb00634 * config.in (WORDS_BIGENDIAN): Add.
* configure: Regenerated.
	* d10v_sim.h: #include "config.h"
1996-11-26 03:53:40 +00:00
Jeff Law
05ccbdfdd2 * Makefile.in, config.in, configure, configure.in: New files.
* gencode.c, interp.c, mn10300_sim.h, simops.c: New files.

Skeleton mn10300 simulator
1996-11-25 19:52:08 +00:00
Michael Meissner
24cbf0a416 Make address in I/O space a bus error; properly cast calloc 1996-11-21 00:44:48 +00:00
David Edelsohn
77f4c99cb4 * run.c: Deleted, using one in ../common now. 1996-11-20 21:06:21 +00:00
David Edelsohn
5f270267a7 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
(SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	Call AC_CHECK_HEADERS(unistd.h).
	* configure: Regenerated.
	* config.in: New file.
	* simops.c: #include "config.h".  #include <unistd.h> if present.
1996-11-20 10:27:55 +00:00
David Edelsohn
614984da76 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
(SIM_OBJS,SIM_EXTRA_LIBS): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	Call AC_CHECK_HEADERS(unistd.h).
	* configure: Regenerated.
	* config.in: New file.
	* interp.c: #include "config.h".  #include <unistd.h> if present.
	(trap): Fetch errno value with callback->get_errno.
1996-11-20 10:18:18 +00:00
David Edelsohn
34452aa40a * Makefile.in (LIBCOMMON): Define.
($(TARGETLIB)): Add files from $(LIBCOMMON).
1996-11-20 10:02:44 +00:00
David Edelsohn
e3d12c6595 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
(SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	* configure: Regenerated.
	* tconfig.in: New file.
1996-11-20 10:00:42 +00:00
David Edelsohn
899232aba0 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
(SIM_OBJS): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	* configure: Regenerated.
	* inst.h (enum sim_state): Define.
	(cpu_state_type): New member `state'.  Set it whenever `exception'
	is set.
	* compile.c (sim_callback): New global.
	(sim_set_simcache_size): Renamed from sim_csize.
	(sim_resume, case O_SLEEP): Add right way to decode r0 but #if 0 out
	'cus it can't work.  Change main loop exit test to use cpu.state.
	(sim_trace): New function.
	(sim_stop_reason): Add right way to set results, but #if 0 out.
	(sim_size): New function.
	(sim_info): Redirect calls to printf_filtered through callback.
	(sim_set_callbacks): Record callback.
	* run.c: Deleted, using one in ../common now.
	* tconfig.in: New file.
1996-11-20 09:47:57 +00:00
David Edelsohn
d70e3e2b7b * Makefile.in: Delete stuff moved to ../common/Make-common.in.
(SIM_{OBJS,EXTRA_LIBS,EXTRA_LIBDEPS,EXTRA_ALL,EXTRA_INSTALL}): Define.
	(SIM_{EXTRA_CLEAN,EXTRA_CFLAGS}): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	Call AC_CHECK_HEADERS(stdlib.h).
	* configure: Regenerated.
	* config.in: New file.
	* func.c (sim_set_callbacks): Delete, moved to
	* interf.c (sim_set_callbacks): here.
	(sim_callback): New global.
	Rewrite all calls to printf_filtered to go through callback.
	(sim_size,sim_trace): New functions.
	(sim_{insert,remove}_breakpoint): #if 0 out.
	* sis.c: #include "config.h".  #include <stdlib.h> if present.
	(main): Coerce fprintf arg to INIT_DISASSEMBLE_INFO to fprintf_ftype.
	* sis.h: #include "callback.h".
1996-11-20 09:38:10 +00:00
David Edelsohn
27bc3f8ecb New file. 1996-11-20 09:28:40 +00:00
David Edelsohn
cee402dd99 * Makefile.in: Delete all stuff moved to ../common/Make-common.in.
(SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	Call AC_CHECK_HEADERS(unistd.h).
	* configure: Regenerated.
	* config.in: New file.
	* interp.c: #include "callback.h".
	* simops.c: #include "config.h".  #include <unistd.h> if present.
1996-11-20 09:27:24 +00:00
David Edelsohn
db7d7ff8dd Add new files. 1996-11-20 09:22:01 +00:00
David Edelsohn
58b72d7e20 * run.c: #include ../common/config.h, tconfig.h.
(myname): New static global.
	(main): Recognize new options -a, -c.  Also recognize -h if h8/300.
	Only process -c ifdef SIM_HAVE_SIMCACHE.
	Only process -p/-s ifdef SIM_HAVE_PROFILE.
	Parse program name from argv[0] and use in error messages.
	Pass sim_args to sim_open.  Pass prog_args to sim_create_inferior.
	Add support for incomplete h8/300 termination indicators.
	(usage): Make more verbose.
	* aclocal.m4,config.in,tconfig.in,configure.in,configure: New files.
	* Makefile.in,Make-common.in,callback.c: New files.
	* nltvals.def,gentmap.c,gentvals.sh: New files.
1996-11-20 09:20:55 +00:00
David Edelsohn
e01714ccda * run.c: Deleted, use one in ../common now.
* Makefile.in: Delete everything that's been moved to
	../common/Make-common.in.
	(SIM_OBJS): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	* configure: Regenerated.
	* config.in: New file.
	* armos.c: #include config.h.
	* wrapper.c (mem_size): Value is in bytes now.
	(sim_callback): New global.
	(arm_sim_set_profile{,_size}): Delete.
	(arm_sim_set_mem_size): Rename to sim_size.
	(sim_do_command): Call printf_filtered via callback.
	(sim_set_callbacks): Record callback.
1996-11-20 09:10:22 +00:00
David Edelsohn
126d9d0a71 * configure.in (configdirs): Add common.
* configure: Regenerated.
1996-11-20 09:02:28 +00:00
David Edelsohn
939b233a57 * sim_calls.c (sim_resume): Reset sim_should_run if single stepping. 1996-11-20 08:38:13 +00:00
Michael Meissner
f8149dfee8 Fix some warnings 1996-11-15 20:24:54 +00:00
Martin Hunt
849c575f97 Fri Nov 8 16:19:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10v-sim.h (simops): Add flag is_long.
	(State): Add pc_changed.  Instructions which update the PC should
	use the JMP macro which sets this.
	(JMP): New macro.  Sets the PC and the pc_changed flag.

	* gencode.c (write_opcodes): Add is_long field.

	* interp.c (lookup_hash): If we blindly apply a short opcode's mask
	to a long opcode we could get a false match.  Check the opcode size.
	(hash): Add a size field to the hash table.
	(sim_open): Initialize size field in hash table.
	(sim_resume): Change to logic for setting the PC.  Used to increment the
	PC if it had not been changed.  This didn't allow single-instruction loops.
	Now checks the flag State.pc_changed.  Also now stops when ^C is received.
	(dmem_addr): Fix translation of data segments to unified memory.
	(sim_ctrl_c): New function.  When ^C is received, set stop_simulator flag.

	* simops.c: Changed all branch and jump instructions to use new JMP macro.
	(OP_20000000): Corrected trace information to show this is a ldi.l, not
	a ldi.s instruction.
1996-11-09 00:38:07 +00:00
Michael Meissner
cf1e294cc0 Powerpc-linux now builds the simulator 1996-11-01 13:08:43 +00:00
Martin Hunt
5c839c675a Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_fetch_register, sim_store_register): Fix bug where
	updating the accumulators was overwriting other parts of the global
	State variable.
1996-11-01 03:15:44 +00:00
Gavin Romig-Koch
7fc45edb6c Fix linux build problem. 1996-10-31 19:58:14 +00:00
Michael Meissner
b30cdd3565 Fix -t option to work with memory mapping; Print PC in some error messages 1996-10-30 22:43:02 +00:00
Jeff Law
8824fb459b * simops.c (OP_10007E0): Handle SYS_times and SYS_gettimeofday.
Check it into devo too.
1996-10-30 16:30:59 +00:00
Jeff Law
6803f89b14 * simops.c (OP_10007E0): Handle SYS_time.
Check into devo too.
1996-10-30 15:51:39 +00:00
Michael Meissner
b9f74e0b24 Add access, sigaltstack, sigaction emulations 1996-10-29 23:02:33 +00:00
Jeff Law
c500c07496 * simops.c: Include <sys/stat.h>.
(OP_10007E0): Handle SYS_stat.
For RW testing.
1996-10-29 21:24:01 +00:00
Martin Hunt
c422ecc7a4 Tue Oct 29 12:13:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_size): Now allocates unified memory for imap segments
	0,1,2, and 127. Initializes imap0 and imap1 to 0x1000.  Initializes dmap to 0.
	(sim_write): Just call xfer_mem().
	(sim_read): Just call xfer_mem().
	(xfer_mem): New function. Does appropriate memory mapping and copies bytes.
	(dmem_addr): New function. Reads dmap register and translates data
 	addresses to local addresses.
	(pc_addr): New function. Reads imap register and computes local address
	corresponding to contents of the PC.
	(sim_resume): Change to use pc_addr().
	(sim_create_inferior): Change reinitialization code. Also reinitializes
	imap[01] and dmap.
	(sim_fetch_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
	(sim_store_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.

	* simops.c (MEMPTR): Redefine to use dmem_addr().
	(OP_5F00): Replace references to STate.imem with dmem_addr().

	* d10v-sim.h (State): Remove mem_min and mem_max. Add umem[128].
	(RB,SW,RW,SLW,RLW): Redefine to use dmem_addr().
	(IMAP0,IMAP1,DMAP,SET_IMAP,SET_IMAP1,SET_DMAP): Define.
1996-10-29 20:31:08 +00:00
Jeff Law
f009978996 * simops.c (OP_500): Mask off low bit in displacement
for sld.w.
        (OP_501): Similarly.
More bugs exposed by tda testing.
1996-10-24 21:19:22 +00:00
Jeff Law
85c09b0518 * simops.c (OP_500): Fix displacement handling for sld.w.
(OP_501): Similarly for sst.w.
More fixes exposed by tda testing.
1996-10-24 20:49:06 +00:00
Jeff Law
0a89af6efd * simops.c (trace_input): Remove all references to SEXT7.
(OP_300, OP_400, OP_500, OP_380, OP_480, OP_501): Displacement
        is zero extended for sst/sld instructions.
        * v850_sim.h (SEX7): Delete.  It's no longer needed (and it
        was incorrect anyway).
So we properly simulate sst/sld instructions.
1996-10-24 18:28:43 +00:00
Stu Grossman
968519095a * Makefile.in: Get rid of srcroot. Set all INSTALL macros via
autoconf.
	* gencode.c (write_opcodes):  Pad operands field to account for
	MSVC braindamage.
	* simops.c:  Include errno.h.  Exclude SYS_chown, since MSVC
	doesn't support it.  (Why is this here in the first place?!?)
	* v850_sim.h:  Get rid of 64 bit defs.  Also, get rid of #elif's.
	Change number of operands in struct simops from 9 to 6.  Define
	SIGTRAP and SIGQUIT for MSVC.
1996-10-24 17:39:30 +00:00
Michael Meissner
aeb1f26ba8 Provide better statistics, particularly for doing VLIW work; Fix ldb to correctly sign extend 1996-10-22 19:49:37 +00:00
Martin Hunt
eca43eb1f5 Mon Oct 21 16:16:26 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_resume): Change the way single-stepping and exceptions
 	are handled so single-stepping works again.
1996-10-21 23:17:43 +00:00
Michael Meissner
c7f6f3993c Add support for fsel 1996-10-18 16:22:35 +00:00
David Edelsohn
6cc77b01e7 * configure.in (--enable-sim-powerpc): Delete.
(--enable-sim): Add.
	* configure: Regenerated.
1996-10-17 20:11:31 +00:00
David Edelsohn
d9c0593f2a Add more m32r support. 1996-10-17 18:57:19 +00:00
Michael Meissner
55116079e2 Make simulated loads/stores faster on x86, AIX, and big endian hosts 1996-10-17 16:47:51 +00:00
Jeff Law
c929945aad Add missing v850 sanitization stuff. 1996-10-17 04:57:03 +00:00
Michael Meissner
d6fe5ca568 Make read/write memory functions inlined 1996-10-16 22:16:21 +00:00
Michael Meissner
5c2556697f Make read/write memory functions inlined 1996-10-16 22:14:23 +00:00
Michael Meissner
11ec4de669 Fix tracing of accumulators 1996-10-16 17:52:31 +00:00
Stu Grossman
254ef34062 * interp.c (MEM_SIZE): It's now bytes, not a power of 2.
* (map):  Add support for external mem in the 1->2 meg range.
	Also, abort() when memory access is way out of bounds.  (Better to
	die than to give wrong result.  (This will be fixed later.))
	* (sim_size):  MEM_SIZE is now bytes, not shift factor.
1996-10-15 23:23:00 +00:00
Michael Meissner
57bc1a721a Better error messages when a program stops due to signal; support d10v getpid/kill 1996-10-15 15:44:10 +00:00
Michael Meissner
8918b3a72b Fix ld2w r2,@r2 so that r3 loads the proper value 1996-10-13 02:25:01 +00:00
Jeff Law
aee4f36a89 * configure.in: Only build the V850 simulator if
we are using gcc.
        * configure: Rebuild.
So builds with "cc" don't die in the v850 simulator directory.
1996-10-12 03:14:54 +00:00
Jason Molenda
feede9b699 * Makefile.in (mostlyclean): Move config.log to distclean. 1996-10-03 07:16:56 +00:00
Jason Molenda
38e4433bfb * Makefile.in (clean): Remove config.log. 1996-10-02 07:57:18 +00:00
David Edelsohn
81ca9d3b3f m32r [work in progress] 1996-09-30 21:10:54 +00:00
Stu Grossman
88777ce2a6 * gencode.c (write_opcodes): Output hex values for opcode mask
and patterns.
	* interp.c (sim_resume):  Save and restore PC from the appropriate
	register.
	* (sim_fetch_register sim_store_register):  Fix byte-order problem
	with reading and writing registers.
	* simops.c (OP_FFFF):  Implement pseudo-breakpoint insn.
1996-09-28 01:38:45 +00:00
Jeff Law
da86a4fa81 * simops.c (trace_input): Fix thinko. 1996-09-27 23:41:12 +00:00
Jackie Smith Cashion
21cea5d45d Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (SignalException): Check for explicit terminating
 	breakpoint value.
	* gencode.c: Pass instruction value through SignalException()
 	calls for Trap, Breakpoint and Syscall.
1996-09-26 16:42:57 +00:00
Jackie Smith Cashion
617c07c61d Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
 	only used on those hosts that provide it.
	* configure.in: Add sqrt() to list of functions to be checked for.
	* config.in: Re-generated.
	* configure: Re-generated.
1996-09-26 10:39:34 +00:00
Michael Meissner
a18cb10038 Fix tracing for st2w 1996-09-25 20:33:21 +00:00
Martin Hunt
c58a1ec2aa Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* interp.c (sim_create_inferior): Reinitialize State every time
	sim_create_inferior() is called.
1996-09-20 22:39:45 +00:00
Ian Lance Taylor
149ee67274 * gencode.c (process_instructions): Call build_endian_shift when
expanding STORE RIGHT, to fix swr.
	* support.h (SIGNEXTEND): If the sign bit is not set, explicitly
	clear the high bits.
	* interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
	Fix float to int conversions to produce signed values.
1996-09-20 19:49:49 +00:00
Michael Meissner
ed9714ab65 Lose doc directory until we DOS-ize it; Add doc/.Sanitize 1996-09-20 13:11:37 +00:00
Michael Meissner
183632b238 Add documentation files 1996-09-20 12:46:09 +00:00
Michael Meissner
fd96c1f320 PSIM 1996/9/19 update 1996-09-20 12:36:54 +00:00
Ian Lance Taylor
458e1f58e6 Fix multiplication, ldxc1, and floating point conversion. See ChangeLog. 1996-09-20 03:07:43 +00:00
Michael Meissner
c12f5c678e Make sure cmp{,eq,u}i use correct casts 1996-09-20 01:42:15 +00:00
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
Michael Meissner
addb61a5b2 Fix tracing info 1996-09-19 17:23:21 +00:00
Michael Meissner
f061ddf67d Make sure there is a trailing space after the instruction 1996-09-19 15:06:37 +00:00
Michael Meissner
891513ee79 Provide macros that can be overriden for the width of the PC & line number fields 1996-09-19 15:02:27 +00:00
Michael Meissner
74473ea10c Add dependencies on lib{bfd,iberity}.a 1996-09-19 14:31:01 +00:00
Michael Meissner
0535fa1aa0 Rename sim_bfd -> exec_bfd for gdb compatibility 1996-09-18 13:56:57 +00:00
Michael Meissner
a49a15ade8 Make exit/stop return correct exit value; Add line number tracing. 1996-09-18 13:23:31 +00:00
Jackie Smith Cashion
3733d1095f Tue Sep 17 11:04:50 1996 James G. Smith <jsmith@cygnus.co.uk>
* run.c (main): Explicitly cast malloc() parameter.

This is needed because for certain builds the size field being given
to malloc() is actually 64bits long, and without a cast or malloc
prototype the resulting value used by malloc() depended on the host
endianness, and how long long paramaters are passed into functions.
1996-09-17 10:10:35 +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
Michael Meissner
215ac9533c Fix brf0{t,f}.s <label> -> instruction not to execute instruction if branch succeeds 1996-09-15 03:46:52 +00:00
Ian Lance Taylor
ad0d14e7a2 * Makefile.in (CC_FOR_BUILD): New variable.
(AR, AR_FLAGS, BISON, MAKEINFO): Remove duplicate variables.
	(RANLIB, CC): Likewise.
	(end): Use $(CC_FOR_BUILD), not $(CC).
	* configure.in: Set CC_FOR_BUILD.
	* configure: Rebuild.
1996-09-14 04:05:41 +00:00
Michael Meissner
19d44375ff For unknown traps, print contents of registers and continue execution 1996-09-14 02:36:40 +00:00
Mark Alexander
65c0d7dee9 * simops.c (OP_5F00): Fix problems with system calls. 1996-09-12 19:52:40 +00:00
Michael Meissner
a57190924d Correct trap tracing information 1996-09-12 16:20:05 +00:00
Michael Meissner
1d00ce8392 Print line # and function name or filename if they exist for each PC. 1996-09-12 16:06:02 +00:00
Michael Meissner
9b280a864b Store bfd pointer in a global variable 1996-09-12 15:28:40 +00:00
Michael Meissner
5ceef1b54f fix typo 1996-09-11 22:56:25 +00:00
Michael Meissner
ead4a3f157 Add tracing support; Fix some problems with hardwired sizes 1996-09-11 20:54:21 +00:00
Jeff Law
9909e232c0 * interp.c (hash): Make this an inline function
when compiling with GCC.  Simplify.
        * simpos.c: Explicitly include "sys/syscall.h".  Remove
        some #if 0'd code.  Enable more emulated syscalls.
Checking in more stuff.
1996-09-10 02:51:07 +00:00
Michael Meissner
2254cd90a9 Addi needs to set the carry 1996-09-09 21:12:46 +00:00
Michael Meissner
308f64d3ac Fix ld2w tracing 1996-09-09 20:45:33 +00:00
Michael Meissner
60fc5b7270 Correct tracing of cpfg 1996-09-09 20:10:31 +00:00
Michael Meissner
293c76a376 Make ex{f,t}* tests agree with book 1996-09-09 18:24:18 +00:00
Michael Meissner
069398aaff Fix accumulator shifts 1996-09-09 17:30:36 +00:00
Stu Grossman
fad4a760fd * erc32.c (port_init): Disable this for __GO32__ (got no pty's
there either...).
1996-09-08 23:35:50 +00:00
Ian Lance Taylor
f39a09c9ad * configure.in: Do build erc32 for DOS and Windows hosts.
* configure: Rebuild.
1996-09-08 21:24:10 +00:00
Martin Hunt
ea2155e858 Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* simops.c (OP_2600, OP_2601): Changed min and max comparisons
	to use signed register values.
1996-09-07 00:58:25 +00:00
Stu Grossman
1852b017b8 * Makefile.in erc32/Makefile.in: Don't set srcroot. This should
be inherited from the parent.  Remove INSTALL_XFORM and
	INSTALL_XFORM1.  Make INSTALL be set from configure.
1996-09-05 01:16:22 +00:00
Ian Lance Taylor
68867afb88 * configure.in: Only build the MIPS simulator if we are using
gcc.
	* configure: Rebuild.
1996-09-04 19:50:55 +00:00
Michael Meissner
9b86c7e2e2 Second pass at canadian cross 1996-09-04 19:11:53 +00:00
Michael Meissner
1eaaf3050e First cut at dealing with canadian crosses; make -t in debugger set d10v_debug if DEBUG 1996-09-04 18:50:13 +00:00
Michael Meissner
7eebfc6296 More debug support; Enable -t/-v to work correctly; Add --enable-sim-cflags configure switch 1996-09-04 17:42:51 +00:00
Michael Meissner
87178dbdf7 Enhance debug support 1996-09-04 15:41:43 +00:00
Mark Alexander
8719be26c4 * simops.c: Include correct syscall.h for d10v, not host's.
Fix #ifdef SYS_stat.
1996-09-04 11:51:06 +00:00
Jeff Law
9fca2fd3c6 * gencode.c: Fix various indention & style problems.
Remove test code.  Remove #if 0 code.
        * interp.c: Provide prototypes for all static functions.
        Fix minor indention problems.
        (sim_open, sim_resume): Remove unused variables.
        (sim_read): Return type is "int".
        * simops.c: Remove unused variables.
        (divh): Make result of divide-by-zero zero.
        (setf): Initialize result to keep compiler quiet.
        (sar instructions): These just clear the overflow bit.
        * v850_sim.h: Provide prototypes for put_byte, put_half
        and put_word.
Cleaning up.
1996-09-03 18:31:48 +00:00
Michael Meissner
63a91cfb9d Portability fixes; re-add printf/putchar traps 1996-09-03 18:01:03 +00:00
Jeff Law
2b6b2c6d8e Fix typpppo 1996-09-03 17:15:16 +00:00
Jeff Law
d81352b8b8 * interp.c: OP should be an array of 32bit operands!
(v850_callback): Declare.
        (do_format_5): Fix extraction of OP[0].
        (sim_size): Remove debugging printf.
        (sim_set_callbacks): Do something useful.
        (sim_stop_reason): Gross hacks to get c-torture running.
        * simops.c: Simplify code for computing targets of bCC
        insns.   Invert 's' bit if 'ov' bit is set for some
        instructions.  Fix 'cy' bit handling for numerous
        instructions.  Make the simulator stop when a halt
        instruction is encountered.  Very crude support for
        emulated syscalls (trap 0).
        * v850_sim.h: Include "callback.h" and declare
        v850_callback.  Items in the operand array are 32bits.
Fixes & syscall stuff.
1996-09-03 16:25:51 +00:00
Jeff Law
82feb39ed1 Opps. Forgot to commit this a few days ago. 1996-08-31 02:49:05 +00:00
Jeff Law
787d66bb4d * simops.c: Fix "not1" and "set1". 1996-08-30 21:55:26 +00:00
Jeff Law
3046d87986 * simops.c: Don't forget to initialize temp for
"ld.h" and "ld.w"
1996-08-30 20:15:51 +00:00
Jeff Law
ba853302f2 * interp.c: Remove various debugging printfs. 1996-08-30 16:42:49 +00:00
Jeff Law
0e4ccc58f2 * simops.c: Fix satadd, satsub boundary case handling. 1996-08-30 16:41:39 +00:00
Jeff Law
83fc3bac9f * interp.c (hash): Fix.
* interp.c (do_format_8): Get operands correctly and
        call the target function.
        * simops.c: Rough cut at "clr1", "not1", "set1", and "tst1".
1996-08-30 16:35:10 +00:00
Jeff Law
3cb6bf7818 * interp.c (do_format_4): Get operands correctly and
call the target function.
        * simops.c: Rough cut at "sld.b", "sld.h", "sld.w", "sst.b",
        "sst.h", and "sst.w".
1996-08-30 05:49:07 +00:00
Jeff Law
28647e4c0c * v850_sim.h: The V850 doesn't have split I&D spaces. Change
accordingly.  Remove many unused definitions.
        * interp.c: The V850 doesn't have split I&D spaces.  Change
        accordingly.
        (get_longlong, get_longword, get_word): Deleted.
        (write_longlong, write_longword, write_word): Deleted.
        (get_operands): Deleted.
        (get_byte, get_half, get_word): New functions.
        (put_byte, put_half, put_word): New functions.
        * simops.c: Remove unused functions.  Rough cut at
        "ld.b", "ld.h", "ld.w", "st.b", "st.h", "st.w" insns.
1996-08-30 05:41:10 +00:00
Jeff Law
614f1c68ed * v850_sim.h (struct _state): Remove "psw" field. Add
"sregs" field.
        (PSW): Remove bogus definition.
        * simops.c: Change condition code handling to use the psw
        register within the sregs array.  Handle "ldsr" and "stsr".
1996-08-30 05:09:08 +00:00
Jeff Law
dca41ba76b * simops.c: Handle "satadd", "satsub", "satsubi", "satsubr". 1996-08-30 04:59:02 +00:00
Jeff Law
e9b6cbaca5 * interp.c (do_format_5): Get operands correctly and
call the target function.
        (sim_resume): Don't do a PC update for format 5 instructions.
        * simops.c: Handle "jarl" and "jmp" instructions.
1996-08-30 04:27:48 +00:00
Jeff Law
3095b8dfc5 * simops.c: Fix minor typos. Handle "cmp", "setf", "tst"
"di", and "ei" instructions correctly.
1996-08-30 04:11:32 +00:00
Jeff Law
2108e86459 * interp.c (do_format_3): Get operands correctly and call
the target function.
        * simops.c: Handle bCC instructions.
1996-08-30 03:48:13 +00:00
Jeff Law
35404c7d07 * simops.c: Add condition code handling to shift insns.
Fix minor typos in condition code handling for other insns.
1996-08-30 03:23:36 +00:00
Jeff Law
aabce0f46c * Makefile.in: Fix typo.
* simops.c: Add condition code handling to "sub" "subr" and
        "divh" instructions.
1996-08-30 03:07:24 +00:00
Jeff Law
0ef0eba580 * interp.c (hash): Update to be more accurate.
(lookup_hash): Call hash rather than computing the hash
        code here.
        (do_format_1_2): Handle format 1 and format 2 instructions.
        Get operands correctly and call the target function.
        (do_format_6): Get operands correctly and call the target
        function.
        (do_formats_9_10): Rough cut so shift ops will work.
        (sim_resume): Tweak to deal with format 1 and format 2
        handling in a single funtion.  Don't update the PC
        for format 3 insns.  Fix typos.
        * simops.c: Slightly reorganize.  Add condition code handling
        to "add", "addi", "and", "andi", "or", "ori", "xor", "xori"
        and "not" instructions.
        * v850_sim.h (reg_t): Registers are 32bits.
        (_state): The V850 has 32 general registers.  Add a 32bit
        psw and pc register too.  Add accessor macros
Fixing lots of stuff.  Starting to add condition code support.  Basically
check pointing the work to date.
1996-08-29 23:39:23 +00:00
Jeff Law
775533747d * simops.c: Add shift support. 1996-08-29 22:29:41 +00:00
Jeff Law
fb8eb42bd6 Fix typos in multiply and divide code. 1996-08-29 22:05:15 +00:00
Jeff Law
e98e3b2c5a * simops.c: Add multiply & divide support. Abort for system
instructions.
1996-08-29 20:08:37 +00:00
Jeff Law
1fe983dcdf * simops.c: Add logicals, mov, movhi, movea, add, addi, sub
and subr.  No condition codes yet.
1996-08-29 19:53:37 +00:00
Jeff Law
22c1c7ddea * ChangeLog, Makefile.in, configure, configure.in, v850_sim.h,
gencode.c, interp.c, simops.c: Created.
So we've got something to hack on.
1996-08-29 01:06:42 +00:00
Jeff Law
085114ca36 * configure.in (v850-*-*): Added V850 simulator. 1996-08-29 01:05:40 +00:00
Martin Hunt
d70b4d426b Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
1996-08-29 00:35:11 +00:00
Martin Hunt
166acb9f8f New file. 1996-08-28 18:09:06 +00:00
Martin Hunt
4f425a3203 Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10v_sim.h (SEXT32): Added.
	* interp.c: Commented out printfs.
	* simops.c:  Fixed error in sb and st2w.
1996-08-27 01:32:48 +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
Michael Meissner
ca78464476 Fixes from Andrew 1996-08-19 22:21:19 +00:00
Angela Marie Thomas
e1fcafd594 removed NOTES from Things-to-keep since it's a dead file 1996-08-18 21:28:18 +00:00
Michael Meissner
83a650d857 Improve -t options support to list all of the configuration macros & work standalone 1996-08-13 17:29:04 +00:00
Michael Meissner
9aecf50da5 Test whether /dev/zero works before attemping to us it 1996-08-12 23:06:21 +00:00
Martin Hunt
f45dceb998 fix for D10V. 1996-08-12 18:04:58 +00:00
Michael Meissner
7b25dea587 If HAVE_TERMOS_STRUCTURE is not defined, make sure HAVE_TCGETATTR is also not defined. 1996-08-08 00:17:48 +00:00
Michael Meissner
def7f77515 Allow simulator to build on other machines than x86 1996-08-07 18:48:07 +00:00
Michael Meissner
2e913166b1 7/30 release from Andrew 1996-08-06 15:55:32 +00:00
Martin Hunt
4c38885c86 Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10v_sim.h, simops.c: Snapshot
1996-08-03 00:45:58 +00:00
Martin Hunt
2934d1c925 Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h,
	gencode.c, interp.c, simops.c: Created.
1996-08-02 00:23:31 +00:00
Martin Hunt
745a0437db Thu Aug 1 17:08:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* configure.in (d10v-*-*): Added D10V simulator.
1996-08-02 00:22:58 +00:00
Michael Meissner
30c87b55ec New simulator changes from Andrew 1996-07-23 15:42:42 +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
Jeff Law
9745c59321 * compile.c (sim_resume): Fix all rotate-by-2-bits insns. 1996-07-10 04:15:17 +00:00
Jeff Law
25b344a4a2 No longer need to sanitize away h8s stuff. 1996-07-05 18:59:31 +00:00
Stu Grossman
b7b3111471 * erc32.c (mec_reset mec_read mec_write memory_read memory_write),
sis.h:  Get rid of all uses of long long's.
	* (close_port read_uart write_uart uarta_tx):  Don't seg fault
	when can't open pty's.
	* exec.c:  Add two new instructions: smul, and divscc.
	* interf.c (flush_windows):  New routine to flush the register
	windows out to the stack just before returning to GDB.  Makes
	backtraces work much better.
1996-07-04 00:51:22 +00:00
Jeff Law
7647e0dd79 * run.c (main): Don't "load" sections which don't have
SEC_LOAD set.
        * compile.c (sim_resume, case "O_NOT"): Use ONOT instead
        of OSHIFTS.
        (ONOT): Define.
        (sim_resume, shift/rotate cases): Add support for shift/rotate
        by two bits.
        (OSHIFTS): Corresponding changes.
Handling more H8/S ops.
1996-07-03 05:10:47 +00:00
Jeff Law
171f4664be * compile.c (sim_resume): Handle "ldm.l" and "stm.l".
HMSE H8/S.
1996-07-02 07:37:50 +00:00
Michael Meissner
ed451ff744 Make simulator build again on SunOS and HP/US systems 1996-06-26 20:01:38 +00:00
Jackie Smith Cashion
c21ee46b49 Added. 1996-06-26 10:08:42 +00:00
Jackie Smith Cashion
2f82f75517 Keep the mips directory. 1996-06-26 10:03:58 +00:00
Jason Molenda
78c09e4af5 * 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.
        * configure: Rebuilt.
1996-06-26 03:35:01 +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
Jason Molenda
445289655a * 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.
        * configure: Rebuilt.
1996-06-26 03:22:34 +00:00
Jason Molenda
31884e281b * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
        (docdir, oldincludedir): Removed.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
        (AC_PROG_INSTALL): Added.
        * configure: Rebuilt.
1996-06-26 03:20:23 +00:00
Ian Lance Taylor
58f8c779f7 * configure.in: Call AC_PROG_CC before running configure.host.
* configure: Rebuild with autoconf 2.10.
1996-06-24 18:21:47 +00:00
Ian Lance Taylor
aac160d2bb * configure.in: Only configure erc32 if using gcc. 1996-06-24 18:20:52 +00:00
Jeff Law
88ea21e50c * compile.c (sim_load): Treat the H8/S like the H8/300H for now.
* run.c (main): Treat the H8/S like the H8/300H for now.

More sanitize H8/S stuff.
1996-06-18 23:33:49 +00:00
Michael Meissner
8477437c17 Latest changes from Andrew 1996-06-05 16:02:54 +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
Michael Meissner
5ea7fa7abb Build psim on ppc SVR4, Solaris, and Elf targets. 1996-06-04 13:27:31 +00:00
Michael Meissner
fe098bf490 Abort if we find the program has an .interp section 1996-06-03 20:26:09 +00:00
Michael Meissner
5b18a1a0bf Add time, gettimeofday, and getrusage system call support 1996-06-03 19:10:25 +00:00
Ian Lance Taylor
f64c2f5715 * Makefile.in (end.h): Use explicit ./ when running end. 1996-06-03 16:34:24 +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
Michael Meissner
88f1eac415 Add Solaris and Linux emulations 1996-06-02 15:40:16 +00:00
Michael Meissner
119b85f6ca More changes for GO32 canadian cross builds 1996-05-24 19:12:21 +00:00
Michael Meissner
0c18e3f002 More changes for GO32 canadian cross builds 1996-05-24 19:05:17 +00:00
Michael Meissner
f64dbcddaf Allow psim to be built on go32 1996-05-24 14:15:17 +00:00
Jeff Law
7e1e013fd9 * compile.c (sim_resume): Correctly handle divu.
More bugfixing.  HMSE
1996-05-23 04:25:43 +00:00
Rob Savoye
d46637152c * configure.in: Only built erc32 simulator on Unix hosts as it
uses pseudo ttys.
	* configure: Regenerated with autoconf 2.8.
1996-05-22 18:12:32 +00:00
Rob Savoye
fd58f4b10e Sanitize support for the ESA sparc simulator. 1996-05-20 03:18:13 +00:00
Rob Savoye
b5ef6d669e * func.c(bfd_load): Don't try to print the filename if the pfbd is
NULL.
	* interf.c(sim_load): Pass the whole string, not just the first
	byte.
1996-05-20 03:13:02 +00:00
Rob Savoye
f4d2ff34be New sparc simulator from the ESA. 1996-05-20 02:46:07 +00:00
Michael Meissner
d61eb8127b Check for sys/ioctl.h 1996-05-16 15:03:24 +00:00
Michael Meissner
048668d355 More progressive fixes 1996-05-13 17:25:06 +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
Michael Meissner
1ed0c0e75d Fix INLN in bugapi to read a full line 1996-05-06 16:03:44 +00:00
Michael Meissner
08dc78ad19 Make simulator build in a Canadian cross environment 1996-05-03 19:10:20 +00:00
Michael Meissner
a72d2509c2 Work in a cross compile environment 1996-04-30 22:50:22 +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
Michael Meissner
d4d3c7adbb update from Andrew 1996-04-17 20:09:36 +00:00
Jeff Law
132fdcb974 * compile.c (sim_load): Re-allocate memory for the simulator
here.
HMSE.
1996-04-12 22:42:03 +00:00
Jeff Law
9b1271617b * compile.c (sim_resume): Fix and simplify overflow and carry
handling for 32bit ALU insns.
1996-04-12 15:38:08 +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
Jeff Law
50d45d1b2f * compile.c (sim_resume): Fix overflow checks for ALU insns.
So that int-compare.c passes.
1996-04-09 05:57:15 +00:00
Fred Fish
ed086b0a71 From: Miles Bader <miles@gnu.ai.mit.edu>
* configure.in: Use AC_CHECK_TOOL to find AR & RANLIB.
	* configure: Regenerate using autoconf.
1996-04-08 04:56:53 +00:00
Jeff Law
e24146ec95 * compile.c (decode): Use "bit" to hold L_3 immediates instead
of holding them in "abs".  Handle ABS8MEM memory references aka
        8-bit area.  Replace ABSMOV references with ABS8MEM.
So we've got a chance of simulating something like btst #0,@40:8 correctly.
hmse.
1996-04-06 00:21:35 +00:00
Michael Meissner
997f0ee967 fix long lines 1996-04-04 20:19:28 +00:00
Michael Meissner
64646bd32b Doc fixes from Andrew 1996-04-04 20:03:33 +00:00
Michael Meissner
4e956fd5e1 Add dependency 1996-04-04 18:48:51 +00:00
Michael Meissner
6740925b4d Print WITH_STDIO if -t options 1996-03-29 18:06:42 +00:00
Michael Meissner
d6103e8eb6 Add --enable-sim-stdio to make console I/O use stdio, not printf_filtered and polling input 1996-03-29 17:33:56 +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
Michael Meissner
7a543ca48e Fix typo that clobbered the stack and rewrite 2/26 change 1996-03-26 21:20:54 +00:00
Michael Meissner
8a1d8a0b60 update from andrew 1996-03-23 15:02:42 +00:00
David Edelsohn
5d06fa80b2 (sim_resume, shift insns): Fix setting of overflow flag for shal. 1996-03-11 23:25:53 +00:00
David Edelsohn
e10bb7b3e9 * run.c (main): Print error message if argument is invalid.
(usage): Improve text.
1996-03-11 21:59:47 +00:00
David Edelsohn
741fd619cb (main): Print error message if argument is invalid.
(usage): Improve text.
1996-03-11 21:59:22 +00:00
David Edelsohn
4dfb4ffcd1 * compile.c: #include "wait.h".
(sim_resume, sleep insn): Check program exit status in r0.
1996-03-11 19:30:53 +00:00
David Edelsohn
e656ecf90c * compile.c (sim_resume): Watch for calls to abort.
* run.c: #include <signal.h>.
	(main): Abort if program got SIGILL.
1996-03-11 17:54:45 +00:00
Michael Meissner
98fe0e07c5 Make psim build on AIX 4.1 1996-03-08 01:24:01 +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
Fred Fish
be7b99e5be Remove missing file "PROBLEMS" from list of files to keep. 1996-02-29 03:41:50 +00:00
Michael Meissner
0d02fbb844 Update to 1.0.1 1996-02-24 14:36:59 +00:00
Michael Meissner
262faa5417 Add input support; at end of user writes, call fflush 1996-02-22 20:11:41 +00:00
Michael Meissner
eaf2030fff fix typo 1996-02-22 16:32:31 +00:00
Michael Meissner
ad836e027c Add more write system calls; Add system call tracing 1996-02-21 21:58:43 +00:00
Michael Meissner
94feae28e3 Fix -m switch 1996-02-21 18:58:31 +00:00
Ian Lance Taylor
5c59ec4318 regenerate configure scripts with autoconf 2.7 1996-02-21 17:18:42 +00:00
Ian Lance Taylor
c8cd6f237b * Makefile.in (all): Simplify.
(clean, mostlyclean): SUBDIRS may contain whitespace; fix the loop
	as in the all target.
	(distclean, maintainer-clean, realclean): Likewise.
	(install): Likewise.
1996-02-21 17:02:23 +00:00
Michael Meissner
eada1efcaf Update to 1995-02-20 release 1996-02-21 16:47:06 +00:00
J.T. Conklin
d271dd0591 * config.in: Regenerated. 1996-02-21 01:02:10 +00:00
Michael Meissner
6cf9d64e77 Update to rev 1.0 from andrew 1996-02-16 15:51:57 +00:00
Michael Meissner
9fc3ba754e Make configure work on first stage of HP/UX and Solaris. 1996-02-15 23:46:30 +00:00
Michael Meissner
74eeaa7d57 Make simulator build on Solaris 2.4 1996-02-15 23:18:56 +00:00
Michael Meissner
7393a6f0b1 Work with HP/UX 9.00 1996-02-14 22:50:23 +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
Michael Meissner
2e9bb935e8 Latest changes from Andrew 1996-01-22 15:56:15 +00:00
Jim Wilson
a7aa92e2cd Remove SH3e sanitization. 1996-01-16 20:18:32 +00:00
Michael Meissner
4ffd6ed0f3 Make {add to,subtract from} minus one; Make -t alu work better 1996-01-16 16:21:17 +00:00
Michael Meissner
52edddb970 Latest changes from Andrew 1996-01-10 20:42:29 +00:00
Michael Meissner
979c3c25fd Latest cagney update 1996-01-08 18:01:17 +00:00
Jason Molenda
ad3d97748b keep configure 1995-12-23 01:07:12 +00:00
Michael Meissner
a9ddbbf5a1 12/19 release from Andrew that fixes Netbsd break problem 1995-12-19 16:41:06 +00:00
Michael Meissner
98a497b3e9 Work with new and old BFDs; Do not inline model externs functions by default 1995-12-16 15:02:48 +00:00
Ian Lance Taylor
e924127a4f * run.c (main): Use new bfd_big_endian macro. 1995-12-15 21:28:11 +00:00
Michael Meissner
669b4e1ef6 Fix warnings when using full inlining. 1995-12-15 21:06:22 +00:00
Michael Meissner
93fac32455 Changes from Andrew 1995-12-15 20:20:13 +00:00
J.T. Conklin
2434e38489 * gencode.c (tab): Added several sh3 opcodes.
(think): Added printonmatch for A_SSR and A_SPC.
* interp.c (SSR, SPC): Added definitions.
(saved_state_type): Added ssr and spc registers.
1995-12-04 20:27:38 +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
Michael Meissner
1f1e5dd85f Let autoconf determine if host is big endian or not 1995-11-30 11:13:08 +00:00
Jim Wilson
9dfb65e661 * gencode.c (tab): In shad/shld definitions, negate R[m] before
the and operation instead of after.  For shad delete cast.  For shld
	use UR instead of R and delete cast.
1995-11-29 20:41:46 +00:00
Michael Meissner
cf644706d6 fix typo 1995-11-28 18:57:30 +00:00
Michael Meissner
290ad14a9d Add determining when we do not have enough writeback slots; Do not do model specific handling if not printing out the information 1995-11-28 18:47:07 +00:00
Michael Meissner
70fc4ad384 Build again on SunOS; Make MODEL_INLINE default to 1 if inlining, not 2; Use __attribute__((const)) 1995-11-27 22:54:40 +00:00
Michael Meissner
eade8e035c Check lf_printf for type correctness 1995-11-25 06:08:56 +00:00
Michael Meissner
3d2f9d7c88 Make WITH_MODEL_ISSUE==0 not core dump 1995-11-25 05:56:28 +00:00
Michael Meissner
f2181eff5f Sort instruction names; Add igen -R option; count # of CRs that mtcrf moved 1995-11-25 01:35:14 +00:00
Michael Meissner
63caaafa5b Sort instruction names; Add igen -R option; count # of CRs that mtcrf moved 1995-11-25 01:34:26 +00:00
Michael Meissner
45525d8d6d Fix warnings to everything can be compiled with -Wall; Redo model specific changes once again to speed things up 1995-11-24 16:44:37 +00:00
Michael Meissner
46c065ab31 Count each type of conditional branch 1995-11-22 21:02:49 +00:00
Michael Meissner
4a0351ab45 Add floating point model specific support; Redo method model specific support is done; Add remaining floating add/subtract-multiply 1995-11-21 21:41:25 +00:00
David Edelsohn
c3ccc15e43 minor cleanup 1995-11-21 01:45:07 +00:00
David Edelsohn
6d8e15cbaf * run.c: Include "getopt.h".
(verbose): Delete.
	(usage): Make static.
	(main): Call arm_sim_set_verbosity.
	Only load sections marked SEC_LOAD.
	* wrapper.c (mem_size, verbosity): New static global.
	(arm_sim_set_mem_size): Renamed from sim_size.
	Callers updated
	(arm_sim_set_profile{,_size}): Renamed from sim_foo.  Callers updated.
1995-11-21 01:44:50 +00:00
Michael Meissner
0bcce7d390 speed up search for free function unit slightly. 1995-11-20 04:05:36 +00:00
Angela Marie Thomas
50f694435f don't keep mips.. I don't think it's ready for primetime. 1995-11-19 10:12:19 +00:00
Angela Marie Thomas
86db8439a2 removed build-psim,config.make,config.hdr,function_unit.c,function_unit.h 1995-11-19 09:43:46 +00:00
David Edelsohn
e47e480588 * armdefs.h (ARMul_State): New member `verbose'.
* armrdi.c (ARMul_ConsolePrint): Add missing va_end.
	* run.c (verbose): Make global.
	* wrapper.c (init): Set state->verbose.
	(ARMul_ConsolePrint): Don't print anything if !verbose.
1995-11-18 03:39:17 +00:00
Jim Wilson
708f6147e4 Patch for Hitachi PR 8433, avoid core dump on HPUX host
* gencode.c (tab): Add explicit NaN support for ftrc instruction.
1995-11-18 02:03:21 +00:00
Michael Meissner
15ec5b60e2 Add scheduling support for M{F,T}CR 1995-11-18 01:39:04 +00:00
Michael Meissner
54e986998a More scheduling stuff 1995-11-18 01:14:45 +00:00
Michael Meissner
4220dcd698 checkpoint ppc simulator 1995-11-17 19:17:58 +00:00
Michael Meissner
84bbbc3577 Delete old functional_unit support; Add --enable-sim-model-issue; Monitor branch prediction success 1995-11-16 21:42:27 +00:00
Michael Meissner
867b71685a fix bug in last checkin 1995-11-16 19:25:47 +00:00
Michael Meissner
845ff5a45f more functional unit changes 1995-11-16 19:02:52 +00:00
Michael Meissner
acb06d3040 Add option to make options inline 1995-11-15 23:01:47 +00:00
Michael Meissner
80948f392b More model specific changes 1995-11-15 22:53:59 +00:00
Stu Grossman
fe2f8313f0 * gencode.c: jsr, bsr and bsrf actually save pc+4 in pr, and rts
actually uses pr+0.
1995-11-15 00:47:21 +00:00
Stu Grossman
9999417ef6 * gencode.c: jsr actually saves pc+4, and rts actually uses pr+0. 1995-11-14 23:42:22 +00:00
Michael Meissner
39c324612d make inline model use static when inlining. 1995-11-14 11:34:01 +00:00
Michael Meissner
f35df46cc3 make inline model use static when inlining. 1995-11-14 11:25:34 +00:00
Michael Meissner
fe439e0f18 fix more warnings 1995-11-14 10:52:24 +00:00
Michael Meissner
ac79ccd41d Fix warnings and dependency 1995-11-14 09:52:29 +00:00
Michael Meissner
1dc7c0ed84 checkpoint 1995-11-13 16:07:30 +00:00
Michael Meissner
eb4ef19775 Add model-functions support 1995-11-13 01:27:21 +00:00
Michael Meissner
28816f45f5 Add support for setting model name and other things 1995-11-12 14:20:39 +00:00
Michael Meissner
c05c182dd6 Various changes 1995-11-12 02:06:11 +00:00
Michael Meissner
d587782c78 fix typo 1995-11-11 12:30:17 +00:00
Michael Meissner
813ad010f6 Check for files in the source directory, not the build directory 1995-11-11 01:11:31 +00:00
Michael Meissner
a31140524a Tons of changes to allow model specific information in the instruction file. 1995-11-10 22:49:05 +00:00
Michael Meissner
b51e5b4f6e If --enable-sim-inline is not specified, default to DEFAULT_INLINE=1, not 2. 1995-11-10 11:41:58 +00:00
Michael Meissner
e218c1be05 Add comment about enabing PowerPC simulator 1995-11-10 11:38:13 +00:00
Michael Meissner
f7c22f27af fix typo 1995-11-10 11:27:14 +00:00
Michael Meissner
f50dc1050d Add --enable-sim-powerpc support. 1995-11-09 22:44:47 +00:00
Michael Meissner
2bc7869d54 Obey --silent 1995-11-09 21:38:13 +00:00
Michael Meissner
6f07ee29f3 Get CC, etc. vars from configure; build ppc simulator if we are using GCC 1995-11-09 21:23:36 +00:00
Michael Meissner
23a994eee6 fix typo 1995-11-09 19:51:34 +00:00
Michael Meissner
ba62bb1c74 Turn on INLINES if using GCC to compile simulator; Print more stuff if requests -t trace; If !WITH_ASSERT, do not check whether illegal bits in instruction are set 1995-11-09 19:50:51 +00:00
Michael Meissner
c5addc193d General cleanup; add -t options support to print all options 1995-11-09 02:35:15 +00:00
Michael Meissner
73c4941b23 first stage in function unit support; add new switches & latest code from andrew 1995-11-08 18:57:06 +00:00
Jackie Smith Cashion
595a6ec337 * configure.in (mips*-*-*): Added "mips" simulator target.
* configure: Re-generated.
1995-11-08 15:48:59 +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
Michael Meissner
bea9581508 Remove references to config.make/config.hdr 1995-11-07 02:58:35 +00:00
Michael Meissner
0934e52021 delete unused files 1995-11-06 15:40:26 +00:00
Michael Meissner
4dcb0cdda6 Small changes from Andrew 1995-11-06 15:37:43 +00:00
Fred Fish
01860b7ed1 * core.c: Rename to corefile.c
* core.h:  Rename to corefile.h
	* inline.c: Include corefile.h, renamed from core.h.
	* cpu.h: Include corefile.h, renamed from core.h
	* vm.c: Include corefile.h, renamed from core.h
	* Makefile.in (CPU_H): Change core.h to corefile.h
	(vm.o):  Change dependency to corefile.h
	(LIB_SRC): Change core.c to corefile.c.
	(LIB_OBJ): Change core.o to corefile.o.
	(corefile.o):  Change dependencies to corefile.c, corefile.h.
	* corefile.c: Include corefile.h rather than core.h
	* README.psim (KNOWN PROBLEMS): Change core.* references to corefile.*
	references.
1995-11-05 05:40:15 +00:00
Michael Meissner
056e975cfe Add 2 config flags that were missing; make data cache instructions be nops 1995-11-03 19:37:28 +00:00
Michael Meissner
b3737d33ea Fix typo in last changes 1995-11-03 03:55:44 +00:00
Michael Meissner
e61900e6a2 Update dependencies; Fix multiple options in --enable-sim-cflags 1995-11-03 03:39:27 +00:00
Michael Meissner
c494cadde6 Use autoconf correctly; provide more stats with -I 1995-11-02 20:21:35 +00:00
Michael Meissner
7ff82a593d Add ppc-opcode-stupid 1995-11-02 14:28:10 +00:00
Michael Meissner
a983c8f080 Andrew's latest changes & print all instruction counts if -I 1995-11-02 14:27:18 +00:00
Michael Meissner
c143ef6296 Lots of changes 1995-11-01 19:32:38 +00:00
Michael Meissner
4ac24d7673 remove extra #endif 1995-11-01 03:25:04 +00:00
Michael Meissner
5281197d1e fix typo in last change 1995-11-01 03:02:04 +00:00
Michael Meissner
5d0e859038 map , to spaces in --enable-sim-cflags 1995-10-31 20:59:19 +00:00
Michael Meissner
4b935ed4a4 Add various switches to control how the simulator is built 1995-10-31 20:24:41 +00:00
Michael Meissner
5b4d72dd73 New changes from Andrew 1995-10-31 18:29:37 +00:00
Michael Meissner
e89929cd79 Delete *.i and *.out files for clean 1995-10-26 18:10:13 +00:00
Michael Meissner
22ddef466e Fix SWAP_8 and optimize it; print out the failing address if a signal is issued for non-gdb runs 1995-10-26 16:43:00 +00:00
Jim Wilson
3be50301d5 Fix SH simulator to handle program exit correctly. 1995-10-22 20:22:02 +00:00
Jim Wilson
99e6fd41ea Indicate SIGILL instead of calling abort for default case. 1995-10-21 21:38:40 +00:00
Fred Fish
64415b767b *** empty log message *** 1995-10-20 16:16:18 +00:00
Michael Meissner
5b0d3b1490 Move counting of instructions into the semantic routines. 1995-10-16 21:36:01 +00:00
Michael Meissner
9aa8a78839 Speedups from Andrew 1995-10-16 20:17:35 +00:00
Steve Chamberlain
a325a02e36 Add sim_set_callbacks. 1995-10-13 22:06:30 +00:00
Michael Meissner
a1fe883fd0 Rename trace to ppc_trace; Remove extra static. 1995-10-13 14:01:32 +00:00
Michael Meissner
9f5912cb98 Format #instructions with commas 1995-10-13 01:10:06 +00:00
Michael Meissner
a8958dd48b Performance tweaks 1995-10-12 21:49:37 +00:00
Michael Meissner
8e20a3ac82 Inline most things except semantics which causes GCC to balloon, and device{s,_tree} which causes a bug 1995-10-12 15:48:22 +00:00
Michael Meissner
dec38daceb October 11th changes from Andrew 1995-10-11 20:17:49 +00:00
Fred Fish
479fc045cd * Makefile.in (BISONFLAGS): Remove macro. 1995-10-10 20:37:09 +00:00
Peter Schauer
23de525f42 * configure.in: Explicitly `exit 0' for broken shells.
* configure:  Rebuilt.
1995-10-08 11:27:49 +00:00
Michael Meissner
f46f380706 Add set_sim_callbacks new needed by gdb. 1995-10-08 02:42:39 +00:00
Michael Meissner
7ca054e88e Print exit status/signal number if -I 1995-10-06 21:23:35 +00:00
Jim Wilson
0e1815de9d * interp.c (callback): Remove last change. It is initialized by
a sim_set_callbacks call.
1995-10-06 19:15:06 +00:00
Jim Wilson
437fb926e6 * interp.c (trap, case SYS_utime): Cast second arg of utime to
void * to avoid compiler error.
1995-10-06 19:13:13 +00:00
Jim Wilson
6834d4935c * common/run.c (main): Initialize the callbacks. 1995-10-06 19:05:40 +00:00
Steve Chamberlain
f025d903c2 new file. 1995-10-05 21:23:43 +00:00
Steve Chamberlain
28920b9dbb * interp.c (callback): Initialize to default callback. 1995-10-05 21:14:21 +00:00
Jason Molenda
e635c16ecb revert to stock autoconf 2.4 configure scripts. 1995-10-03 20:31:16 +00:00
Stan Shebs
3994972d62 No ChangeLog to keep. 1995-10-03 01:50:49 +00:00
Michael Meissner
8b57093d33 Add # in front of CPU number 1995-10-02 18:33:17 +00:00
Michael Meissner
e1aaf97993 update usage message 1995-10-02 18:21:46 +00:00
Michael Meissner
344d5a23f7 fix typo 1995-10-02 18:20:04 +00:00
Michael Meissner
83d96c6e3e Add support to count the number of instructions issued. 1995-10-02 18:19:17 +00:00
Michael Meissner
8eab189bce Add switch processing in gdb. 1995-10-02 15:47:57 +00:00
Michael Meissner
d8d46596e6 Match standalone printf_filtered to gdb prototype. 1995-10-01 17:54:45 +00:00
Michael Meissner
9d3b470184 Fix prototype. 1995-10-01 00:48:15 +00:00
Steve Chamberlain
6018179603 keep common directory. 1995-09-30 00:44:21 +00:00
Steve Chamberlain
7bf1bbbc92 Thu Sep 28 15:40:36 1995 steve chamberlain <sac@slash.cygnus.com>
* run.c, run.1: From sh directory.
1995-09-28 22:42:28 +00:00
Steve Chamberlain
c966ea3a50 Thu Sep 28 15:26:59 1995 steve chamberlain <sac@slash.cygnus.com>
* run.c: Moved to ../common.
	* interp.c (trap): Use gdb's callback interface.
	* Makefile.in: Updated.
1995-09-28 22:39:36 +00:00
Michael Meissner
8b89f5aa47 Default stack creation; fixup last change. 1995-09-21 22:50:23 +00:00
Michael Meissner
4f35cbffa6 enhance OEA behavior. 1995-09-21 22:23:56 +00:00
Ian Lance Taylor
602677ad44 add maintainer-clean Makefile targets 1995-09-20 17:38:13 +00:00
Steve Chamberlain
5897a29e88 * run.c (sim_callback_write_stdout): New.
* interp.c (trap): Call sim_callback_write_stdout when needed.
1995-09-20 16:52:52 +00:00
Steve Chamberlain
e9aea0b33e Mon Sep 18 18:42:27 1995 steve chamberlain <sac@slash.cygnus.com>
* interp.c (trap): Remove useless code.

Fri Sep 15 19:30:05 1995  steve chamberlain  <sac@slash.cygnus.com>

	* syscall.h: Copy from newlib.
1995-09-19 01:47:35 +00:00
Stu Grossman
95295b419c * gencode.c: Back up PC by 2 for breakpoints.
* interp.c:  Move fp regs beyond pc/pr/etc to avoid confusing GDB,
	which expect pc to immediatly follow regs[].
1995-09-15 02:36:10 +00:00
Michael Tiemann
0384d2e3df Sun Sep 10 10:23:56 1995 Michael Tiemann <tiemann@axon.cygnus.com>
* registers.c (register_description): Add gdb synonyms for cr
	(cnd) and msr (ps).
1995-09-10 17:33:54 +00:00
Michael Meissner
d8f994b2dc fix typo. 1995-09-10 03:44:58 +00:00
Michael Meissner
8b3797aa18 Update to new config scheme 1995-09-08 23:56:38 +00:00
Ian Lance Taylor
fe7ec1d0a2 * Makefile.in (install): Don't install in $(tooldir). 1995-09-08 18:33:23 +00:00
Ian Lance Taylor
21852576ff * configure.in: Define CC_FOR_BUILD. Don't call AC_PROG_INSTALL.
* configure: Rebuild.
	* Makefile.in (INSTALL): Revert to using install.sh.
	(INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
	(INSTALL_XFORM, INSTALL_XFORM1): Restore.
	(CC_FOR_BUILD): Restore.
	(gencode): Build using $(CC_FOR_BUILD).
	(install): Don't install in $(tooldir).
1995-09-08 18:32:37 +00:00
Ian Lance Taylor
c64dfabd07 * configure.in: Remove AC_PROG_INSTALL.
* configure: Rebuild.
	* Makefile.in (INSTALL): Revert to using install.sh.
	(INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
	(INSTALL_XFORM, INSTALL_XFORM1): Restore.
	(mostlyclean): Make the same as clean, not distclean.
	(clean): Remove config.log.
	(install): Don't install in $(tooldir).
1995-09-08 18:29:22 +00:00
Ian Lance Taylor
b6de8f6a08 * configure.in: Convert to use autoconf.
* configure: New file, built by autoconf.
	* acconfig.h: New file.
	* config.in: New file, built by autoheader.
	* Makefile.in: Various changes for new configure script.  Also:
	(INSTALL): Go up two levels, not one.
	(ALLOCA, MALLOC, OPCODES): Remove.
	(gencode): Use $(CC_FOR_BUILD).
	(case.o): Remove.
	(run.o, interp.o): Depend upon config.h.
	* interp.c: Include "config.h".  Don't include "sysdep.h".
	Include <stdlib.h>, <time.h>, and <unistd.h> if they exist.
	* run.c: Include "config.h".  Don't include "sysdep.h".  Include
	<stdlib.h> if it exists.  Include "getopt.h".  Declare printf if
	necessary.
1995-09-08 18:07:02 +00:00
Ian Lance Taylor
247d4fb1af mention new config.in file 1995-09-08 16:34:48 +00:00
Ian Lance Taylor
0743b4ac29 * configure.in: Call AC_CONFIG_HEADER. Don't try to use
bfd/hosts/*.h file or bfd/config/*.mh file.  Call AC_PROG_CC and
	AC_PROG_RANLIB.  Substitute in values for CFLAGS, HDEFINES and AR.
	Call AC_CHECK_HEADERS for stdlib.h and time.h.  Touch stamp.h if
	creating config.h.
	* configure: Rebuild.
	* Makefile.in (AR): Define as @AR@.
	(CC): New variable, defined as @CC@.
	(CFLAGS): Define as @CFLAGS@.
	(RANLIB): Define as @RANLIB@.
	(HDEFINES, TDEFINES): New variables.
	(@host_makefile_frag@): Remove.
	(compile.o, run.o): Depend upon config.h.
	(mostlyclean): Make the same as clean, not distclean.
	(clean): Remove config.log.
	(distclean): Remove config.h and stamp-h.
	(Makefile): Don't depend upon @frags@.  Just rebuild Makefile when
	invoking config.status.
	(config.h, stamp-h): New targets.
	* compile.c: Include "config.h".  Don't include <sys/times.h>.
	Include <time.h> and <stdlib.h> if they exist.  Don't include
	"sysdep.h".
	(get_now): Remove unused local b.
	* run.c: Include "config.h".  Include <stdlib.h> if it exists.
	Don't include "sysdep.h".
	* writecode.c: Don't include "bfd.h" or "sysdep.h".  Include
	<stdio.h>.
1995-09-08 16:26:41 +00:00
Michael Meissner
4f965b817e Do not include sysdep.h, bfd no longer provides it 1995-09-08 13:59:49 +00:00
J.T. Conklin
c632873c27 (Try to) Update to new bfd autoconf scheme.
* run.c: Don't include sysdep.h.
* Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
(CC, CFLAGS, AR, RANLIB): Likewise.
(HDEFINES, TDEFINES): Define.
(CC_FOR_BUILD): Delete.
(host_makefile_frag): Delete.
(Makefile): Don't depend on frags.
* configure.in (sysdep.h): Don't create symlink.
(host_makefile_frag, frags): Deleted.
(CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
* configure: Regenerated.
1995-09-07 22:07:47 +00:00
David Edelsohn
24691f5599 (Try to) Update to new bfd autoconf scheme.
* run.c: Don't include sysdep.h.
	* Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
	(CC, CFLAGS, AR, RANLIB): Likewise.
	(HDEFINES, TDEFINES): Define.
	(CC_FOR_BUILD): Delete.
	(host_makefile_frag): Delete.
	(Makefile): Don't depend on frags.
	* configure.in (sysdep.h): Don't create symlink.
	(host_makefile_frag, frags): Deleted.
	(CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
	* configure: Regenerated.
1995-09-07 19:08:15 +00:00
Michael Meissner
c464ba6669 Fix brk system call. 1995-09-06 14:00:16 +00:00
Jeff Law
1fc210a78b * Makefile.in (run): Link in math library too. 1995-08-31 04:22:57 +00:00
Jeff Law
c1bce9f662 * interp.c (FPSCR, FPUL): Define.
(struct save_state): Add fields for floating point registers,
	FPSCR and FPUL.
	(sim_resume): Add 'F' for accessing floating point registers
	in the save state structure.
	* gencode.c: Add sh3e opcodes.
	(gensym): Define a buffer for int<->fp conversions.

First cut at simulating sh3e instructions.  Basic stuff should work;
instructions using fpul and fpscr are completely untested...  Sanitized
away for now (sh3e).
1995-08-31 04:21:32 +00:00
Jeff Law
2ca7c3c417 * gencode.c (gensim): abort if an unknown opcode is encountered. 1995-08-31 04:07:00 +00:00
Michael Meissner
13ba8b6927 Only build PowerPC simulator if target is powerpc*-*-eabisim 1995-08-25 16:05:32 +00:00
Michael Meissner
cb7a68927a Add PowerPC simulator from Andrew Cagney <cagney@highland.com.au> 1995-08-23 21:06:36 +00:00
Jim Wilson
f2d1b56f40 For Sega/Hitachi, when simulator exits, check to see if it was because
of a signal.
1995-08-12 01:03:16 +00:00
Fred Fish
605b7789b1 Document FSF address updating of all files with FSF addresses,
except for the COPYING* files.
1995-08-03 18:42:27 +00:00
Fred Fish
07edac884e Remove Sanitize reference. 1995-08-03 17:07:55 +00:00
Fred Fish
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
J.T. Conklin
80c5739dbe forgot to check this in 1995-07-05 23:51:30 +00:00
J.T. Conklin
982744ff4c * Makefile.in, configure.in: converted to autoconf.
* configure: New file, generated with autconf 2.4.
1995-07-05 23:39:33 +00:00
J.T. Conklin
4f3547f172 * Makefile.in (distclean, mostlyclean, realclean): Remove autoconf files. 1995-07-05 23:36:48 +00:00
J.T. Conklin
e58104714a * w65.mt: Removed. 1995-07-05 23:19:07 +00:00
J.T. Conklin
d1709457d9 * arm.mt: Removed. 1995-07-05 23:18:25 +00:00
J.T. Conklin
ee0eaaefde * sh.mt: Removed. 1995-07-05 23:17:43 +00:00
J.T. Conklin
8b40f60829 * h8300.mt: Removed. 1995-07-05 23:16:38 +00:00
J.T. Conklin
437ba769b3 * Makefile.in (all, clean, distclean, mostlyclean, realclean,
install): Changed targets so that they descend all
  subdirectories in $(SUBDIRS).
  (*-all, *-clean, *-install): Removed targets.

* configure.in: Don't bother with target makefile fragments, they
  are no longer needed.
* configure: regenerated.
1995-07-05 23:10:29 +00:00
J.T. Conklin
1ffd292be6 * Makefile.in, configure.in: converted to autoconf.
* configure: New file, generated with autconf 2.4.
1995-07-05 22:54:10 +00:00
Stan Shebs
8e968e86d4 * interp.c (sim_open): If argument supplied, interpret as
desired memory size.
	(parse_and_set_memory_size): New function.
	(sim_do_command): New function.
1995-07-01 00:01:19 +00:00
Stan Shebs
94d1ac891b * compile.c (sim_do_command): New function. 1995-07-01 00:00:12 +00:00
Stan Shebs
1a0e5dd043 * wrapper.c (sim_do_command): New function. 1995-06-30 23:59:46 +00:00
Fred Fish
7427b968f3 * interp.c: (SYS_wait): Define as SYS_wait4 if available and
SYS_wait is not already defined (SunOS 4.1.3 for example).
	(SYS_utime): Define as SYS_utimes if available and
	SYS_utime is not already defined.
1995-06-29 17:15:30 +00:00
Steve Chamberlain
32a9989d68 * interp.c: Don't include sys/times.h or sys/param.h 1995-06-23 00:26:40 +00:00
Steve Chamberlain
edf6a84356 * interp.c: (SIGBUS, SIGTERM): Define if not.
(sim_memory_size): default to 2^19 on PCs.
	(sim_resume): Poll for quits on win32.
1995-06-21 22:05:47 +00:00
Steve Chamberlain
7478904c77 * compile.c (get_now): Don't do if win32.
(sim_resume): Poll in win32 too.
1995-06-20 23:21:23 +00:00
Steve Chamberlain
5cb74cfef5 * armos.c (ARMul_OSHandleSWI): New version to work with
newlib simply.
1995-06-13 17:57:26 +00:00
Steve Chamberlain
c8aea29bd6 * run.c (main): Grab return value from right register. 1995-06-08 21:37:35 +00:00
Jim Wilson
856253d4d8 Unsanitize SH3 support. 1995-05-25 00:00:03 +00:00
Jim Wilson
4cea100d33 Correct typo in all simulator configure.in files other than SH: ../bfd
should be ../../bfd.
1995-05-24 23:38:06 +00:00
Steve Chamberlain
d32033ad35 Wed May 24 14:48:46 1995 Steve Chamberlain <sac@slash.cygnus.com>
* Makefile.in: Support ARM.
	* configure.in: Ditto.
1995-05-24 21:49:24 +00:00
Steve Chamberlain
2494eaf6fd Wed May 24 14:37:31 1995 Steve Chamberlain <sac@slash.cygnus.com>
* New.
1995-05-24 21:45:01 +00:00
Steve Chamberlain
a43b22b577 Wed May 24 14:07:11 1995 Steve Chamberlain <sac@slash.cygnus.com>
* gencode.c (tab): Add bsrf and braf.
1995-05-24 21:14:40 +00:00
Jason Molenda
5887848eb4 * configure.in: use ../../bfd/hosts/std-host.h, not
../bfd/hosts/std-host.h (which doesn't exist).
1995-04-24 22:10:32 +00:00
J.T. Conklin
057af5c96c * run.c: parse arguments with getopt(). 1995-03-27 18:49:58 +00:00
Ian Lance Taylor
f7ce03e552 fix configury 1995-02-28 22:34:21 +00:00
Ian Lance Taylor
35680553b1 Sun Feb 26 15:27:24 1995 Steve Chamberlain <sac@cygnus.com>
* configure.in: Use ../../bfd/hosts/std-host.h if specific
	host unavailable.
1995-02-28 19:16:40 +00:00
Torbjorn Granlund
0fb39e84f9 Changes for PR 6203. 1995-01-22 22:12:59 +00:00
Torbjorn Granlund
acae2683a9 Fix for PR 6200 (SUBC problems). 1995-01-19 13:59:13 +00:00
Steve Chamberlain
4a5947d010 * Makefile.in: Support W65.
* configure.in: Ditto.
1995-01-16 01:47:43 +00:00
Steve Chamberlain
26aef5db38 new files. 1995-01-16 01:47:04 +00:00
Steve Chamberlain
6c19c2efe3 * Makefile.in: Support W65.
* configure.in: Ditto.
1995-01-16 00:55:22 +00:00
Steve Chamberlain
321a78a5a0 New files. 1995-01-16 00:53:05 +00:00
Stu Grossman
a42b1d054c * interp.c: Remove def of INLINE. This comes from bfd.h. Also,
declare IOMEM before using it.
1995-01-09 23:46:03 +00:00
Steve Chamberlain
4d0be1f5d4 * interp.c (BUSERROR): New macro.
([r|w][bwl]at[little|big]) New functions.
	(sim_resume): If GO32 check for interrupt every now
	and again.  Decrement PC if SIGBUS seen.
	* run.c (main):  Return result of simulated _exit.
1994-12-29 05:28:20 +00:00
Steve Chamberlain
d2fd61a812 * interp.c ([wr][bwl]at): New functions.
(trap): Cope with both byte modes.
1994-11-24 05:33:47 +00:00
Steve Chamberlain
0a24010060 Specify the file type. 1994-06-28 01:05:38 +00:00
Steve Chamberlain
3d3e5651cf * interp.c (trap): Fix irix incompatibility.
* run.c (main): open without specifying file type.
1994-05-27 02:06:14 +00:00
David Edelsohn
fe031f82c4 * interp.c (sim_*): Make result void where there isn't one.
(sim_set_pc): Delete.
	(sim_info): Delete printf_fn arg, all callers changed.
	Call printf_filtered instead.
	(sim_close): New function.
	(sim_load): New function.
	(sim_create_inferior): Renamed from sim_set_args, all callers changed.
	* run.c: #include <varargs.h>, "remote-sim.h".
	(printf_filtered): New function.
1994-05-18 21:37:08 +00:00
David Edelsohn
3a1d485df5 * compile.c: #include "bfd.h".
(sim_*): Set result type to void where there isn't one.
	(sim_resume, default case): Set cpu.exception to SIGILL.
	(sim_trace): Delete.
	(sim_set_pc): Delete.
	(sim_info): Delete printf_fn arg, all callers changed.
	Call printf_filtered.
	(set_h8300h): New arg `flag', all callers changed.
	(sim_close): New function.
	(sim_load): New function.
	(sim_create_inferior): Renamed from sim_set_args, all callers changed.
	* run.c: #include <varargs.h>, "remote-sim.h".
	(printf_filtered): New function.
1994-05-18 20:55:12 +00:00
David Edelsohn
0693d363df * compile.c (decode): Fix typo (16 bit branches).
(*): Some white space clean up.
1994-05-14 01:36:52 +00:00
Steve Chamberlain
8aff8146d2 * gencode.c (main, gendefines): New -d option prints table of defines.
* interp.c (trap): Add a load of system calls.
	(sim_memory_size): Now default to 8Mbyte.
        (PARANOID): Keep vector of registers with undefined contents.
1994-02-12 06:02:09 +00:00
David D. Zuhn
062d092547 keep run.1 1993-11-11 20:07:08 +00:00
David Edelsohn
c834dacddd * Makefile.in (CSEARCH): Add -I$(srcdir)/../../gdb
* interp.c: #include "remote-sim.h".
(sim_resume): int result, new arg `siggnal'.
(sim_write): Use SIM_ADDR for type of arg `addr'.
(sim_read): Use SIM_ADDR for type of arg `addr'.
Use unsigned char * for `buffer'.
(sim_store_register): int result.
(sim_fetch_register): Ditto.
(sim_stop_reason): Renamed from sim_stop_signal.  New arg `reason'.
(sim_set_pc): int result, use SIM_ADDR for type of arg `x'.
(sim_info): int result, new args `verbose', `printf_fn'.
(sim_kill): int result.
(sim_open): int result, new arg `name'.
* run.c: #include <stdio.h>
(main): Update call to sim_info.
1993-10-26 18:01:45 +00:00
David Edelsohn
a415cf0a77 * Makefile.in (CSEARCH): Add -I$(srcdir)/../../gdb
* compile.c: #include "remote-sim.h".
(sim_resume): New arg siggnal.
(sim_write): Use SIM_ADDR for type of arg addr.  Always return a value.
(sim_read): Ditto.
(sim_store_register): Result is type int.
(sim_fetch_register): Ditto.
(sim_stop_reason): Renamed from sim_stop_signal.
(sim_set_pc): Use SIM_ADDR for type of arg pc.
(sim_info): int result, new arg printf_fn.
(sim_kill): int result.
(sim_open): int result, new arg name.
* run.c (main): Use sim_set_pc to set pc.  Update call to sim_info.
1993-10-26 17:01:03 +00:00
David Edelsohn
631f6b2406 (sim_stop_signal): Result is now enum sim_stop. 1993-10-23 22:10:28 +00:00
David Edelsohn
7db9345b40 (sim_stop_signal): Result is now enum sim_stop. 1993-10-23 22:03:52 +00:00
Roland Pesch
06b24c9e49 Man page for "run" simulator, and install-man target for it. 1993-10-22 04:58:26 +00:00
Steve Chamberlain
28655f000c * compile.c (sim_set_pc): Write to the pc direcly.
(sim_store_register): Now value is passed by reference. (sim_read,
	sim_write): Return number of bytes copied.
1993-10-07 23:25:14 +00:00
K. Richard Pixley
becbe1c328 do not echo recursion lines 1993-09-13 19:49:33 +00:00
Fred Fish
b5ed6e32c2 Remove '.Sanitize' from explicit list of Things-to-lose. It is now implicitly
added to the list by Sanitize, unless Sanitize knows it needs to keep it.
1993-08-02 23:29:32 +00:00
Steve Chamberlain
f412eb92fe Configure for h8300h too. 1993-08-02 21:19:38 +00:00
Steve Chamberlain
73e77bc3da Deleted. 1993-07-30 17:46:09 +00:00
Fred Fish
775d4a4096 Add .Sanitize to Things-to-lose list. 1993-07-30 16:46:19 +00:00
David Edelsohn
f853f4ca53 Fix bit instructions (was setting destination reg and not carry). 1993-07-16 20:26:05 +00:00
David Edelsohn
56390ce8d4 * compile.c: Reset HMODE back to zero (accidently set it to 1). 1993-07-15 17:04:39 +00:00
David Edelsohn
cf5b4aa63a * run.c (main): If h8/300h binary detected, call set_h8300h.
* compile.c (sim_resume): Fix O_NEG insn.
1993-07-15 17:01:40 +00:00
David Edelsohn
89a2c4fdaa * run.c (main): Add -h flag to enable h8/300h emulation.
* compile.c: Rename Hmode to HMODE (consistency with gdb).
(set_h8300h): New function.
(sim_resume): Add support for extu,exts insns.
(sim_resume): Fix logical right shifting.
(sim_resume, label alu32): Fix setting of carry flag.
1993-07-09 21:42:02 +00:00
Steve Chamberlain
1a11e53014 * run.c (main), interp.c (sim_set_timeout): Remove timeout
functionality.
1993-07-06 17:31:34 +00:00
David Edelsohn
ce51bde687 (sim_csize): Initialize cpu.cache. 1993-07-04 07:37:45 +00:00
Steve Chamberlain
56fc37746d Keep writecode.c 1993-07-03 01:45:45 +00:00
David Edelsohn
f7e3d580dc Makefile.in: Add -I../../bfd to pick up bfd.h. 1993-07-03 00:43:59 +00:00
Steve Chamberlain
f6fba99573 Checkpoint. 1993-06-24 20:52:58 +00:00
David Edelsohn
1835992e85 * run.c (main): Fix parsing of args.
* compile.c (sim_resume): Fix shll insn.
1993-06-24 20:43:41 +00:00
Steve Chamberlain
e615309a0b Look in the right place for bfd.h 1993-06-18 22:16:32 +00:00
Steve Chamberlain
ebd7d72e33 New file for configuring. 1993-06-18 21:24:00 +00:00
Steve Chamberlain
fdc506e668 Lint. 1993-06-18 20:53:58 +00:00
Steve Chamberlain
90fe361fdc * gencode.c: Fix some opcodes.
* interp.c: Support for profiling and portability fixes.
	* run.c (main): Get profiling args.
1993-06-18 01:31:54 +00:00
Jim Kingdon
68dd30141d * Makefile.in: Add distclean, realclean, and mostlyclean targets. 1993-06-13 20:11:10 +00:00
Steve Chamberlain
ce38539a45 Checkpoint for dje. 1993-06-10 20:38:39 +00:00
Steve Chamberlain
a2ca98b6bb Obsolete. 1993-06-08 21:38:42 +00:00
Steve Chamberlain
7ecaa5af33 Rewrite for H8/300-H 1993-06-08 21:16:33 +00:00
Steve Chamberlain
1cec8dae68 Support for -v 1993-06-01 18:20:29 +00:00
K. Richard Pixley
87756e15db added things-to-lose sections 1993-05-27 06:44:29 +00:00
Ian Lance Taylor
30947f7efc * Makefile.in (check, installcheck): Added dummy targets. 1993-05-21 17:55:36 +00:00
David D. Zuhn
b23eaace23 add no-op dvi target 1993-05-21 17:41:21 +00:00
Steve Chamberlain
5e1ac26014 Support for broken makes and lint. 1993-05-03 22:27:41 +00:00
Steve Chamberlain
ad5fcc6248 (endian): Add explicit rule for broken makes. 1993-05-03 15:29:55 +00:00
Steve Chamberlain
a86ea03fc2 Support for the SH 1993-04-27 02:20:07 +00:00
Steve Chamberlain
594266fc8a New stuff for SH. 1993-04-27 01:02:38 +00:00
Steve Chamberlain
56a3fc33c9 Sanitize out empty direcories 1993-04-20 19:39:51 +00:00
Steve Chamberlain
a66ad4b239 add h8500 directory 1993-03-29 21:23:15 +00:00
Ian Lance Taylor
6deb169cc8 * h8300.mt (DO_INSTALL): Renamed from INSTALL. 1993-03-15 23:49:48 +00:00
Steve Chamberlain
83a4c26f54 Add ChangeLog to kept things 1993-03-03 23:08:41 +00:00
Steve Chamberlain
18079b9e6f Found trying to compile on ok.
* Makefile.in: Don't use cb or indent
	* p1.c, state.h, writecode.c: lint
1993-03-03 23:07:53 +00:00
Steve Chamberlain
ea6bbfba0a Copyright change 1993-02-11 22:54:38 +00:00
K. Richard Pixley
7413f20a5e build endian.h via a temporary file so that we don't leave an
incomplete file lying around on interrupted builds.
1993-02-11 03:15:39 +00:00
Steve Chamberlain
67c9903f93 * Makefile.in, configure.in: if target isn't supported, build a
harmless makefile.
support for make clean
1993-02-08 19:47:11 +00:00
Steve Chamberlain
47dba87afa * Makefile.in, configure.in: if target isn't supported, build a
harmless makefile.
1993-02-08 19:46:59 +00:00
Steve Chamberlain
55538130c9 Remember about Makefile.in 1993-02-04 18:45:23 +00:00
Steve Chamberlain
e856060f53 These should be in too 1993-02-04 15:53:49 +00:00
Steve Chamberlain
b0c9f02613 New simulator tree structure 1993-02-04 00:22:22 +00:00
John Gilmore
6a467dd255 Add perifs.c and state.h; elim extraneous output. 1993-02-03 09:01:53 +00:00
John Gilmore
a082325bd2 * Makefile.in: Make SunOS halfdone VPATH work.
* p1.c:  Lint picked up by HP native compiler.
1993-02-02 00:45:59 +00:00
Steve Chamberlain
2c320e3598 fix endian problem 1993-01-21 01:33:20 +00:00
Steve Chamberlain
69488a770a new file 1993-01-18 21:32:32 +00:00
Steve Chamberlain
62b66d6df1 checkpoint 1993-01-18 20:24:47 +00:00
Steve Chamberlain
06137fcb39 * p{1,3}.c (sim_resume): when running on dos, any character typed to
the keyboard will cause a simulated exception.
1993-01-04 20:55:22 +00:00
Steve Chamberlain
4d53c4e361 Now works in a cross build environment 1993-01-04 15:45:35 +00:00
Steve Chamberlain
f53974be00 Allow srcdir builds 1993-01-04 01:55:53 +00:00
Steve Chamberlain
191395156c * p1.c, p3.c, run.c, writecode.c: all used h8/300 opcodes in and
running
1993-01-03 22:19:42 +00:00
Steve Chamberlain
a154eea78c H8/300 simulator 1992-12-22 21:59:06 +00:00