Commit Graph

832 Commits

Author SHA1 Message Date
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