Commit Graph

252 Commits

Author SHA1 Message Date
Doug Evans 7caebec6f6 * cgen.sh: Portably read parms past $9. 1998-01-29 12:14:10 +00:00
Doug Evans ed6f14718b * Make-common.in (stamp-tvals): New rule.
(targ-vals.h,targ-map.c): Depend on it.
	(clean): Remove stamp-tvals.
1998-01-23 22:22:23 +00:00
Michael Meissner e9ae18efdb #if 0 unused variable 1998-01-21 02:38:09 +00:00
Doug Evans 462cfbc4eb * aclocal.m4: Recognize --enable-maintainer-mode.
*/configure: Regenerated.
1998-01-20 06:37:00 +00:00
Doug Evans 4a44afd5c7 * Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep. 1998-01-20 03:57:14 +00:00
Doug Evans 36de6f40d4 sanitize keep-cygnus cgen generation 1998-01-20 02:36:21 +00:00
Doug Evans 189e2694ad * Make-common.in (cgen-{arch,cpu,decode}): New targets.
* cgen.sh: New file.
	* cgen-scache.h: Deleted.
	* cgen-scache.c: Only compile contents if WITH_SCACHE.
	(scache_init): Use runtime computed size of SCACHE.
	(scache_flush): Likewise.
	* cgen-mem.h (GETIMEMU[QHSD]I): Declare.
	([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): Declare.
	* cgen-sim.h: Scache support moved here.
	(PC): Redo definition.
	(ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
	(DECODE): Add parallel execution support.
	Only include semantic label members if using switch.
	(SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
	(CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
	(IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF,
	SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here
	from cgen-types.h.
	(engine_{stop,run,resume,halt,signal}): Delete decls.
	* cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
	(argbuf,scache): Delete forward decls.
	(STATE): Delete decl.
	* cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
	Include cgen-mem.h, cgen-ops.h.
	(engine_halt,engine_signal): Delete.
	({ex,exc,sem,semc}_illegal): Delete.
	(sim_disassemble_insn): Result of extract fn is in bits.
	* genmloop.sh: Rewrite.
1998-01-19 21:14:14 +00:00
Doug Evans 8cc6a83b83 * sim-base.h (sim_state_base): Delete member `model'.
(sim_cpu_base): Add member `model'.
	* sim-model.h (IMP_PROPERTIES): New type.
	(MACH): New members imp_props, models.
	(models): Delete decl.
	* sim-model.c (set_model): Update.
	* sim-profile.c (profile_print_model): Update.
1998-01-19 21:11:00 +00:00
Doug Evans 7e13b93461 * sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here. 1998-01-19 21:09:43 +00:00
Doug Evans 76da664703 Fix comment. 1998-01-19 14:13:30 +00:00
Nick Clifton ef13d3e3ed replaced call to CGEN_INSN_SYNTAX()->mnemonic with CGEN_INSN_MNEMONIC() 1998-01-16 20:36:07 +00:00
Doug Evans 9bb68e2096 * Make-common.in (sim-core.o): Depend on $(sim_main_headers).
* sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
	* sim-config.c (sim_config): Replace WITH_DEVICES with
	WITH_TREE_PROPERTIES.
1997-12-05 00:04:46 +00:00
Doug Evans 6e51f990a2 Regenerate configure files. 1997-12-04 17:26:06 +00:00
Doug Evans 22469a10e8 * Make-common.in (SIM_ENVIRONMENT): New variable.
(CONFIG_CFLAGS): Add it.
	* aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
	--enable-sim-environment option.
	* configure: Regenerated.
	* sim-config.h (environment support): Rewrite.
	* sim-config.c (current_environment): Define as enum, unconditionally.
	(current_alignment): Define unconditionally.
	(config_environment_to_a): Update.
	(config_alignment_to_a): Fix type of argument.  Define unconditionally.
	(sim_config): Handle environment and alignment determination
	unconditionally.  Delete sanity checks of current_environment,
	unnecessary.
	(print_sim_config): Update.
	* sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT.
	(standard_options): Add --environment.
	(standard_option_handler): Likewise.
1997-12-04 02:04:42 +00:00
Michael Meissner 97b25f990d Delete sim_io_syscalls and sim_io_getstring 1997-11-30 22:42:08 +00:00
Michael Meissner f2907f7425 Switch to using cb_syscall; Fix bug in cb_syscall write 1997-11-29 01:29:20 +00:00
Michael Meissner 465db791ec Fix problems with d30v addc/subb 1997-11-29 01:14:58 +00:00
Doug Evans 1294727e84 * gennltvals.sh: Redo syscall support to allow sanitization.
* nltvals.def: Regenerated.
And add d30v sanitization.
1997-11-28 19:18:01 +00:00
Doug Evans 6be035091a * Make-common.in (run.o): Depend on remote-sim.h.
(nrun.o,sim-hload.o,sim-hrw.o): Likewise.
	(sim-io.o,sim-reason.o,sim-resume.o): Likewise.
1997-11-26 22:11:31 +00:00
Michael Meissner ac07041378 Flush writes to stdout, stderr 1997-11-26 21:52:16 +00:00
Andrew Cagney 3885125c8e * sim-io.c (sim_io_getstring): Delete unused len2. (sim_io_syscalls):
Ditto for sys_errno.
1997-11-26 21:35:53 +00:00
Doug Evans 6b8d6a1c49 Delete magic number FIXME. 1997-11-26 19:53:26 +00:00
Doug Evans 4123aca810 Undo last change. callback.h changed instead.
Plus:
	* syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
1997-11-26 19:52:34 +00:00
Doug Evans fc63d75ab3 * syscall.c (cb_syscall, cases stat, fstat): Handle -Wall -Werror. 1997-11-26 19:19:58 +00:00
Michael Meissner 69628a60ea nuke lseek 1997-11-26 01:13:40 +00:00
Doug Evans 4ee2892be8 Add comment. 1997-11-25 18:43:29 +00:00
Doug Evans f33673061f * callback.c (os_stat): Make 3rd arg a host struct stat ptr.
(os_fstat): Likewise.  Validate fd argument.
	(cb_host_to_target_stat): Delete big_p arg.  If HS arg is NULL,
	just compute target stat struct length.
	* syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
	(ENOSYS,ENAMETOOLONG): Provide definitions if missing.
	(get_string): Return host errno values so they can be properly
	translated later.
	(cb_syscall): Likewise.
	(cb_syscall, cases open,unlink): Use get_path instead of get_string.
	(cb_syscall, case read): Use read_stdin for file descriptor 0.
	(cb_syscall, case write): Use write_stderr for file descriptor 2.
	(cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
	(get_path): New function.
1997-11-25 09:33:34 +00:00
Doug Evans c76e66831a * gennltvals.sh: Generate syscall values for d30v.
Use libgloss/syscall.h for sparc.
	* nltvals.def: Regenerate.
1997-11-25 08:18:57 +00:00
Michael Meissner 3445e1cefb Add sim_io_syscalls to do common system call emulation 1997-11-24 23:59:20 +00:00
Doug Evans 091521c48b * sim-trace.c (trace_option_handler): Set state trace file
for --trace-file in addition to cpu's values.
	(trace_vprintf): If cpu == NULL, try state's trace file.
1997-11-24 22:21:51 +00:00
Doug Evans 8f3cfc0efb Entries for .gdbinit additions and sim-model.c option fix. 1997-11-24 22:09:12 +00:00
Doug Evans 4b5545c9f0 * sim-model.c (model_options): Use '\0' for `shortopt'. 1997-11-24 20:43:38 +00:00
Doug Evans f375dd7d0e * Make-common.in (all): Add .gdbinit.
* gdbinit.in: Add dump command.
1997-11-24 20:14:35 +00:00
Doug Evans f2ea891349 * sim-core.c (sim_core_signal): Fix spelling error in message.
* sim-hrw.c (sim_read): Use read map, not write map.
1997-11-24 20:11:02 +00:00
Andrew Cagney 4ba8d09fe2 Change MIPS simulator so that it uses the (software) module sim_fpu
for floating point operations.  Eliminates all dependencies the
simulator had on the hosts FP implemantation.

Add sim_fpu_{inv,abs,neg} functions to sim_fpu.[hc]
1997-11-23 03:34:15 +00:00
Andrew Cagney aaa11abe42 Clarify meaning of sim_signalled's SIGRC argument. Document that this
isn't possible in sim-reason.c and just return the target SIGRC
instead.

For simulators that rely on sim-reason.c, replace SIG* with SIM_SIG*.

Hack nrun.c so that when it is executed (ARGV[0]) as `step' instead
of `run' it single steps the simulator.  Allows testing of single step
without full GDB.
1997-11-22 12:52:44 +00:00
Andrew Cagney a1cf18dc76 Pacify GCC - SIM_SIGNONE missing in enum, xmalloc/free VS ZALLOC/zfree. 1997-11-20 22:56:11 +00:00
Andrew Cagney 232156dee9 o Add SIM_SIGFPE to sim-signals
o Start SIM_SIG* at 64 so that the use of host signal numbers can be
  detected and reported.
o Update MIPS simulator to use sim-signal.
1997-11-20 09:50:36 +00:00
Doug Evans c6475c41bb (enosys): Delete. 1997-11-20 00:50:40 +00:00
Doug Evans ac1d2660b2 * callback.c (cb_host_to_target_stat): Fix return values. 1997-11-20 00:47:02 +00:00
Doug Evans 998d2c8275 * cgen-sim.h (enum_signal_type): Delete.
(engine_signal): Update prototype.
	* cgen-utils.c: Don't include <signal.h>.
	(sim_signal_to_host): Delete, lives in sim-signal.c now.
	(engine_signal): Update.
1997-11-19 20:44:35 +00:00
Doug Evans 398057b722 * sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
(sim_state_free): Call SIM_STATE_FREE if defined.

	* sim-module.c (sim_module_install): Don't leave any modules
	installed if one fails to install.
1997-11-19 20:13:11 +00:00
Michael Meissner e163bbbf2a Do not include alloca-conf.h since alloca is not used. 1997-11-19 18:40:49 +00:00
Michael Meissner eb5f3fcd1a Fix carry/overflow problems 1997-11-19 18:30:47 +00:00
Doug Evans fccbeeb639 (sim_stop_reason): Add comment. 1997-11-19 08:10:40 +00:00
Doug Evans a4b44a2b08 * sim-core.c (sim_core_signal): Use sim_stopped instead of
sim_signalled.
1997-11-19 08:03:53 +00:00
Doug Evans 1ebc7e0e24 * sim-signal.c, sim-signal.h: New files.
* Make-common.in (sim-signal.o): Add rule for.
	(SIM_NEW_COMMON_OBJS): Add sim-signal.o.
	* sim-abort.c: Don't include <signal.h>.
	* sim-basics.h: #include "sim-signal.h".
	* sim-break.c: Don't include <signal.h>.
	(sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
	* sim-core.c: Don't include <signal.h>.
	(SIGBUS): Delete definition.
	(sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
	* sim-engine.c: Don't include <signal.h>.
	(sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
	* sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
	* sim-resume.c: Don't include <signal.h>.
	(SIGTRAP): Delete definition.
	(has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
	* sim-stop.c: Don't include <signal.h>.
	(control_c_simulation): Replace SIGINT with SIM_SIGINT.
	* sim-watch.c: Don't include <signal.h>.
	(handle_watchpoint): Replace SIGINT with SIM_SIGINT.
1997-11-19 08:00:37 +00:00
Doug Evans 13c9499d4e * sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
* sim-break.c (sim_handle_breakpoint): Likewise.
1997-11-19 02:37:58 +00:00
Doug Evans 340d8e209e * sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value. 1997-11-18 23:59:29 +00:00
Doug Evans e5ce1670c1 * Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
* sim-base.h (CIA_ADDR): Provide default definition.
1997-11-18 23:55:33 +00:00