Commit graph

933 commits

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