Commit Graph

2210 Commits

Author SHA1 Message Date
Frank Ch. Eigler 3372836e0d * Test for PR 18288 and its predecessors.
1999-01-11  Frank Ch. Eigler  <fche@cygnus.com>
	* do-flags.S: New test for parallel PSW update conflicts.
	* Makefile.in (TESTS): Run it.
1999-01-11 14:48:48 +00:00
Frank Ch. Eigler 0e854a2019 * Removing last known memories of tx3904 and am30 sanitization. 1999-01-07 13:06:14 +00:00
Frank Ch. Eigler 0d320ebfc9 * Test for PR 18679.
1999-01-07  Frank Ch. Eigler  <fche@cygnus.com>
	* do-2wordops.S: New test for sign-extension by ld2h.
1999-01-07 08:55:49 +00:00
Doug Evans e0eaa63837 * cpu.h: Regenerate.
* cpux.h: Regenerate.
1999-01-07 00:08:46 +00:00
Doug Evans 368fc7dba8 * Makefile.in (MAIN_INCLUDE_DEPS): Delete.
(INCLUDE_DEPS,OPS_INCLUDE_DEPS): Delete.
	(sim-if.o): Use SIM_MAIN_DEPS.
	(arch.o,traps.o,devices.o): Ditto.
	(M32RBF_INCLUDE_DEPS): Use CGEN_MAIN_CPU_DEPS.
	(m32r.o,mloop.o,cpu.o,decode.o,sem.o,model.o): Simplify dependencies.
	(m32rx.o,mloopx.o,cpux.o,decodex.o,semx.o,modelx.o): Ditto.
	(stamp-arch): Pass mach=all to cgen-arch.
	* cpu.c,cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.
	* m32r-sim.h (fr30bf_h_cr_[gs]et_handler): Declare.
	([GS]ET_H_CR): Define.
	(fr30bf_h_psw_[gs]et_handler): Declare.
	([GS]ET_H_PSW): Define.
	(fr30bf_h_accum_[gs]et_handler): Declare.
	([GS]ET_H_ACCUM): Define.
	(fr30xf_h_{cr,psw,accum}_[gs]et_handler): Declare.
	(fr30bf_h_accums_[gs]et_handler): Declare.
	([GS]ET_H_ACCUMS): Define.
	* sim-if.c (sim_open): Model probing code moved to sim-model.c.
	* m32r.c (WANT_CPU): Define as m32rbf.
	(all register access fns): Rename to ..._handler.
	* cpux.c,cpux.h,decodex.c,modelx.c,semx.c: Regenerate.
	* m32rx.c (WANT_CPU): Define as m32rxf.
	(all register access fns): Rename to ..._handler.
1999-01-06 03:04:25 +00:00
Doug Evans f5cd4d758c * Make-common.in (CGEN_INCLUDE_DEPS): Add cgen-defs.h, cgen-engine.h.
(CGEN_MAIN_SCM): Add rtx-funcs.scm.
	(cgen-arch): Pass $(mach) to cgen.sh.
	* cgen-engine.h (SEM_BRANCH_FINI): New arg pcvar, all uses updated.
	(SEM_BRANCH_INIT_EXTRACT): New macro.
	(SEM_BRANCH_INIT): Add taken_p.
	(TARGET_SEM_BRANCH_FINI): Provide default definition.
	(SEM_BRANCH_FINI): Use it.
	(SEM_INSN): Update.
	* cgen-run.c (sim_resume): Handle tracing of last insn.
	* cgen-scache.h (WITH_SCACHE): Define as 0 if not defined.
	* cgen-trace.c (current_abuf): New static global.
	(trace_insn_init): Initialize it.
	(trace_insn_fini): Use it.
	(trace_insn): Set it.
	* cgen.sh (arch case): Pass -m ${mach} to cgen.
	* genmloop.sh (@cpu@_emit_before): Only define if WITH_SCACHE_PBB.
	(@cpu@_emit_after): Ditto.
	(simple @cpu@_engine_run_full): New local `pc'.  Initialize semantic
	labels if WITH_SEM_SWITCH_FULL.
	* sim-model.c: Include bfd.h.
	(sim_model_init): New function.
	(sim_model_install): Record init fn.
	* sim-model.h (MACH): New member bfd_name.
	* sim-module.c (modules): Initialize model before scache.
1999-01-06 00:42:34 +00:00
Jason Molenda d5159c2520 1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com)
* configure.in: Require autoconf 2.12.1 or higher.
1999-01-05 00:27:19 +00:00
Frank Ch. Eigler ba50f16ab7 * sky test case updates for MTIR insn PR
1998-12-31  Frank Ch. Eigler  <fche@cygnus.com>
	* sim/sky/t-cop2.s: Adjust vmtir instruction tests for new syntax.
	* sim/sky/t-cop2.vuexpect: Matching changes.
1998-12-31 06:00:29 +00:00
Felix Lee d98ee4f5af * sim/sky/sky-defs.tcl: various changes for remote host testing.
* sim/sky/mload.exp: ditto.
        * sim/sky/sky_sce.exp: ditto.
        * sim/sky/sky_sce_accurate.exp: ditto.
        * sim/sky/sky_sce_fast.exp: ditto.
        * sim/sky/mload.exp: mark as unresolved on error.
1998-12-31 01:07:51 +00:00
Frank Ch. Eigler 08f758df94 * resolution of eCos-vs.-sky merge conflict!
[ChangeLog]
1998-12-30  Frank Ch. Eigler  <fche@cygnus.com>
	* mips.igen (BREAK): Call signal_exception instead of sim_engine_halt.
start-sanitize-sky
	* interp.c (signal_exception): Call SIM_CPU_EXCEPTION_TRIGGER hook.
 	Call sim_engine_halt on BreakPoint.
end-sanitize-sky
[ChangeLog.sky]
1998-12-30  Frank Ch. Eigler  <fche@cygnus.com>
	* sky-gdb.c (sky_sim_engine_halt): Do not set CIA here.
1998-12-30 21:16:14 +00:00
Stan Shebs bd164e2835 Tue Dec 29 16:03:53 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* configure.in, configure (mips64vr5*-*-*): Added missing ;; in
 	case statement.
(actually a sanitize-cygnus mistake, but Rainer doesn't know that)
1998-12-30 21:16:13 +00:00
Frank Ch. Eigler 86df8e79fc * build / debug improvements for gx JIT sim prototype 1998-12-30 18:30:48 +00:00
Frank Ch. Eigler 14bbac6609 * eCos->devo merge; tx3904 sanitize tags removed
1998-12-29  Frank Ch. Eigler  <fche@cygnus.com>
	* interp.c (sim_open): Allocate jm3904 memory in smaller chunks.
	(load_word): Call SIM_CORE_SIGNAL hook on error.
	(signal_exception): Call SIM_CPU_EXCEPTION_TRIGGER hook before
	starting.  For exception dispatching, pass PC instead of NULL_CIA.
	(decode_coproc): Use COP0_BADVADDR to store faulting address.
	* sim-main.h (COP0_BADVADDR): Define.
	(SIM_CORE_SIGNAL): Define hook to call mips_core_signal.
	(SIM_CPU_EXCEPTION*): Define hooks to call mips_cpu_exception*().
	(_sim_cpu): Add exc_* fields to store register value snapshots.
	* mips.igen (*): Replace memory-related SignalException* calls
	with references to SIM_CORE_SIGNAL hook.
	* dv-tx3904irc.c (tx3904irc_port_event): printf format warning
	fix.
	* sim-main.c (*): Minor warning cleanups.
1998-12-30 12:21:43 +00:00
Frank Ch. Eigler a714374d5e * ChangeLog tweak 1998-12-30 12:17:11 +00:00
Frank Ch. Eigler 9b27cf7bbb * eCos->devo merge; am30 sanitization tags removed
1998-12-29  Frank Ch. Eigler  <fche@cygnus.com>
	* Makefile.in (WITH_COMMON_OBJS): Build also dv-sockser.o.
	* interp.c (sim_open): Add stub mn103002 cache control memory regions.
	Set OPERATING_ENVIRONMENT on "stdeval1" board.
	(mn10300_core_signal): New function to intercept memory errors.
	(program_interrupt): New function to dispatch to exception vector
	(mn10300_exception_*): New functions to snapshot pre/post exception
	state.
	* sim-main.h (SIM_CORE_SIGNAL): Define hook - call mn10300_core_signal.
	(SIM_ENGINE_HALT_HOOK): Do nothing.
	(SIM_CPU_EXCEPTION*): Define hooks to call mn10300_cpu_exception*().
	(_sim_cpu): Add exc_* fields to store register value snapshots.
	* dv-mn103ser.c (*): Support dv-sockser backend for UART I/O.
	Various endianness and warning fixes.
	* mn10300.igen (illegal): Call program_interrupt on error.
	(break): Call program_interrupt on breakpoint
	Several changes from <janczyn@cygnus.com> and <cagney@cygnus.com>
	merged in:
	* dv-mn103int.c (mn103int_ioctl): New function for NMI
	generation. (mn103int_finish): Install it as ioctl handler.
	* dv-mn103tim.c: Support timer 6 specially.  Endianness fixes.
1998-12-30 12:17:10 +00:00
Frank Ch. Eigler 617ca17ed2 * eCos->devo merge
1998-12-24  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-sockser.c (DEFAULT_TIMEOUT): Increase to 1 ms.
	* nrun.c (main): Remain in simulation loop for traps and
 	exceptions when in operating environment mode.
	(ui_loop_hook): New stub hook for standalone use.
	* sim-events.c (sim_events_process): Call ui_loop_hook
	periodically on CYGWIN host.
	* sim-reason.c (sim_stop_reason): Return host signal numbers
	to gdb on sim_stopped and sim_signalled cases.
	* sim-engine.c (sim_engine_halt): Call SIM_CPU_EXCEPTION_SUSPEND
 	hook just before longjmp.
	* sim-resume.c (sim_resume): Call SIM_CPU_EXCEPTION_RESUME
 	hook just before sim_engine_run.
	* sim-n-core.h (sim_core_trace_M): Allay const warning.
	* sim-trace.h (trace_generic): Ditto.
	* sim-trace.c (trace_generic): Ditto.
1998-12-30 12:09:13 +00:00
Gavin Romig-Koch 35d6075ac2 m16.igen (DADDIU5): Correct type-o. 1998-12-24 05:55:42 +00:00
Dave Brolley 27f6ea6995 New testcase. 1998-12-18 22:22:55 +00:00
Dave Brolley f45ee50714 Fri Dec 18 17:09:34 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/ldres.cgs: New testcase.
	* sim/fr30/stres.cgs: New testcase.
	* sim/fr30/copop.cgs: New testcase.
	* sim/fr30/copld.cgs: New testcase.
	* sim/fr30/copst.cgs: New testcase.
	* sim/fr30/copsv.cgs: New testcase.
	* sim/fr30/nop.cgs: New testcase.
	* sim/fr30/andccr.cgs: New testcase.
	* sim/fr30/orccr.cgs: New testcase.
	* sim/fr30/addsp.cgs: New testcase.
	* sim/fr30/stilm.cgs: New testcase.
	* sim/fr30/extsb.cgs: New testcase.
	* sim/fr30/extub.cgs: New testcase.
	* sim/fr30/extsh.cgs: New testcase.
	* sim/fr30/extuh.cgs: New testcase.
	* sim/fr30/enter.cgs: New testcase.
	* sim/fr30/leave.cgs: New testcase.
	* sim/fr30/xchb.cgs: New testcase.
	* sim/fr30/dmovb.cgs: New testcase.
	* sim/fr30/dmov.cgs: New testcase.
	* sim/fr30/dmovh.cgs: New testcase.
1998-12-18 22:15:44 +00:00
Dave Brolley de6fb7e775 Thu Dec 17 17:18:43 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/testutils.inc (take_branch{_d},no_branch{_d}): New macros.
	* sim/fr30/ret.cgs: Add tests fir ret:d.
	* sim/fr30/inte.cgs: New testcase.
	* sim/fr30/reti.cgs: New testcase.
	* sim/fr30/bra.cgs: New testcase.
	* sim/fr30/bno.cgs: New testcase.
	* sim/fr30/beq.cgs: New testcase.
	* sim/fr30/bne.cgs: New testcase.
	* sim/fr30/bc.cgs: New testcase.
	* sim/fr30/bnc.cgs: New testcase.
	* sim/fr30/bn.cgs: New testcase.
	* sim/fr30/bp.cgs: New testcase.
	* sim/fr30/bv.cgs: New testcase.
	* sim/fr30/bnv.cgs: New testcase.
	* sim/fr30/blt.cgs: New testcase.
	* sim/fr30/bge.cgs: New testcase.
	* sim/fr30/ble.cgs: New testcase.
	* sim/fr30/bgt.cgs: New testcase.
	* sim/fr30/bls.cgs: New testcase.
	* sim/fr30/bhi.cgs: New testcase.
1998-12-17 22:25:05 +00:00
Doug Evans f7fb02ba10 More sce_testNN cases updated, pr 18402. 1998-12-17 22:21:31 +00:00
Doug Evans 331a809018 * sim/sky/sce_test58.vuasm: Update syntax of MTIR insn.
PR 18402
1998-12-17 21:29:06 +00:00
Frank Ch. Eigler 0615cacf10 * Sanitization fixes to retain new files. 1998-12-16 16:10:16 +00:00
Gavin Romig-Koch f87366ec28 New 'hack' generator 1998-12-16 05:07:34 +00:00
Felix Lee db48d8218f vr4run.c, keep-if vr4xxx 1998-12-16 02:12:41 +00:00
Gavin Romig-Koch 7d2ec607de missing *vr4320: 1998-12-15 03:31:39 +00:00
Doug Evans 985fe43632 * configure.in: --enable-cgen-maint support moved to common/aclocal.m4.
(SIM_AC_OPTION_ALIGNMENT): Make strict.
	* configure: Regenerate.

	* sem-switch.c,sem.c,semx-switch.c: Regenerate.
	* sim-main.h (SIM_ENGINE_HALT_HOOK,SIM_ENGINE_RESTART_HOOK): Define.
	* traps.c (m32r_core_signal): Handle --environment=operating.
1998-12-15 01:06:46 +00:00
Doug Evans b58ffc7b4e * sim/m32r/uread16.ms: New testcase.
* sim/m32r/uread32.ms: New testcase.
	* sim/m32r/uwrite16.ms: New testcase.
	* sim/m32r/uwrite32.ms: New testcase.
1998-12-14 23:31:28 +00:00
Doug Evans 71d0d0a788 * sim/fr30/hello.ms: Add trailing \n to expected output.
* sim/m32r/hello.ms: Ditto.
	* sim/m32r/hw-trap.ms: Ditto.
1998-12-14 23:28:41 +00:00
Doug Evans ebc5ff70a2 lib/sim-defs.exp (sim_run): Look for board_info sim,options. 1998-12-14 23:22:25 +00:00
Doug Evans d4dd077a94 * lib/sim-defs.exp (run_sim_test): New option xerror, for expected
errors.  Translate \n sequences in expected output to newline char.
	(slurp_options): Make parentheses optional.
1998-12-14 23:17:02 +00:00
Dave Brolley ecbc0c5533 1998-12-14 Dave Brolley <brolley@cygnus.com>
* sim/fr30/call.cgs: Test ret here as well.
	* sim/fr30/ld.cgs: Remove bogus comment.
	* sim/fr30/testutils.inc (save_rp,restore_rp): New macros.
	* sim/fr30/div.ms: New testcase.
	* sim/fr30/st.cgs: New testcase.
	* sim/fr30/sth.cgs: New testcase.
	* sim/fr30/stb.cgs: New testcase.
	* sim/fr30/mov.cgs: New testcase.
	* sim/fr30/jmp.cgs: New testcase.
	* sim/fr30/ret.cgs: New testcase.
	* sim/fr30/int.cgs: New testcase.
1998-12-14 20:06:17 +00:00
Gavin Romig-Koch bff2d36890 5xxx and el 1998-12-14 15:14:24 +00:00
Gavin Romig-Koch f14397f057 for bfd:
* archures.c,bfd-in2.h (bfd_mach_mips4121): New.
	* cpu-mips.c: Added vr4121.
	* elf32-mips.c (elf_mips_mach): Same.
	(_bfd_mips_elf_final_write_processing): Same.

for gas:
	* config/tc-mips.c (mips_4121): New.
	(md_begin,mips_ip,md_longopts,md_parse_option): Add vr4121.

for gcc:
	* config/mips/mips.c (override_options): Add vr4121.
	* config/mips/t-vr4xxx (MULTILIB_MATCHES): Same.

for include/elf:
	* mips.h (E_MIPS_MACH_4121): New.

for include/opcode:
	* mips.h (INSN_4121): New.

for opcodes:
	* mips-dis.c (set_mips_isa_type): Add bfd_mach_mips4121.
	(_print_insn_mips): Same.
	* mips-opc.c: Add vr4121.

for sim/mips:
	* configure.in,mips.igen,vr.igen: Add vr4121.
	* configure: Rebuilt.
1998-12-13 16:14:24 +00:00
Gavin Romig-Koch 82aeada70c * configure.in (mips64vr4xxx): Enable TARGET_ENABLE_FR.
Set mips_fpu, and mips_fpu_bitsize.
	Set sim_gen, and sim_igen_machine.
	* configure: Rebuild.
	* mips.igen (BC1): Renamed to BC1a and BC1b to avoid conflicts.
	* sim-main.h (SizeFGR): Handle TARGET_ENABLE_FR.
1998-12-12 22:43:54 +00:00
Gavin Romig-Koch eac6dec56e Cleanups. 1998-12-11 15:18:54 +00:00
Andrew Cagney 94a4ff1901 Compare with ZERO not NULL. 1998-12-11 06:00:55 +00:00
Dave Brolley d8d144a0ab Thu Dec 10 18:46:25 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/div0s.cgs: New testcase.
	* sim/fr30/div0u.cgs: New testcase.
	* sim/fr30/div1.cgs: New testcase.
	* sim/fr30/div2.cgs: New testcase.
	* sim/fr30/div3.cgs: New testcase.
	* sim/fr30/div4s.cgs: New testcase.
	* sim/fr30/testutils.inc (mvi_h_dr,set_dbits,test_dbits): New Macros.
1998-12-10 23:48:37 +00:00
Jeff Law 312de19bdd Fixes. 1998-12-10 23:36:40 +00:00
Frank Ch. Eigler c426ee5dd0 * Fix for endianness bugs in tx39 sio sim.
1998-12-10  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-tx3904sio.c (tx3904sio_io_read_buffer): Endianness fixes.
	(tx3904sio_tickle): fflush after a stdout character output.
1998-12-10 23:20:48 +00:00
Jeff Law 3314a50ac8 Add missing sanitize markers. 1998-12-10 23:20:47 +00:00
Andrew Cagney 51ecd1580c Include "sim-assert.h". 1998-12-10 06:54:36 +00:00
Doug Evans cca1ad81d6 * cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.
* cpux.h,decodex.c,semx-switch.c: Regenerate.
1998-12-09 20:44:30 +00:00
Doug Evans 4883439b08 * sim-if.c: Include string.h or strings.h if present. 1998-12-09 18:18:15 +00:00
Doug Evans 8784e470ad * cgen-scache.c (scache_flush): Delete unused locals i,sc. 1998-12-09 18:09:55 +00:00
Doug Evans fdaac1332c * sim-trace.c: Include stdlib.h if present. 1998-12-09 18:07:26 +00:00
Doug Evans 590d592f87 * sim-arange.c: Include libiberty.h, and stdlib.h if present. 1998-12-09 18:03:24 +00:00
Doug Evans 2a939996f6 * dv-sockser.c: Include unistd.h if present.
(dv_sockser_init): Add missing arg to call to sim_io_eprintf.
1998-12-09 17:56:41 +00:00
Jim Wilson b2248e122a i960 simulator.
* configure.in (i960-*-*): Add.
	* configure: Rebuild.
1998-12-09 06:52:14 +00:00
Jim Wilson f956caa7e7 Add i960 support to sim/common.
* gennltvals.sh: Add i960.
	* nltvals.def: Rebuild.
1998-12-09 06:41:29 +00:00
Jeff Law e49538049b Fixes. 1998-12-09 01:02:26 +00:00
Dave Brolley 18e45ca1b3 Tue Dec 8 13:16:53 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/testutils.inc (set_s_user): Correct Mask.
	(set_s_system): Correct Mask.
	* sim/fr30/ld.cgs (ld): Move previously failing test back
	into place.
	* sim/fr30/ldm0.cgs: New testcase.
	* sim/fr30/ldm1.cgs: New testcase.
	* sim/fr30/stm0.cgs: New testcase.
	* sim/fr30/stm1.cgs: New testcase.
1998-12-08 18:22:44 +00:00
Dave Brolley 11a2d92065 Tue Dec 8 13:16:53 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/ldm0.cgs: New testcase.
	* sim/fr30/ldm1.cgs: New testcase.
	* sim/fr30/stm0.cgs: New testcase.
	* sim/fr30/stm1.cgs: New testcase.
1998-12-08 18:22:25 +00:00
Dave Brolley f628df5785 Tue Dec 8 13:16:53 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/testutils.inc (set_s_user): Correct Mask.
	(set_s_system): Correct Mask.
	* sim/fr30/ld.cgs (ld): Move previously failing test back
	into place.
1998-12-08 18:19:13 +00:00
Frank Ch. Eigler 1ee7d2b1c8 * sky->devo merge, final part of sim merge
[ChangeLog.sky]
1998-12-08  Frank Ch. Eigler  <fche@cygnus.com>
	* sim-main.h (sim_state): Add multi-phase load tracking fields.
	* sky-gdb.c (sky_option_handler): Add --load-next option handling.
	* mips.igen (BREAK): Add multi-phase load and printf code handling.
1998-12-08 12:23:26 +00:00
Frank Ch. Eigler eeba69f17f * Test case for PR 18452.
1998-12-08  Frank Ch. Eigler  <fche@cygnus.com>
	* do-2wordops.S: New test for double-word load-like operations.
1998-12-08 08:53:58 +00:00
Frank Ch. Eigler 8127139143 * gxtool silence tweak 1998-12-05 11:46:32 +00:00
Frank Ch. Eigler 3e99af1bae * gx prototype: simulator I/O bug fix
1998-12-05  Frank Ch. Eigler  <fche@elastic.org>
	* gx-translate.c (m32r_emit_short_insn): Correct ABI result
	handling for TRAP insn.
1998-12-05 10:32:12 +00:00
Doug Evans 1932239a58 (profile_print_addr_range): Pretty up output a little. 1998-12-05 08:47:32 +00:00
Doug Evans 0a18a6b8ad * configure.in: Call SIM_AC_OPTION_INLINE.
* configure: Regenerate.
	* sim-main.h: Protect against multiple inclusion.
	Don't include cgen-scache.h,cgen-cpu.h,cgen-trace.h,cpuall.h.
	Done by cgen-sim.h now.
	* tconfig.in (SIM_HAVE_MODEL): Delete, moved to cgen-types.h.
	* cpuall.h: Regenerate.
	* cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.
	* mloop.in (extract16): Make static inline again.
	Simplify with call to @cpu@_fill_argbuf,@cpu@_fill_argbuf_tp.
	(extract32): Ditto.
	Simplify with call to @cpu@_fill_argbuf,@cpu@_fill_argbuf_tp.
	(execute): Test ARGBUF_PROFILE_P before profiling.
	Update calls to TRACE_INSN_INIT,TRACE_INSN_FINI.
	* cpux.h,decodex.c,modelx.c,semx-switch.c: Regenerate.
	* mloopx.in: Rewrite.
1998-12-05 08:09:18 +00:00
Doug Evans b61e2e146a * cgen-defs.h: New file, old cgen-sim.h.
* cgen-sim.h: Simple header that includes others.
	* sim-arange.c: New file.
	* sim-arange.h: New file.
	* sim-basics.h: Include it.
	* Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-arange.o.
	(sim-arange.o): Add rule for.
	* sim-cpu.h (sim_cpu_msg_prefix): Add prototype.
	(sim_io_eprintf_cpu): Add prototype.
	* sim-inline.h (HAVE_INLINE): Define if GNUC.
	(INLINE2): New macro.
	(EXTERN_INLINE): New macro.
	* sim-module.c (sim_post_argv_init): Initialize cpu backlink
	before calling module init fns.
	* sim-profile.h (OPTION_PROFILE_*): Move into enum.
	(profile_init): New function.
	(profile_options): New option --profile-range.
	(profile_option_handler): Handle --profile-range.
	(profile_print_insn): Qualify address range specific section titles.
	(profile_print_addr_ranges): New function.
	(profile_info): Print address ranges if specified.
	(profile_install): Set profile_init init fn.
	* sim-profile.h (PROFILE_DATA): New member `range'.
	* sim-trace.c (trace_init): New function.
	(trace_options): New option --trace-range.
	(trace_option_handler): Handle --trace-range.
	(trace_install): Set trace_init init fn.
	* sim-trace.h (TRACE_DATA): New member `range'.
	* sim-utils.c (sim_cpu_msg_prefix): New function.
	(sim_io_eprintf_cpu): New function.
	* cgen-engine.h (PC_IN_TRACE_RANGE_P): New macro.
	(PC_IN_PROFILE_RANGE_P): New macro.
	* cgen-trace.c (trace_insn_init): Set current_insn to NULL.
	(trace_insn_fini): New arg abuf.  All callers updated.
	Exit early if trace_insn not called.  Check ARGBUF_PROFILE_P before
	printing cycle counts.
	* cgen-trace.h (trace_insn_fini): Update prototype.
	(TRACE_RESULT_P): New macro.
	(TRACE_INSN_INIT,TRACE_INSN_FINI): New arg abuf.  All callers updated.
	(TRACE_INSN): Check ARGBUF_TRACE_P.
	(TRACE_EXTRACT,TRACE_RESULT): New arg abuf.  All callers updated.
	* cgen-types.h (SIM_INLINE): Delete.
	(SIM_HAVE_MODEL,SIM_HAVE_ADDR_RANGE): Define.
	* cgen-utils.c: Don't include cgen-engine.h
	* genmloop.sh (@cpu@_fill_argbuf): New function.
	(@cpu@_fill_argbuf_tp): New function.
	(@cpu@_emit_before,@cpu@_emit_after): New functions.
	(@cpu@_pbb_begin): Prefix cti_sc,insn_count with '_'.
	(SET_CTI_VPC,SET_INSN_COUNT): Update.
	(@cpu@_pbb_before): Check ARGBUF_PROFILE_P before calling
	doing profiling.  Update call to TRACE_INSN_INIT,TRACE_INSN_FINI.
	(@cpu@_pbb_after): Check ARGBUF_PROFILE_P before calling
	doing profiling. Update call to TRACE_INSN_FINI.
1998-12-05 07:56:13 +00:00
Doug Evans e8116eca81 * sim-memopt.c (sim_memory_uninstall): Result type is `void'. 1998-12-05 02:33:31 +00:00
Doug Evans 17f07639b4 address range support 1998-12-05 02:19:39 +00:00
Doug Evans 99c53aa9f6 * cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.
* cpux.h,decodex.c,modelx.c,semx-switch.c: Regenerate.
1998-12-04 08:22:27 +00:00
Andrew Cagney 33ccdb1b97 * gen-engine.c (print_run_body): Prefix instruction_address. 1998-12-04 04:45:05 +00:00
Frank Ch. Eigler beef5e777c * Test case for PR 18364, over from d30v branch.
1998-12-04  Frank Ch. Eigler  <fche@cygnus.com>
	* do-shifts.S: Update an older test case.
1998-12-04 04:17:08 +00:00
Dave Brolley 2cf8f53cc9 Thu Dec 3 14:20:03 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30/ld.cgs: Implement more loads.
	* sim/fr30/call.cgs: New testcase.
	* sim/fr30/testutils.inc (testr_h_dr): New macro.
	(set_s_user,set_s_system): New macros.
1998-12-03 22:38:13 +00:00
Dave Brolley 3bf9790595 Thu Dec 3 14:20:03 1998 Dave Brolley <brolley@cygnus.com>
* sim/fr30: New Directory.
1998-12-03 19:22:56 +00:00
Frank Ch. Eigler 3d7075f5f5 * A few more improvements to gx jit prototype.
[common/ChangeLog]
1998-12-01  Frank Ch. Eigler  <fche@elastic.org>
	* sim-gx-run.c (sim_engine_run): Use new tgx_info struct to
	collect run-time arguments to gx block.
	* sim-gx.h (sim_gx_function): Corresponding signature change.
	* sim-gx.c (sim_gx_compiled_block_f): Remove nonfunctional code to
	again compile a gx block source file.
	(sim_gx_compiled_block_dispose): Uninstall obsoleted gx block
	shared libraries.
	(sim_gx_block_translate): Always emit new "gx_label_NNNN" labels,
	for basic block entry points, even if !__GNUC__.
[m32r-gx/ChangeLog]
1998-12-01  Frank Ch. Eigler  <fche@elastic.org>
	* Makefile.in (SIM_OBJS): Don't build sim-core.o.
	* configure.in:	Added --enable-sim-inline support.
	Look for "getenv()" function.
	* configure: Rebuilt.
	* config.in: Rebuilt.
	* gx-translate.c: Include "sim-inline.c" for sim-core inlining.
	(m32r_gx_{load,store}*): Update signature.
	(tgx_emit_pre_function): Emit new "tgx_info" struct, update
	callback function signatures.
	(m32r_emit_*_insn): Use new callback signatures.  For all short
	branches in optimized mode, emit direct "goto gx_label_NNNN".
	(tgx_optimize_test): If the GX_OPTIMIZE environment variable is
	set, allow its integer value to override the optimization heuristic.
	* m32r-sim.h: New empty placeholder file.
	* sim-main.c: New empty placeholder file.
	* sim-if.c (sim_create_inferior): Use NULL instead of &abort
	for unimplemented register fondling functions.
	* sim-main.h: Add multiple inclusion guard.  Update callback
	function signatures.
	(tgx_info): New struct for collecting gx block invocation
	arguments.
1998-12-01 13:28:53 +00:00
Doug Evans 3c034beb5b * cgen-utils.c (cgen_virtual_opcode_table): Update. 1998-11-30 23:43:58 +00:00
Andrew Cagney a6a5d34927 Fix --enable-build-warnings=-Werror failures.
v850/simops.c, d10v/simops.c, v850/Makefile.in, d10v/Makefile.in:
Include targ-vals.h instead of syscall.h. Replace SYS_* with
TARGET_SYS_*.  Add dependency.
z8k/support.c: Include <errno.h>
v850/simops.c: Replace long with portable signed32.
mips/interp.c: Make sim_monitor global - needed by sky.
1998-11-25 09:58:04 +00:00
Andrew Cagney baa1a48801 Explicitly tag vr41/mips16 instructions.
Update configure.in/configure.
1998-11-25 06:50:48 +00:00
Andrew Cagney fbf1f3f1f6 Add d10v and v850 to gennltvals.sh and regenerate.
Add a howto.
1998-11-24 07:59:01 +00:00
Dave Brolley 7259fc9491 Mon Nov 23 17:02:47 1998 Dave Brolley <brolley@cygnus.com>
* Directory created.
1998-11-23 23:25:28 +00:00
Andrew Cagney 554eb429e4 gencode.c: Kill, Kill, Kill....
Remove last remenats of old gencode simulator.
1998-11-23 11:37:56 +00:00
Andrew Cagney 57791952b6 Configure mips64vr4100-elf nee mips64vr41* as a 64 bit mips16 igen simulator.
Fix problems: All vr.igen instructions are 64 bit.
1998-11-23 07:16:03 +00:00
Andrew Cagney 67f7d50d5e Pacify GCC. 1998-11-23 06:18:32 +00:00
Andrew Cagney 5a581ea612 Pacify GCC. 1998-11-23 06:10:01 +00:00
Andrew Cagney ee562da4c4 Reconize target mips-tx19-elf 1998-11-23 06:06:12 +00:00
Andrew Cagney a83d7d870f Switch mips-lsi-elf mips16 simulator to igen (from gencode). 1998-11-23 05:50:21 +00:00
Doug Evans 9935b2e7f3 * genmloop.sh (${cpu}_pbb_chain): Watch for Ctrl-C's.
(${cpu}_pbb_cti_chain): Ditto.
1998-11-22 19:21:51 +00:00
Frank Ch. Eigler 74cc43debc * fix for minor sanitization lossage 1998-11-22 11:50:48 +00:00
Frank Ch. Eigler 42647d5b8c * mild gx prototype tweak
start-sanitize-gxsim
1998-11-21  Frank Ch. Eigler  <fche@elastic.org>
	* sim-gx.c (sim_gx_block_translate): Generate computed
	goto for __GNUC__ instead of plain switch() for gx block
	entry.  Lose "-g" compile option for gx block.
end-sanitize-gxsim
1998-11-21 19:05:09 +00:00
Andrew Cagney 821b702f92 * r5900.igen (CVT.W.S): Always round towards zero.
Update testsuite.
1998-11-21 03:31:30 +00:00
Michael Meissner 86908c4014 Fix problem where qnan was treated like an infinity 1998-11-20 00:44:03 +00:00
Doug Evans 8406c876c5 * Makefile.in (M32R_OBJS): Delete extract.o.
(extract.o): Delete.
	(stamp-arch): Depend on $(CGEN_ARCH_SCM).
	(stamp-cpu): Don't build extract.c.
	* cpu.c,cpu.h,decode.c,decode.h,sem-switch.c,sem.c: Rebuild.
	* mloop.in (extract16): Update type of `insn' arg.
	Delete call to d->extract.
	(extract32): Ditto.

	* Makefile.in (M32RX_OBJS): Delete extractx.o.
	(extractx.o): Delete.
	(stamp-xcpu): Don't build extractx.c.
	* cpux.c,cpux.h,decodex.c,decodex.h,semx-switch.c: Rebuild.
	* mloopx.in (extractx16): Update type of `insn' arg.
	Delete call to d->extract.  Delete arg pbb_p.  All callers updated.
	(extract-simple,full-exec-simple,fast-exec-simple): Delete.
	(extractx32): Ditto.
1998-11-19 00:12:00 +00:00
Doug Evans 916b11527e * Make-common.in (cgen-utils.o): Depend on cgen-engine.h.
(CGEN_ARCH_SCM): New variable.
	* cgen-engine.h (EXTRACT_[ML]SB0_{INT,UINT}): New macros.
	(EXTRACT_INT,EXTRACT_UINT): New macros.
	(SEM_SEM_ARG): New macro.
	(SEM_NEXT_VPC): New arg `pc'.
	* cgen-sim.h (EXTRACT_SIGNED,EXTRACT_UNSIGNED): Delete.
	(sim_disassemble_insn): Update prototype.
	* cgen-trace.c (current_insn,insn_fields): New static locals.
	(trace_insn): Set them.
	* cgen-utils.scm: #include cgen-engine.h.
	(sim_disassemble_insn): New arg insn_fields.
	Handle variable length insns.
	* genmloop.sh: Only emit pbb decls if -pbb.
	(${cpu}_scache_lookup): New arg `vpc'.
	(scache support): Fetch pc before entering loop.
1998-11-18 23:45:32 +00:00
Doug Evans 2c05443851 * gennltvals.sh: Add fr30 support.
* nltvals.def: Rebuild.
1998-11-18 22:41:50 +00:00
Andrew Cagney 78dee4ee05 Re-do type system so that GCC's explicit attribute/mode types are used
(when available).
Update sim-bits and sim-alu tests in sim/testsuite/common.
1998-11-17 23:59:30 +00:00
Frank Ch. Eigler ca0669a326 * sun build fix for thinko (?) 1998-11-16 08:52:06 +00:00
Frank Ch. Eigler 92fa45795d * Personal prototype "gx" translation-based JIT engine for M32R.
[ChangeLog]
start-sanitize-gxsim
1998-11-13  Frank Ch. Eigler  <fche@elastic.org>
	* configure.in: Added "--enable-sim-gx" option.
	* configure: Regenerated.
end-sanitize-gxsim
[common/ChangeLog]
1998-11-13  Frank Ch. Eigler  <fche@elastic.org>
start-sanitize-gxsim
	* Make-common.im: Build sim-gx.o and sim-gx-run.o.
	* sim-gx.c: New file: target-independent gx routines.
	* sim-gx.h: Declarations for gx structs and routines.
	* sim-gx-run.c: New file: target-independent gx driver.
	* sim-base.h: Add gx block vector to state struct.
end-sanitize-gxsim
	* aclocal.m4: Add tests for dlopen family.
1998-11-14 04:35:47 +00:00
Frank Ch. Eigler fca5abc13a * sanitize fix for do-shifts.S 1998-11-14 04:32:00 +00:00
Frank Ch. Eigler 78cec885d7 * test case for PR 18230, over from d30v branch
1998-11-12  Frank Ch. Eigler  <fche@cygnus.com>
        * br-djsr.S: New test for new R62-update timing.
1998-11-12 11:39:05 +00:00
Andrew Cagney d1cbd70abb Add configury for mips-lsi-elf target (32 bit MIPS16).
Fix numerous problems with PENDING_* code.
In old gencode simulator, don't double tick each cycle.
Add BREAK instruction to MIPS16 gencode simulator.
1998-11-12 06:42:34 +00:00
Doug Evans 847b31bdab * sim-hload.c (sim_load): Pass `prog_name' to sim_load_file, not NULL. 1998-11-11 22:02:57 +00:00
Andrew Cagney 7d88afe63e div(-0) sets both I/SI and D/SD (PR16522) 1998-11-11 08:18:55 +00:00
Doug Evans ca40ecdcec remove cgen support from Makefile.in, moved to cgen dir 1998-11-07 02:47:22 +00:00
Frank Ch. Eigler edba5926c8 * Patch for PR 18196, brought over from d30v branch.
[d30v/ChangeLog]
1998-11-06  Frank Ch. Eigler  <fche@cygnus.com>
	* d30v-insns (do_mvfacc): Use loop to limit shift count to 63 .. 0.
[testsuite/d30v-elf/ChangeLog]
1998-11-06  Frank Ch. Eigler  <fche@cygnus.com>
	* do-shifts.S: Add test for large mvfacc shifts.
1998-11-06 08:45:57 +00:00
Doug Evans 47a2144503 lose fr30 for now 1998-11-06 00:17:34 +00:00
Dave Brolley 168c5ef4ef Wed Nov 4 19:11:43 1998 Dave Brolley <brolley@cygnus.com>
* configure.in: Added case for fr30-*-*.
	* configure: Regenerated.
1998-11-05 20:25:22 +00:00
Frank Ch. Eigler 1995094e7f * r5900 sim test case fix
Thu Nov  5 10:37:40 EST 1998  Frank Ch. Eigler <fche@cygnus.com>

	* t-prot3w.s: Correct test of prot3w insn.
1998-11-05 15:42:02 +00:00
Frank Ch. Eigler 210a903baf * build fix
Thu Nov  5 10:29:42 EST 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* r5900.igen (r59fp_opdiv): Correct erroneous FGR[FD] reference.
1998-11-05 09:42:06 +00:00
Andrew Cagney dd0f610960 PR 16522
Fix RSQRT.S instruction, add test case.
1998-11-05 09:42:05 +00:00
Doug Evans 8de434bf89 * sim-main.h: Delete inclusion of config.h, include sim-basics.h
before cgen-types.h.
	* tconfig.in: Guard against multiple inclusion.
	* cpu.h: Delete decls moved to genmloop.sh.
	* cpux.h: Ditto.
1998-11-05 07:56:02 +00:00
Doug Evans 8c7dc9ffc8 * genmloop.sh (eng.hin): Rename HAVE_PARALLEL_EXEC to
HAVE_PARALLEL_INSNS, define as 0 or 1.  Emit decls of fns in mloop.cin.
	* cgen-engine.h: Typedefs of IADDR,CIA,SEM_ARG,SEM_PC moved ...
	* cgen-sim.h: ... to here.
1998-11-05 07:53:37 +00:00
Doug Evans d4df1e3023 add some comments 1998-11-04 19:27:20 +00:00
Frank Ch. Eigler fd0e83b604 * adding missing ChangeLog header line 1998-11-02 11:51:27 +00:00
Frank Ch. Eigler 0ec51df9ef * build fix for tx39 sim; caused by sky->devo merge
* dv-tx3904cpu.c (deliver_tx3904cpu_interrupt): Add dummy
	interrupt level number to match changed SignalExceptionInterrupt
	macro.
1998-10-30 09:49:18 +00:00
Frank Ch. Eigler 2fee67aeb8 * Updated sanitization
- remove memories of old sim/testsuite/sky directory
- add new dir sim/testsuite/mips64el-elf to "always-keep" list
1998-10-30 07:03:14 +00:00
Felix Lee baa791ae9b * lib/sim-defs.exp (sim_run): download target program to remote
host, if necessary.  for unix-driven win32 testing.
1998-10-30 00:39:44 +00:00
Michael Snyder eeb89805cb fix minor typo. 1998-10-29 18:24:04 +00:00
Frank Ch. Eigler 271f091db7 * Test cases for PR 18015.
Thu Oct 29 12:07:06 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* t-psrlvw.s (test_psrlvw): Add test for sign-extension in insn.
	* t-padsbh.s: New test.
	* t-mult1.s: New test.
	* Makefile.in: Run them.
1998-10-29 17:28:18 +00:00
Frank Ch. Eigler fd6e6422c8 * sky->devo merge, continued -- left out the r5900 TLB last time!
* includes a small PR 17224 tweak
1998-10-29 13:44:37 +00:00
Frank Ch. Eigler 0d51822e3b * monster sky->devo merge -- sky sim test suites 1998-10-29 12:59:50 +00:00
Frank Ch. Eigler afacff5074 * sky->devo merge; dummy test suite directory for mips64el-skyb-elf target. 1998-10-29 12:07:51 +00:00
Frank Ch. Eigler 3ac7980b23 * Fixes for PR 18015, from customer.
Thu Oct 29 11:06:30 EST 1998  Frank Ch. Eigler <fche@cygnus.com>
	* r5900.igen: Fix PSRLVW, MULTU1, PADSBH instructions,
	as per customer patch.
1998-10-29 09:30:11 +00:00
Doug Evans 3afece8646 * sim-if.c (sim_do_command): Handle "sim info reg {bbpsw,bbpc}".
Bring over from branch.
1998-10-28 22:45:11 +00:00
Drew Moseley 84e42e1daf For cygwin hosts, we need to use the return value from the read
routine as the number of bytes to process.  This apparently is due to
text-mode vs binary-mode.  If the mounts are done text-mode, then the
size returnedby fstat() may be different than the number of bytes
"read" in text mode.
1998-10-28 21:16:44 +00:00
Andrew Cagney b9a9cde40b Unify (well almost) --enable-build-warnings configuration option
across GDB and SIM directories.
1998-10-28 02:01:32 +00:00
Frank Ch. Eigler fe146542dd * Fix for testcase for checking PR 17362.
Tue Oct 27 15:20:16 EST 1998  Frank Ch. Eigler <fche@cygnus.com>

	* t-prot3w.s: Test changed spec of prot3w insn.
1998-10-27 21:49:15 +00:00
Frank Ch. Eigler fda83b6795 * MONSTER sky -> devo merge
* ChangeLog / ChangeLog.sky entries were merged with original time stamps;
  a few were moved between the files
1998-10-27 12:48:08 +00:00
Doug Evans 9c5da58d59 * sim-main.h: #include cpu-opc.h.
* arch.c,arch.h,decode.c,extract.c,model.c,sem.c: Regenerate
	to get #include cleanup.
	* decodex.c,extractx.c,modelx.c: Ditto.
1998-10-19 23:33:40 +00:00
Doug Evans 48ffd442f6 * Makefile.in (SIM_EXTRA_DEPS): Replace cgen headers with
CGEN_INCLUDE_DEPS.
	(M32RBF_INCLUDE_DEPS): Define.
	(m32r .o's): Depend on it.
	(mloop.c): Update call to genmloop.sh.
	* cpu.h,cpuall.h: Regenerate.
	* sim-main.h: Delete inclusion of cpu.h,decode.h, moved to cpuall.h.
	#include cgen-scache.h,cgen-cpu.h.
	* tconfig.in (WITH_FOO semantic macros): Delete.
	* Makefile.in (M32RXF_INCLUDE_DEPS): Define.
	(m32rx .o's): Depend on it.
	(mloopx.c): Update call to genmloop.sh.
	* cpux.h: Regenerate.
1998-10-19 21:14:14 +00:00
Doug Evans b35179cb0b * Make-common.in (CGEN_INCLUDE_DEPS): Define.
(sim-core.o): Delete duplicate dependence on $(SIM_EXTRA_DEPS).
	(sim-cpu.o,sim-endian.o,sim-hw.o): Ditto.
	(cgen-run.o,cgen-scache.o,cgen-trace.o,cgen-utils.o): Delete
	explicit cgen header dependencies, require SIM_EXTRA_DEPS to include
	CGEN_INCLUDE_DEPS.
	* cgen-cpu.h: New file.
	* cgen-engine.h: New file.
	* cgen-scache.h: New file.
	* cgen-sim.h: Delete portions moved to new files.
	* genmloop.sh: Generate two files eng.hin,mloop.cin explicitly,
	rather than sending result to stdout.
1998-10-19 21:00:59 +00:00
Doug Evans 3b5f425750 * interp.c: #include "itable.h" if WITH_IGEN.
(get_insn_name): New function.
	(sim_open): Initialize CPU_INSN_NAME,CPU_MAX_INSNS.
	* sim-main.h (MAX_INSNS,INSN_NAME): Delete.
1998-10-10 01:07:15 +00:00
Doug Evans bb51b65d68 Add pseudo-basic-block execution support.
* Makefile.in (SIM_OBJS): Add sim-reg.o, cgen-run.o, sim-stop.o.
	(SIM_EXTRA_DEPS): Add include/opcode/cgen.h.
	(INCLUDE_DEPS): Delete cpu-sim.h, include/opcode/cgen.h.
	(mloop.c): Build pseudo-basic-block version.  Depend on stamp-cpu.
	(stamp-decode): Delete, build decode files with other cpu files.
	* arch.c,arch.h,cpuall.h: Regenerate.
	* cpu.c,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
	* sem-switch.c,sem.c: Regenerate.
	* m32r-sim.h (M32R_MISC_PROFILE): New members load_regs,
	load_regs_pending.
	* m32r.c (m32rbf_fetch_register): Renamed from m32rb_fetch_register.
	(m32rbf_store_register,m32rbf_h_cr_get,m32rbf_h_cr_set,
	m32rbf_h_psw_get,m32rbf_h_psw_set,m32rbf_h_accum_get,
	m32rbf_h_accum_set): Likewise.
	(m32r_model_{init,update}_insn_cycles): Delete.
	(m32rbf_model_insn_{before,after}): New fns.
	(m32r_model_record_cti,m32r_model_record_cycles): Delete.
	(m32rb_model_mark_get_h_gr,m32rb_model_mark_set_h_gr): Delete.
	(m32rb_model_mark_busy_reg,m32rb_model_mark_unbusy_reg): Delete.
	(check_load_stall): New fn.
	(m32rbf_model_m32r_d_u_{exec,cmp,mac,cti,load,store}): New fns.
	(m32rbf_model_test_u_exec): New fn.
	* mloop.in: Rewrite, use pbb support.
	* sim-if.c (sim_stop,sim_sync_stop,sim_resume): Delete.
	(sim_fetch_register,sim_store_register): Delete.
	* sim-main.h (CIA_GET,CIA_SET): Fix.
	(SIM_ENGINE_HALT_HOOK,SIM_ENGINE_RESTART_HOOK): Delete.
	* tconfig.in (WITH_SCACHE_PBB): Define.
	(WITH_SCACHE_PBB_M32RBF): Define.
	* traps.c (sim_engine_invalid_insn): Renamed from ..._illegal_....
	(m32r_trap): Pass pc to sim_engine_halt.
	* configure.in (SIM_AC_OPTION_SCACHE): Change 1024 to 16384.
	* configure: Regenerate.
start-sanitize-m32rx
	* Makefile.in (M32RX_OBJS): Delete semx.o, add extract.o.
	(mloopx.c): Build pseudo-basic-block version.  Depend on stamp-xcpu.
	(semx.o): Delete.
	(extractx.o): Add.
	(stamp-xdecode): Delete, build decode files with other cpu files.
	* cpux.c,cpux.h,decodex.c,decodex.h,modelx.c: Regenerate.
	* readx.c: Delete.
	* semx.c: Delete.
	* extractx.c: New file.
	* semx-switch.c: New file.
	* m32r-sim.h (BRANCH_NEW_PC): Delete.
	(SEM_SKIP_INSN): New macro.
	* m32rx.c (m32rxf_fetch_register): Renamed from m32rx_fetch_register.
	(m32rxf_store_register,m32rxf_h_cr_get,m32rxf_h_cr_set,
	m32rxf_h_psw_get,m32rxf_h_psw_set,m32rxf_h_accum_get,
	m32rxf_h_accum_set,m32rxf_h_accums_get,m32rxf_h_accums_set): Likewise.
	(m32rxf_model_insn_{before,after}): New fns.
	(m32rx_model_mark_get_h_gr,m32rx_model_mark_set_h_gr): Delete.
	(m32rx_model_mark_busy_reg,m32rx_model_mark_unbusy_reg): Delete.
	(check_load_stall): New fn.
	(m32rxf_model_m32rx_u_{exec,cmp,mac,cti,load,store}): New fns.
	* mloopx.in: Rewrite, use pbb support.
	* tconfig.in (WITH_SCACHE_PBB_M32RXF): Define.
	(WITH_SEM_SWITCH_FULL): Change from 0 to 1.
end-sanitize-m32rx
1998-10-09 23:43:28 +00:00
Doug Evans 0b517b9cf2 * Make-common.in (sim-reg.o): New rule.
(cgen-run.o): New rule.
	* cgen-ops.h: Delete many BI macros.  Change all UBI -> BI.
	* cgen-run.c (prime_cpu): New function.
	* cgen-scache.c: Add pseudo-basic-block (pbb) scaching support.
	(scache_option_handler, case OPTION_PROFILE_SCACHE): Handle explicitly
	mentioned cpu.
	(scache_flush_cpu,scache_lookup,scache_lookup_or_alloc): New fns.
	* cgen-sim.h (CGEN_INSN_VIRTUAL_TYPE): New enum.
	(CGEN_INSN_VIRTUAL_P): New macro.
	(SEM_PC): New typedef.
	(SEMANTIC_FN): Change type of result to SEM_PC.
	(SEM_SET_FULL_CODE,SEM_SET_FAST_CODE,SEM_SET_CODE): New macros.
	(IDESC_CTI_P,IDESC_SKIP_P): New macros.
	(SCACHE_MAP): New typedef.
	(CPU_SCACHE): Add pbb support.
	(scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare.
	(SEM_BRANCH_INIT_EXTRACT,SEM_BRANCH_INIT,SEM_BRANCH_FINI): New macros.
	(CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn,
	max_slice_insns.
	(INSN_NAME): Delete.
	(cgen_insn_name): Declare.
	(sim_engine_invalid_insn): Renamed from sim_engine_illegal_insn.
	* cgen-trace.c (trace_buf): Shrink from 1024 to 256 bytes.
	(first_insn_p): Make static.
	(trace_insn): Handle virtual insns specially.
	(cgen_trace_printf): Ensure we haven't overflowed the buffer.
	* cgen-types.h (UBI): Delete.
	(MODE_TYPE): New enum.
	(HOSTINT,HOSTUINT,HOSTPTR): Delete.
	* cgen-utils.c (mode_names): Delete UBI.  Add INT,UINT,PTR.
	(cgen_virtual_opcode_table): New global.
	(cgen_insn_name): New function.
	(sim_disassemble_insn): Ignore virtual insns.
	* genmloop.sh: Delete top level loop generation.  Add pbb support.
	* sim-cpu.h (CPU_INSN_NAME_FN): New typedef.
	(sim_cpu_base): New members max_insns,insn_name,model_data.
	(CPU_PC_GET,CPU_PC_SET): New macros.
	(sim_pc_get,sim_pc_set): Declare.
	* sim-model.c (model_set): Call model init fn.
	* sim-model.h (MODEL_FN): New typedef.
	(INSN_TIMING): New member model_fn.
	(MODEL): New members num,init.
	* sim-profile.c (sim_profile_print_bar): Renamed from print_bar.
	All callers updated.
	(profile_insn_init): New fn.
	(profile_print_insn): Update, INSN_NAME -> CPU_INSN_NAME.
	Exit early if insn profiling not supported.
	(profile_print_memory): Update, MAX_MODES -> MODE_TARGET_MAX.
	(profile_install): Record profile_insn_init as init fn.
	(profile_uninstall): Free PROFILE_INSN_COUNT if non-null.
	* sim-profile.h: Update, MAX_MODES -> MODE_TARGET_MAX.
	(PROFILE_DATA): Delete member exec_time.
	Change insn_count to pointer to array, rather than the array.
	(sim_profile_print_bar): Declare.
1998-10-09 22:43:05 +00:00
Doug Evans 99bc9a6984 cgen-run.c: new mainloop for cgen
sim-reg.c: generic sim_fetch/store_register interface fns
1998-10-07 23:55:42 +00:00
Nick Clifton 1ee490ca0b Fix PR 17387: ignore auto increment for loads where the destination register
and the address register are the same.
1998-09-30 17:15:14 +00:00
Doug Evans ff8c385ab3 * m32r-sim.h (GET_H_SM): New macro.
(UART params): Update to msa2000.
	* devices.c (device_io_read_buffer): Update to msa2000.
	* m32r.c (m32rb_h_cr_get,m32rb_h_cr_set): Handle bbpc,bbpsw.
	(m32rb_h_psw_get,m32rb_h_psw_set): New functions.
	* arch.c,arch.h,cpu.c,cpu.h,sem-switch.c,sem.c: Regenerate.
	* m32rx.c (m32rx_h_cr_get,m32rx_h_cr_set): Handle bbpc,bbpsw.
	(m32rx_h_psw_get,m32rx_h_psw_set): New functions.
	* cpux.c,cpux.h,readx.c,semx.c: Regenerate.
PR 15938.
1998-09-15 22:16:08 +00:00
Nick Clifton 043333a61a define SIM_HAVE_BIENDIAN 1998-09-14 16:58:00 +00:00
Doug Evans 4d87923eb3 * r5900.igen (plzcw): Make `i' signed.
PR 17191.
1998-09-10 19:00:46 +00:00
Doug Evans 190659a22d * m32r-sim.h (m32r_trap): Update prototype.
* traps.c (m32r_trap): New arg `pc'.
	* sem.c,sem-switch.c: Regenerated.
	* cpux.h,readx.c,semx.c: Regenerated.
1998-09-09 22:34:09 +00:00
Doug Evans 3efbfbebdc * sim/sky/pr17191.s: New file.
* sim/sky/pr17191.brn: New file.
	* sim/sky/t-macros.inc: New file.
1998-09-09 21:50:10 +00:00
Ron Unrau 323f833daf Branch merge for GDB:
* sim-main.h: track COP0 registers
        * interp.c (sim_{fetch,store}_register): read/write COP0 registers
        * sky-gdb.[ch]: add sim pipeorder command
1998-09-09 17:30:31 +00:00
Frank Ch. Eigler 9ade226a42 * Patch for PR 17142, brought over from sky branch.
Fri Sep  4 10:37:57 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* r5900.igen (mtsab): Correct typo in input register.
	* sim-main.h (TMP_*): New macros for accessing local 128-bit
	temporary for multimedia instructions.
	* r5900.igen (*): Convert most instructions to use new TMP
	macros to store output result during computation.
1998-09-08 11:09:45 +00:00
Frank Ch. Eigler 78b871ec81 * Build fixes for tx39 sim hosted on strange Linux boxen.
[common/ChangeLog]
Tue Sep  1 15:36:52 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* sim-config.h: Remove reference to linux kernel header.
[mips/ChangeLog]
Tue Sep  1 15:39:18 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-tx3904sio.c: Include sim-assert.h.
1998-09-01 13:19:57 +00:00
Ken Raeburn 83e29d5263 Change sanitization of vrXXXX to cygnus, so redact might work on it.
This means using keep-vr4320 without keep-cygnus probably won't work.
1998-08-26 17:29:06 +00:00
Joyce Janczyn cf83964e6f Regress yesterday's change to jmp instn implementation in mn10300.igen. 1998-08-26 13:37:56 +00:00
Joyce Janczyn ef4d20e915 Regress yesterday's change to jmp instruction -- it has deceiving syntax.
Also tidy up some code to match documentation and fix div, divu by 0.
1998-08-26 13:31:38 +00:00
Joyce Janczyn 59587664ab * mn10300.igen (OP_F0F4): Need to load contents of register AN0
for jmp.
1998-08-25 20:49:35 +00:00
Frank Ch. Eigler 36e838d13b * eCos tx3904sio sim - devo part 2/2
Tue Aug 25 12:49:46 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-tx3904sio.c: New file: tx3904 serial I/O module.
	* configure.in: Add dv-tx3904sio, dv-sockser for tx39 target.
	Reorganize target-specific sim-hardware checks.
	* configure: rebuilt.
	* interp.c (sim_open): For tx39 target boards, set
	OPERATING_ENVIRONMENT, add tx3904sio devices.
	* tconfig.in: For tx39 target, set SIM_HANDLES_LMA for loading
	ROM executables.  Install dv-sockser into sim-modules list.
	* dv-tx3904irc.c: Compiler warning clean-up.
	* dv-tx3904tmr.c: Compiler warning clean-up.  Remove particularly
	frequent hw-trace messages.
1998-08-25 14:16:58 +00:00
Frank Ch. Eigler 8d6ed1b768 * eCos tx3904sio sim - devo part 1/2
Tue Aug 25 12:45:27 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-sockser.c (sockser_addr): Make variable non-static.
1998-08-25 13:58:35 +00:00
Joyce Janczyn c1802bfd60 * sim-main.h (SIM_HANDLES_LMA): Define SIM_HANDLES_LMA. 1998-08-24 15:52:43 +00:00
Joyce Janczyn fb37fdcb89 * sim-hw.{c,h} (sim_hw_parse): Return struct hw pointer. 1998-08-24 15:48:45 +00:00
Ken Raeburn aeeb756dee fix broken sanitization 1998-08-18 18:58:10 +00:00
Ken Raeburn 3d759c53c9 sanitize-vr5400 -> sanitize-cygnus, for 98r2 1998-08-12 10:50:35 +00:00
Ron Unrau d333eeedde * sim-main.h: track COP2 register definitions, define VIO_BASE
* interp.c (sim_{fetch,store}_register): read/write VU0/1 control regs
        * sky-gdb.c: use VIO_BASE
        * sky-pke.h: move GDB_COMM area
1998-08-06 20:02:47 +00:00
Doug Evans d68bc3cb16 Rename cpu m32r to m32rb to distinguish from architecture name.
* Makefile.in (mloop.c): cpu m32r renamed to m32rb.
	(stamp-cpu): Ditto.
	* sim-main.h (WANT_CPU_M32RB): Renamed from WANT_CPU_M32R.
	* tconfig.in (WANT_CPU_M32RB): Ditto.
	* m32r.c (WANT_CPU_M32RB): Ditto.
	(*): m32r_ cpu fns renamed to m32rb_.
	* sim-if.c (sim_stop,sim_sync_stop,sim_resume): Update.
	* arch.h,arch.c: Regenerate.
	* cpu.c,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
	* sem-switch.c,sem.c: Regenerate.

	* sim-if.c (sim_open): Don't allocate memory on top of any user
	specified memory.
	(h_gr_get,h_gr_set): Delete.
	* sim-main.h (h_gr_get,h_gr_set): Delete.
	* traps.c (m32r_trap): Replace calls to h_gr_[gs]et with
	a_m32r_h_gr_[gs]et.
1998-08-04 02:52:16 +00:00
Doug Evans 13ccace0ca * Makefile.in (INCLUDE_DEPS): Add include/opcode/cgen.h.
* sim-if.c (sim_open): Open opcode table.
	(sim_close): Close it.
1998-08-03 19:58:36 +00:00
Doug Evans 39813256da * cgen-sim.h (cgen_state): New member opcode_table.
* cgen-utils.c (sim_disassemble_insn): Use it.
1998-08-03 18:45:06 +00:00
Ron Unrau b8140a08bf * sim-main.h: shadow NUM_CORE_REGS from tm-txvu.h
* interp.c: use NUM_CORE_REGS
        * sky-gdb.c (set_fifo_breakpoints): use VIF interrupt bit for break
        * sky-pke.c (pke_issue): use interrupt bit for break points
1998-07-31 22:02:12 +00:00
Jeff Holcomb acf38b4e4a fix sanitization 1998-07-31 05:23:28 +00:00
Jeff Law e1160daac2 Fix sanitize misspellings. 1998-07-29 18:28:29 +00:00
Andrew Cagney 8d3580d090 Fix incorrect calculation of conditional field when being extracted
from a previous decode.
1998-07-29 00:14:29 +00:00
Doug Evans d846a17c70 Add support for new versions of mulwhi,mulwlo,macwhi,macwlo that
accept an accumulator choice.
	* cpux.c,decodex.c,decodex.h,modelx.c,readx.c,semx.c: Regenerate.
1998-07-28 20:09:10 +00:00
Doug Evans fe63ffef0a New testcases for PR 16547 (new instructions added). 1998-07-28 18:43:52 +00:00
Andrew Cagney f6b7bfcfa0 Add note about limitations of insn_field_cmp(). 1998-07-28 08:58:23 +00:00
Andrew Cagney 07c2bd1455 Problems with conditional instruction-table fields (N!M, N=M, ...).
Was restricting `M' to opcode fields in the current word.
1998-07-28 08:08:54 +00:00
Jeff Law 3e20223154 * am33.igen: Detect cases where two operands must not match in
non-DSP instructions.
1998-07-27 18:05:43 +00:00
Andrew Cagney 60f9cd07d0 For vr* processors start using vr.igen.
Sanitize out README.Cygnus.
1998-07-25 07:49:29 +00:00
Andrew Cagney e1b20d3048 Add new file vr.igen which is a merge of vr5400.igen and vr4320.igen.
Hack sanitize so that it doesn't sanitize vrXXX when either of
keep-vr5400 or keep-vr4320 are specified.
Move two basic vr4100 instructions from mips.igen to vr.igen.
1998-07-25 06:45:18 +00:00
Joyce Janczyn a2f93b6758 Fri Jul 24 18:15:21 1998 Joyce Janczyn <janczyn@cygnus.com>
* op_utils.c (do_syscall): Rewrite to use common/syscall.c.
	(syscall_read_mem, syscall_write_mem): New functions for syscall
	callbacks.
	* mn10300_sim.h: Add prototypes for syscall_read_mem and
	syscall_write_mem.
	* mn10300.igen: Change C++ style comments to C style comments.
	Check for divide by zero in div and divu ops.
1998-07-24 22:22:35 +00:00
Doug Evans 431e4f86ad * m32r.c: Include cgen-mem.h.
* traps.c (m32r_trap): Tweak for -Wall.
	* m32rx.c: Include cgen-mem.h.
	* semx.c: Regenerate, get -Wall cleanups.
1998-07-24 20:03:56 +00:00
Doug Evans 63542cbcc0 * cgen-mem.h (DECLARE_SETT): Fix return type. 1998-07-24 19:44:04 +00:00
Jeff Law 6d254a2d5f * am33.igen (translate_xreg): New function. Use it as needed. 1998-07-24 18:50:12 +00:00
Doug Evans f3ccb5a785 * sim-model.c (model_option_handler): Remove unused variable `n'. 1998-07-24 17:16:02 +00:00
Doug Evans fa653bc01e * Makefile.in (clean,mostlyclean): Change leading spaces to a tab. 1998-07-24 16:44:43 +00:00
Ian Lance Taylor 965f532708 remove d30v sanitization 1998-07-24 04:38:45 +00:00
Jeff Law 4b6651c925 * am33.igen: Add some missing instructions.
Missed a few last week... Grrr.
1998-07-23 16:31:41 +00:00
Jeff Law 6ae1456eb5 * am33.igen: Autoincrement loads/store fixes. 1998-07-23 16:06:50 +00:00
Doug Evans 7422fa0cc8 * cpu.h,extract.c: Regenerate. pc-rel calcs done on f_dispNN now.
* cpux.h,readx.c,semx.c: Ditto.
1998-07-21 23:54:10 +00:00
Doug Evans cac4e5a481 * cgen-utils.c: Include bfd.h.
(sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.
1998-07-21 23:26:53 +00:00
Jeff Law 0a78550778 * am33.igen: Add most am33 DSP instructions. 1998-07-21 15:50:14 +00:00
Jillian Ye 27de7e18c4 Forward fit sky-branch updates to devo. 1998-07-17 18:43:30 +00:00
Jeff Holcomb 7034215bc6 fix sanitization; add trap.S 1998-07-14 23:00:31 +00:00
Jeff Law 4b987239ea Fix goof. 1998-07-14 03:59:11 +00:00
Jeff Law 080ee2ba75 * am33.igen: Fix Z bit for remaining addc/subc instructions.
Do not sign extend immediate for mov imm,XRn.
        More random mul, mac & div fixes.
        Remove some unused variables.
        Sign extend 24bit displacement in memory addresses.
Whee, more fixes.
1998-07-09 19:41:47 +00:00
Jeff Law 4e86afb85f * mn10300.igen: Fix Z bit for addc and subc instructions.
Minor fixes in multiply/divide patterns.

start-sanitize-am33
        * am33.igen: Fix Z bit for addc Rm,Rn and subc Rm,Rn.  Various
        fixes to 2 register multiply, divide and mac instructions.  Set
        Z,N correctly for sat16.  Sign extend 24 bit immediate for add,
        and sub instructions.

        * am33.igen: Add remaining non-DSP instructions.
end-sanitize-am33
1998-07-09 19:04:22 +00:00
Jeff Law 1f0ba346eb * am33.igen: Add remaining non-DSP instructions.
Lots of work still remains.  PSW handing is probably broken badly and the
mul/mac classes of instructions are probably not handled correctly.
1998-07-09 16:09:24 +00:00
Jeff Law 9c55817e66 * am33.igen (translate_rreg): New function. Use it as appropriate. 1998-07-09 00:24:57 +00:00
Jeff Law 377e53bb6b * am33.igen: More am33 instructions. Fix "div". 1998-07-08 22:33:35 +00:00
Andrew Cagney 9483af2c61 Add a printf fmt style version of sim_events_schedule.
This allows the caller to specify extra trace information that is
only evaluated when tracing is enabled.
1998-07-08 08:00:36 +00:00
Jeff Law d2b02ab22d * mn10300.igen: Add am33 support. 1998-07-06 22:02:02 +00:00
Jeff Law 135431cd7e * Makefile.in: Use multi-sim to support both a mn10300 and am33
simulator.
1998-07-06 21:57:22 +00:00
Jeff Law 658fb0c743 * sim-bits.h (EXTEND24): Define. 1998-07-06 21:55:37 +00:00
Jeff Law 3e75ff7efd * am33.igen: Add many more am33 instructions. 1998-07-06 21:41:06 +00:00
Doug Evans 039fa2c847 * cgen-sim.h (CPU_SCACHE): Make size unsigned.
(CPU_SCACHE_HASH_MASK): New macro.
	(SCACHE_HASH_PC): Rewrite.
	* genmloop.sh (engine_resume_{full,fast}): Move some of hash
	computation out of main loop.
1998-07-03 00:14:49 +00:00
James Lemke 0a3ec14442 Add a test case for PR16213. 1998-07-02 20:20:32 +00:00
Doug Evans 1148b104ae * Makefile.in: cgen_maint -> CGEN_MAINT.
* configure.in: AC_SUBST cgen,cgendir.  No longer look for guile.
	* configure: Regenerate.
	* arch.c,arch.h,cpuall.h: Regenerate.
	* cpu.c,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
	* sem-switch.c,sem.c: Regenerate.
	* cpux.c,cpux.h,decodex.c,decodex.h,modelx.c,readx.c: Regenerate.
	* semx.c: Regenerate.
	* mloopx.in (icount): Moved here from genmloop.sh.
1998-07-02 01:42:38 +00:00
Doug Evans 6de2add29f * Make-common.in (SCHEME,SCHEMEFLAGS): Delete.
(CGENDIR,CGEN): New variables.
	(CGEN_VERBOSE): Renamed to CGENFLAGS.
	(cgen-arch,cgen-cpu,cgen-decode): Update.
	(CGEN_CPU_WRITE): New variable.
	(CGEN_CPU_SEMSW): -W -> -X.
	(CGEN_FLAGS_TO_PASS): Delete SCHEME.  Add CGEN,CGENFLAGS.
	* cgen.sh: Delete args scheme,schemeflags.  New arg cgen.

	* cgen-sim.h (RECORD_IADDR): Delete.
	* cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types.
	* genmloop.sh (engine_resume_{full,fast}): Delete icount.
1998-07-01 23:47:50 +00:00
Jeff Law ee61616c43 Tweak. 1998-07-01 23:15:55 +00:00
Jeff Law 0f7d73858c * am33.igen: New file with some am33 support.
Checking in work-to-date.
1998-07-01 23:13:14 +00:00
Jeff Law de2adf7070 * mn10300_sim.h (FETCH24): Define.
* mn10300_sim.h: Add defines for some registers found on the AM33.
1998-07-01 23:11:59 +00:00
Doug Evans 8686807e30 * sim/m32r/hw-trap.ms: New testcase. 1998-07-01 22:57:07 +00:00
Doug Evans 9ae0ae657f * sim/sky/vureloc{.brn,-main.c,.dvpasm}: New files. 1998-07-01 21:37:10 +00:00
Jeff Law a6cbaa652a * mn10300_sim.h: Include bfd.h
(struct state): Add more room for processor specific registers.
start-sanitize-am33
        (REG_E0): Define.
end-sanitize-am33
1998-06-30 17:28:54 +00:00
Gavin Romig-Koch 46eb9e5a57 * interp.c (OPTION_BRANCH_BUG_4011): Add.
(mips_option_handler): Handle OPTION_BRANCH_BUG_4011.
	(mips_options): Define the option.
	* mips.igen (check_4011_branch_bug): New.
	(mark_4011_branch_bug): New.
	(all branch insn): Call mark_branch_bug, and check_branch_bug.
	* sim-main.h (branchbug4011_option, branchbug4011_last_target,
	branchbug4011_last_cia, BRANCHBUG4011_OPTION,
	BRANCHBUG4011_LAST_TARGET, BRANCHBUG4011_LAST_CIA,
	check_branch_bug, mark_branch_bug): Define.
1998-06-29 13:30:01 +00:00
Gavin Romig-Koch aaa2c9082c * mips.igen (check_mf_hilo): Correct check. 1998-06-29 13:22:31 +00:00
Michael Meissner 16a88df71e Do not try to include sys/mount.h anymore 1998-06-26 18:22:48 +00:00
Patrick Macdonald 80b86d36b3 * sky-pke.c (pke_issue): use default trace file name if the
--log-file option not used
1998-06-25 18:58:10 +00:00
Joyce Janczyn 5eb78d70cc Thu Jun 25 10:12:03 1998 Joyce Janczyn <janczyn@cygnus.com>
* dv-mn103tim.c: Include sim-assert.h
	* dv-mn103ser.c (do_polling_event): Check for incoming data on
	serial line and schedule next polling event.
	(read_status_reg): schedule events to check for incoming data on
	serial line and issue interrupt if necessary.
1998-06-25 14:17:47 +00:00
Frank Ch. Eigler 56b6d49ae0 * Bringing over SKY PKE disassembler feature from sky branch. 1998-06-25 11:41:20 +00:00
Frank Ch. Eigler dcf63a62ea * Bringing sky pke disasm from sky branch. 1998-06-25 11:35:43 +00:00
James Lemke 7e3459149e * sim/sky/t-int.c, sim/sky/t-int-handler.c:
Testcase errors: two in the former file, one in the latter.
1998-06-24 22:19:38 +00:00
James Lemke 2a7392656c Updated sim/sky/t-dma.c: It missed check-in earlier today. 1998-06-24 21:55:45 +00:00
James Lemke b8f4ecc8d6 Updated sim/sky/t-dma.{brn|dmaexpect} because a warning msg being checked
for, contains an address that differs between -mhard-float and -msoft-float.
1998-06-24 16:02:01 +00:00
Jillian Ye f915cc9125 configure.in: Add -lXext to mips_extra_libs 1998-06-23 17:59:31 +00:00
Patrick Macdonald f439ad5f17 * sky-dma.h, sky-gpuif.[c|h], sky-gs.h, sky-pke.[c|h],
sky-vu.h: use _IOLBF on debug files, _IOFBF on trace files
	* sky-gdb.[c|h] (sky_open_file()): add buffer mode to
	parameter list
1998-06-22 15:08:58 +00:00
Jillian Ye f4f78bcc9c Remove the directory, all sky sim testcases are now in sim/sky/ 1998-06-19 20:26:23 +00:00
Joyce Janczyn 0df90cd8e4 Fri Jun 19 11:59:26 1998 Joyce Janczyn <janczyn@cygnus.com>
* interp.c (board): Rename am32 to stdeval1 as this is the name
	consistently used to refer to the mn1030002 board.
1998-06-19 16:02:51 +00:00
Joyce Janczyn f0ce242fcd Thu June 18 14:37:14 1998 Joyce Janczyn <janczyn@cygnus.com>
* interp.c (sim_open): Fix typo in address of EXTMD register
	(0x34000280, not 0x3400280).
1998-06-18 18:43:11 +00:00
Frank Ch. Eigler 5630c289dc * Adapt to changed R5900 SQC2 opcode.
Thu Jun 18 17:48:01 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* mips.igen (SDC2): Removed R5900 alternative.
	* r5900.igen (SQC2): Updated bit pattern to
	match changed R5900 specs.
1998-06-18 15:11:28 +00:00
release c773c22617 fix sanitization; add t-ldl.s t-ldr.s t-lwl.s t-lwr.s t-sdr.s t-sub.s t-swl.s t-swr.s 1998-06-18 06:52:03 +00:00
Patrick Macdonald be53145e44 * second phase of the --sky-debug, --sky-debug-file stuff
* only outstanding issue is vu0/vu1 to file (phase 3_

	* please see ChangeLog.sky for complete details
1998-06-18 00:28:06 +00:00
Jeff Law 7c8a2969e6 * simops.c (syscall): Handle change in opcode # for syscall.
* mn10300.igen (syscall): Likewise.
1998-06-18 00:03:00 +00:00
Patrick Macdonald c0e7453d60 * sky-pke.h: PKE_REG_SET_MASK / PKE_MEM_WRITE macros updated
to check/open the debug trace file
1998-06-17 14:54:11 +00:00
Andrew Cagney 67574b9cea Re-do sim-inline's handling of external functions and variables so
that there really is only one instance of them.
1998-06-17 07:42:53 +00:00
Jillian Ye 419997a6d4 *** empty log message *** 1998-06-16 22:39:28 +00:00
Patrick Macdonald 7159249bbc * support for the --sky-debug, sky-debug-file options
* support for the --log, --log-file options
	* GIF disassembly
	* please view ChangeLog.Sky for details
1998-06-16 21:02:33 +00:00
Ron Unrau 2905d173c5 * sky-pke.c(read_pke_pc): return source address of current pc
* sky-pke.c(read_pke_pcx): return index of current pc
        * sky-pke.h: export read_pke_pcx
        * interp.c(sim_fetch_registers): read pke pc/pcx
        * sky-libvpe.c: track name change from GDB
        * sim-main.h: add vif memory based pc
          - extend gdb comm area for fifo breakpoints
          - define SIM_ENGINE_RESTART_HOOK
        * sky-gdb.c: add support for VIF breakpoints
1998-06-16 20:30:20 +00:00
Jillian Ye d80e0c96ef *** empty log message *** 1998-06-16 19:47:31 +00:00
Frank Ch. Eigler 702968c54b * ECC (tx39) and sky changes.
[ChangeLog]
start-sanitize-tx3904
Tue Jun 16 14:39:00 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-tx3904tmr.c: Deschedule timer event after dispatching.
	Reduce unnecessarily high timer event frequency.
	* dv-tx3904cpu.c: Ditto for interrupt event.
end-sanitize-tx3904
start-sanitize-sky
Tue Jun 16 14:12:09 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* interp.c (decode_coproc): Removed COP2 branches.
	* r5900.igen: Moved COP2 branch instructions here.
	* mips.igen: Restricted COPz == COP2 bit pattern to
	exclude COP2 branches.
end-sanitize-sky
1998-06-16 18:13:47 +00:00
James Lemke 1106213c56 Fix unresolved external error for sky_cpcond0 on non-SKY builds. 1998-06-16 18:13:46 +00:00
Frank Ch. Eigler a2d12e4971 * sky testsuite fixes
Tue Jun 16 09:03:37 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* t-cop2.s: Reorder instruction blocks to prevent "Out of bounds"
	messages during test execution.  Added dummy branch labels for BC2*
 	instructions.
	* t-cop2.brn: Use --sky-debug option instead of env var.
	* t-cop2.vuexpect: Updated for with new disassembly format.
	* sky_sce_fast.exp: Don't compare GIF outputs for
 	--float-type=fast.
	* sce_test{17,33,49}.dvpasm: Use ".DmaPackVif 1" option to
	exercise assembler / PKE.
	* rw-vureg.c: Cast memcpy operand to allay warning.
1998-06-16 16:53:49 +00:00
Doug Evans 1a1f786125 cangelog entries moved here from sim/sky/ChangeLog 1998-06-16 16:53:48 +00:00
Ian Carmichael 8ea23ea4bb * Implement remaining bits in VPU_STAT, CMSAR0, CMSAR1, FBRST. Fix COP2 interface
* to VI registers (CFC2/CTC2).
*
* Modified Files:
* 	ChangeLog.sky interp.c sim-main.c sky-pke.h sky-vu.c sky-vu.h
1998-06-16 16:02:04 +00:00
Joyce Janczyn f14defcc75 Tue June 16 09:36:21 1998 Joyce Janczyn <janczyn@cygnus.com>
* dv-mn103int.c (mn103int_finish): Regular interrupts (not NMI or
	reset) are not enabled on reset.
1998-06-16 13:43:34 +00:00
James Lemke 05faca8731 Implement CPCOND0 and insns BC0F/BC0FL/BC0T/BC0TL. 1998-06-15 17:36:23 +00:00
Joyce Janczyn 2a62f119fa Updates to dv-mn103iop.c, dv-mn103ser.c and inter.c 1998-06-14 21:19:53 +00:00
Ron Unrau f083fff397 * sky-engine.c: Set ordering of device issues to match enumerated type
txvu_cpu_context (sim-main.h tm-txvu.h). This also allowed the issue
        structure to be simplified to an array of functions.
1998-06-14 17:01:02 +00:00
Doug Evans b4cbaee405 * m32r-sim.h (M32R_MISC_PROFILE): New members insn_cycles, cti_stall,
load_stall,biggest_cycles.
	* m32r.c (m32r_model_mark_get_h_gr): Update.
	(m32r_model_init_insn_cycles,m32r_model_update_insn_cycles): New fns.
	(m32r_model_record_cti,m32r_model_record_cycles): New functions.
	* mloop.in: Call cycle init/update fns.
	* model.c: Regenerate.
	* m32rx.c (m32rx_model_mark_get_h_gr): Update.
	* mloopx.in: Call cycle init/update fns.
	* modelx.c: Regenerate.
1998-06-13 14:56:28 +00:00
Doug Evans 403bed787e * cgen-trace.c (trace_insn_fini): Redo cycle handling.
* sim-profile.h (PROFILE_DATA): Rename cycle handling members.
	* sim-profile.c (profile_print_model): Update.
1998-06-13 14:47:51 +00:00
Doug Evans af2b0c8593 * gennltvals.def (m32r): Use common syscall.h now.
(mn10300): Add entry.
	* nltvals.def: Regenerate.
1998-06-13 01:39:44 +00:00
Joyce Janczyn 55a7ce4ea8 Fri June 12 16:24:00 1998 Joyce Janczyn <janczyn@cygnus.com>
* dv-mn103iop.c: New file for handling am32 io ports.
	* configure.in: Add mn103iop to hw_device list.
	* configure: Re-generate.
	* interp.c (sim_open): Create io port device.
1998-06-12 20:46:23 +00:00
Joyce Janczyn 199cb74149 Add dv-mn103iop. 1998-06-12 20:15:43 +00:00
Doug Evans 68096722d9 * sim-engine.c (sim_engine_get_run_state): New function.
* sim-engine.h (sim_engine_get_run_state): Declare it.
1998-06-12 20:08:50 +00:00
Joyce Janczyn 64d4b21972 New file for handling mn1030002 io ports. 1998-06-12 20:07:33 +00:00
Joyce Janczyn c7dd0ea6bc Add dv-mn103iop.c to list of files to sanitize out. 1998-06-12 20:05:08 +00:00
Patrick Macdonald ff94f10401 * interp.c: added call to sky_command_options_end() to close
any open file handles before exiting
	* sky-gpuif.[c|h]: add disassembly on the fly code, log and log
	file option support
	* sky-gdb.[c|h] (sky_command_options_close()): new function, added
	some body to the log and log file option sections
1998-06-12 18:58:26 +00:00
Doug Evans 1be932424c * Makefile.in (stamp-{arch,cpu,decode}): Pass CGEN_FLAGS_TO_PASS
to recursive makes.
	(stamp-{xcpu,xdecode}): Ditto.
1998-06-12 06:40:41 +00:00
Doug Evans b8f9289f19 * lib/sim-defs.exp (sim_run): Argument env_vals renamed to options,
which is now a list of options controlling the behaviour of sim_run.
	* sim/sky/sky-defs.tcl (run_trc_test): Update to new way of
	environment variables to sim_run.
1998-06-12 01:08:57 +00:00
Doug Evans 2a62c9b87b * lib/sim-defs.exp (sim_run): Argument env_vals renamed to options,
which is now a list of options controlling the behaviour of sim_run.
1998-06-12 01:08:26 +00:00
Doug Evans bee3033d5a * sim/sky/sky-defs.tcl (run_brn_test): Fix handling of dvpasm_flags. 1998-06-11 22:52:40 +00:00
Doug Evans cfedac2213 * sim/sky/sky-defs.tcl (run_brn_test): Fix `options' arg to
sim_compile.
1998-06-11 22:50:51 +00:00
Doug Evans 42d9651198 (sim_compile): Tweak output text. 1998-06-11 22:49:25 +00:00
Doug Evans 21ba2ab4c6 * sim/sky/vu.h (VU0_MEM1_WINDOW_START): New macro.
(VU0_MEM1_SIZE): New macro.
1998-06-11 22:28:03 +00:00
Doug Evans 072ba14861 * sim/sky/vu01reg-main.c: New file.
* sim/sky/vu01reg.dvpasm: New file.
	* sim/sky/vu01reg.brn: New file.
1998-06-11 22:27:01 +00:00
Frank Ch. Eigler 95caab7df2 * Moving some sky-specific ChangeLog entries into ChangeLog.sky 1998-06-11 13:50:28 +00:00
Doug Evans 169c74762a * sim-core.h (SIM_CORE_SIGNAL_FN): New typedef.
* sim-core.c (sim_core_signal): Make extern, always define.
1998-06-11 07:55:29 +00:00
Doug Evans a28ad776ad Regenerate, gets a_m32r_trap -> m32r_trap renaming. 1998-06-11 01:19:28 +00:00
Doug Evans 83e4ce8df2 * m32r-sim.h (m32r_trap): Declare. 1998-06-11 01:18:13 +00:00
Doug Evans 496cf06b76 * Makefile.in (SIM_OBJS): Add traps.o 1998-06-11 01:06:05 +00:00
Doug Evans 7e92721894 * traps.c: New file. Trap support moved here from sim-if.c.
* Makefile.in (SIM_OBJS): Add traps.o
	* sim-if.c: Don't include targ-vals.h.
	(sim_engine_illegal_insn): Moved to traps.c
	* sim-main.h (SIM_CORE_SIGNAL): Define.
	(m32r_core_signal): Declare.

	* devices.c (device_io_read_buffer): Handle cache purging via MCCR
	register.

	* m32r-sim.h (M32R_MISC_PROFILE): Move here from sim-main.h.
	(PROFILE_COUNT_SHORTINSNS,PROFILE_COUNT_LONGINSNS): New macros.
	(TRAP_SYSCALL,TRAP_BREAKPOINT): New macros.
1998-06-11 01:05:21 +00:00
Doug Evans a040908c40 Regenerate. Updates from cgen for better VoidMode handling. 1998-06-11 01:04:47 +00:00
Doug Evans a27a2a8de4 * Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
* cgen-ops.h (ANDIF): New macro.
	(ANDIF[BQHSD]I): Delete.
1998-06-10 23:03:55 +00:00
Joyce Janczyn 8c2de2aa33 Wed June 10 14:34:00 1998 Joyce Janczyn <janczyn@cygnus.com>
* dv-mn103int.c (external_group): Use enumerated types to access
	correct group addresses.
	* dv-mn103tim.c (do_counter_event): Underflow of cascaded timer
	triggers an interrupt on the higher-numbered timer's port.
1998-06-10 18:47:09 +00:00
Frank Ch. Eigler f337710aff * SKY hardware interrupt tests.
Wed Jun 10 15:56:10 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* sim/sky/t-int.c: New file to test sky hardware
	interrupts.
	* sim/sky/t-int-handler.s: New file for null interrupt
	handler.
	* sim/sky/t-int.brn: New file to build new test.
1998-06-10 17:56:19 +00:00
Doug Evans f3c7eb69df * sim/m32r/addx.cgs: Add another test.
* sim/m32r/jmp.cgs: Add another test.
	* sim/m32r/bra8-2.cgs: New testcase.
	* sim/m32r/hello.ms: Run on m32rx too.
1998-06-10 17:56:18 +00:00
Frank Ch. Eigler b879096335 * Support for sky hardware interrupts. The sky-dma cannot trigger
interrupts properly yet (jlemke TODO).
Wed Jun 10 13:22:32 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* interp.c (decode_coproc): For TX39, add stub COP0 register #7,
 	to allay warnings.
	(interrupt_event): Made non-static.
start-sanitize-tx3904
	* dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental
 	interchange of configuration values for external vs. internal
 	clock dividers.
end-sanitize-tx3904
start-sanitize-sky
	* sky-device.c (sky_signal_interrupt): New function to generate
	interrupt event.
	* sky-device.h: Declare it.
	* sky-dma.c (check_int1): Call it.
	* sky-pke.c (pke_begin_interrupt_stall): Call it.
end-sanitize-sky
1998-06-10 17:07:10 +00:00
Patrick Macdonald a4377bf7bd * Updated several files to place all sky specific runtime options
in sky-gdb.c.
	* Added two new runtime options --sky-debug and --screen-refresh
	* ChangeLog.sky contains a detailed description of the mods
1998-06-10 17:07:09 +00:00
Frank Ch. Eigler e1b5df344e * Typo fix for tx3904tmr use of configuration parameters.
(ChangeLog entry coming later.)
1998-06-10 08:58:42 +00:00
Ian Carmichael 0001bce1f8 * Handle 10 and 20-bit versions of Break instruction. Move handling
* of special values from signal_exception() in interp.c into mips.igen.
*
* Modified: ChangeLog gencode.c interp.c mips.igen sim-main.h
1998-06-09 22:11:24 +00:00
Frank Ch. Eigler cc9bc93202 * Updates to tx3904 peripheral simulations for ECC.
Tue Jun  9 12:29:50 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-tx3904cpu.c (deliver_*_interrupt,*_port_event): Set the CAUSE
 	register upon non-zero interrupt event level, clear upon zero
 	event value.
	* dv-tx3904irc.c (*_port_event): Handle deactivated interrupt signal
	by passing zero event value.
	(*_io_{read,write}_buffer): Endianness fixes.
	* dv-tx3904tmr.c (*_io_{read,write}_buffer): Endianness fixes.
	(deliver_*_tick): Reduce sim event interval to 75% of count interval.
	* interp.c (sim_open): Added jmr3904pal board type that adds PAL-based
	serial I/O and timer module at base address 0xFFFF0000.
1998-06-09 16:54:09 +00:00
Ian Carmichael 895a7dc2aa * Handle 10 and 20-bit versions of Break instruction. Move handling
* of special values from signal_exception() in interp.c into mips.igen.
*
* Modified: gencode.c interp.c mips.igen sim-main.h
1998-06-09 16:54:08 +00:00
Doug Evans 5724515d03 * sim/sky/dma.h: New file.
* sim/sky/vif.h: New file.
	* sim/sky/vu.h: New file.
	* sim/sky/sce_main.c: Move magic numbers to .h files.
1998-06-09 16:01:59 +00:00
James Lemke a77734aa1e sky.ld: Remove big endian stuff in OUTPUT_FORMAT 1998-06-09 15:55:49 +00:00
Gavin Romig-Koch 2b5d87dfa4 * mips.igen (SWC1) : Correct the handling of ReverseEndian
and BigEndianCPU.
1998-06-09 15:54:05 +00:00
Gavin Romig-Koch 55ad270f9a * configure.in (mips_fpu_bitsize) : Set this correctly for 32-bit mips
parts.
	* configure: Update.
1998-06-09 15:42:04 +00:00
Doug Evans cacc867752 * sim/m32r/trap.cgs: Test trap 2. 1998-06-08 23:09:54 +00:00
Doug Evans 02c6148370 Test trap 2. 1998-06-08 23:08:49 +00:00
Joyce Janczyn 3d64946ded Support for timers for mn103002. Still needs more testing/debugging. 1998-06-08 21:57:42 +00:00
David Taylor e62b6fed2a add test to verify that changes made to the PSW in-parallel-with a trap
instruction end up in the bPSW and not in the PSW.  (PR 16026).
1998-06-08 19:18:21 +00:00
Joyce Janczyn d38f2372a0 Add dv-mn103tim.c and dv-mn103ser.c 1998-06-08 18:09:40 +00:00
Joyce Janczyn d3f76d42ac Add timer and serial devices (mn103tim and mn103ser), support
--board=am32 for runtime control of device simulation, and adjust
interrupt settings to support am32 instead of am30.
1998-06-08 17:46:25 +00:00
Joyce Janczyn 7cb5d42660 Skeleton file for mn1030002 serial device implementation. 1998-06-08 17:34:04 +00:00
Joyce Janczyn 5f69de151a Fix typo. 1998-06-08 17:28:08 +00:00
Joyce Janczyn 7146013910 Fix interrupt settings for mn103002, not mn10300 implementation. 1998-06-08 17:27:10 +00:00
Joyce Janczyn 6adf5185c1 * interp.c: (mn10300_option_handler): New function parses arguments
using sim-options.
start-sanitize-am30
	* (board): Add --board option for specifying am32.
	* (sim_open): Create new timer and serial devices and control
	configuration of other am32 devices via board option.
end-sanitize-am30
1998-06-08 17:23:11 +00:00
Joyce Janczyn 7f1e9a13b2 Add new devices: mn103tim and mn103ser. 1998-06-08 17:18:02 +00:00
James Lemke 037f29c526 Added support for the VU insn D (debug) & T (trace) bits. 1998-06-04 20:50:55 +00:00
Frank Ch. Eigler da040f2a6c * Early check-in of tx3904 timer sim implementation for ECC.
It is not yet properly tested.
Thu Jun  4 15:37:33 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* dv-tx3904tmr.c: New file - implements tx3904 timer.
	* dv-tx3904{irc,cpu}.c: Mild reformatting.
	* configure.in: Include tx3904tmr in hw_device list.
	* configure: Rebuilt.
	* interp.c (sim_open): Instantiate three timer instances.
	Fix address typo of tx3904irc instance.
1998-06-04 12:43:45 +00:00
Andrew Cagney 0e797366ef The r5900 doesn't have HI/LO DIV/MUL register problems. Hobble
checks on hi/lo usage but retain functions so that they can be used
for HI/LO stall counting code.
1998-06-04 08:46:56 +00:00
Andrew Cagney 05f6bf9cea Memory corruption problems - hw-event list wasn't correct
unlinking/freeing events.  Couldn't handle the removal of a hw-event
that just been scheduled.
1998-06-04 06:33:02 +00:00
Mark Alexander 7d146b765c * interf.c (sim_open): Use revamped memory_read, which makes
byte-swapping unnecessary.  Add -sparclite-board option for
	emulating RAM found on typical SPARClite boards.  Print
	error message for unrecognized option.
	* erc32.c: Change RAM address and size from constants to variables,
	to allow emulation of SPARClite board RAM.
	(fetch_bytes, store_bytes): New helper functions for revamped
	mememory_read and memory_write.
	(memory_read, memory_write): Rewrite to store bytes in target
	byte order instead of storing words in host byte order; this
	greatly simplifies support of little-endian programs.
	(get_mem_ptr): Remove unnecessary byte parameter.
	(sis_memory_write, sis_memory_read): Store words in target
	byte order instead of host byte order.
	(byte_swap_words): Remove, no longer needed.
	* sis.h ((byte_swap_words): Remove declaration, no longer needed.
	(memory_read): Add new sz parameter.
	* sis.c (run_sim): Use revamped memory_read, which makes
	byte-swapping unnecessary.
	* exec.c (dispatch_instruction): Use revamped memory_read, which
	makes byte-swapping and double-word fetching unnecessary.
	* func.c (sparclite_board): Declare new variable.
	(get_regi): Handle little-endian data.
	(bfd_load): Recognize little-endian SPARClite as having
	little-endian data.
1998-06-02 22:43:46 +00:00
Nick Clifton e3ace30a61 Allow simulator to work with Angel SWIs. 1998-06-02 22:23:52 +00:00
Ian Carmichael 4979c0a271 * Move the sanitize comments to the right place. 1998-06-02 21:04:49 +00:00
Ian Carmichael 8e3a0b599f * SYSCALL now uses exception vector.
* SKY: New memory mapping rules for k1seg, k0seg.
* Modified Files: ChangeLog.sky ChangeLog interp.c sim-main.c
1998-06-02 19:53:36 +00:00
Jason Molenda 7d449b448b Mon Jun 1 17:14:19 1998 Anthony Thompson (athompso@cambridge.arm.com)
* armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
        of ":tt" to catch stdin in addition to stdout.
        (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
        or success of lseek().

From PR 15839, modified a bit by me to appease my sense of style--but
not too much because I am lazy.
1998-06-02 00:18:31 +00:00
Frank Ch. Eigler 29b5afe9af * Small TX39-only patch for ECC.
Mon Jun  1 18:18:26 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* interp.c (decode_coproc): For TX39, add stub COP0 register #3,
	to allay warnings.
1998-06-01 16:29:43 +00:00
Jeff Law fb0ea2b9e1 * r5900.igen (rsqrt.s): Update based on r5900 ISA manual version 2.1.
(sqrt.s): Likewise.
1998-06-01 16:29:42 +00:00
Frank Ch. Eigler 22134bdb43 * sky test suite fixes.
Mon Jun  1 18:54:22 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* lib/sim-defs.exp (sim_run): Add possible environment variable
 	list to simulator run.
start-sanitize-sky
	* sim/sky/sky-defs.tcl: Use it.
	* sim/sky/t-pke2.vif1out: Update to match recent word-precise
 	tracking table change in sim/mips/sky-pke.c.
	* sim/sky/t-pke3.trc: Ditto.
	* sim/sky/t-pke4.vif0expect: Ditto.
end-sanitize-sky
Mon May 18 10:37:47 1998  Doug Evans  <devans@canuck.cygnus.com>
1998-06-01 16:09:52 +00:00
Andrew Cagney df26156d68 Match mips*tx39 not mipst*tx39. 1998-05-29 01:42:20 +00:00
Andrew Cagney 451a9c0587 Pull in preliminary versions of hw instances and handles from ../ppc 1998-05-25 11:33:28 +00:00
Andrew Cagney 48f83b1a2e Make hw-main.h the main header file for H/W devices. Like sim-main.h
Update dv-*.c
Replace *_callback with more correct. *_method. Update dv-*.c
1998-05-25 11:06:29 +00:00
Andrew Cagney c14db36dbb Add files hw-alloc.[hc] (mising from last CI)
Move set_* macro's from hw-base to hw-device.
1998-05-25 08:50:22 +00:00
Andrew Cagney 325a1ba876 Initialize/destory hw-properties within the hw-device. 1998-05-25 08:29:05 +00:00
Andrew Cagney 69be0d4cb8 Split out hw-alloc code. Add constructor and destructor for hw-alloc. 1998-05-25 08:18:03 +00:00
Andrew Cagney 39e953a722 Split out hw-event code. Clean up interface. Update all users. 1998-05-25 07:37:30 +00:00
Andrew Cagney 2f06c437e2 Clean up create/delete of hw-ports 1998-05-25 07:08:48 +00:00
Andrew Cagney f675744718 * hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
PROCESSOR and CIA arguments.
1998-05-25 06:44:39 +00:00
Andrew Cagney 1e1dcdf0d9 De-sanitize simulator hw. 1998-05-25 06:20:43 +00:00
Andrew Cagney ce82378189 Fix mips SWL on 64bit ISA when 32 bit word appears in second half of
64 bit bus.
Test.
1998-05-25 05:48:34 +00:00
Ron Unrau aa81c3ca99 * Initial support for "sim list vif[01]" 1998-05-24 13:06:09 +00:00
Andrew Cagney f872d0d643 Only enable H/W on some mips targets.
Move common hw-obj to Make-common
Pacify GCC
1998-05-22 05:23:04 +00:00
Andrew Cagney 32d41f6ddb Sanity clause 1998-05-22 02:08:26 +00:00
Andrew Cagney 56833aba59 Back out of hw-main _callback -> _descriptor changes 1998-05-22 01:12:06 +00:00
Gavin Romig-Koch 5e34097b8b gencode.c: Mark BEGEZALL as LIKELY. 1998-05-21 18:26:38 +00:00
Patrick Macdonald fab0ee0d0b * interp.c: modified name of GIF device
* sky-gpuif.[ch]:  IMT burst support and queue manipulation ( see
	                   ChangeLog.sky for complete details )
	* sky-gs.c: modified name of GIF device
1998-05-21 15:41:35 +00:00
Andrew Cagney 26feb3a83d Fix sign extension on 32 bit add/sub instructions. 1998-05-21 09:32:07 +00:00
Andrew Cagney 8404825993 * interp.c (sim_fetch_register): Convert internal r5900 regs to
target byte order
1998-05-21 08:18:21 +00:00
Andrew Cagney 643878d017 * sim-hw.c: Include ctype.h.
(do_hw_poll_read): Do not assume EAGAIN.
1998-05-21 08:17:31 +00:00
Jillian Ye e0459470a9 c_gen.pl: Added subroutine "print_comment"
and on/off option for "src line #"
1998-05-20 22:14:16 +00:00
Doug Evans 66f1864d7e * m32r-sim.h (PROFILE_COUNT_PARINSNS): New macro.
* mloopx.in (extract): Set abuf.addr for proper fill nop counting.
	(execute): Count parallel insns.
	* sim-if.c (print_m32r_misc_cpu): Print count.
	* sim-main.h (M32R_MISC_PROFILE): New member parallel_count.
1998-05-20 11:59:32 +00:00
Doug Evans 6f7833f035 * cgen-trace.c (first_insn_p): New static local.
(trace_insn_init): Set it.
	(trace_insn_fini): Use TRACE_PREFIX.
	(trace_insn): Rewrite to use trace_prefix.
	* sim-trace.c (trace_prefix): Don't print filename arg if NULL.
	Adjust width accordingly.

	* sim-profile.h (PROFILE_DATA): New member profile_any_p.
	(PROFILE_ANY_P,PROFILE_INSN_P,PROFILE_MEMORY): New macros.
	(PROFILE_SCACHE_P,PROFILE_PC_P,PROFILE_CORE_P): New macros.
	(PROFILE_COUNT_INSN,PROFILE_COUNT_READ,PROFILE_COUNT_WRITE): Simplify.
	(PROFILE_COUNT_CORE): Simplify.
	* sim-profile.c (profile_option_handler): Compute profile_any_p.
1998-05-20 11:43:00 +00:00
Doug Evans 6ebf4a9559 Zero bottom two bits of pc in jmp,jl insns.
* sem.c,sem-switch.c: Regenerate.
	* semx.c: Regenerate.
1998-05-20 07:54:31 +00:00
Doug Evans 6f1cadd0ce * cgen-ops.h (ADDCFSI): Fix typo. 1998-05-20 07:01:05 +00:00
Doug Evans f99354d0c0 * sim-if.c (do_trap): Treat traps 2-15 as hardware does. 1998-05-19 23:52:23 +00:00
Doug Evans 496b3694af * sim/sky/sky.ld: Delete file. 1998-05-18 17:38:48 +00:00
Frank Ch. Eigler 3fa454e95f * Monster patch - may destablize MIPS sims for a little while.
* Followup patch for SCEI PR 15853
* First check-in of TX3904 interrupt controller devices for ECC. [sanitized]
* First implementation of MIPS hardware interrupt emulation.
Mon May 18 18:22:42 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* configure.in (SIM_AC_OPTION_HARDWARE): Added common hardware
 	modules.  Recognize TX39 target with "mips*tx39" pattern.
	* configure: Rebuilt.
	* sim-main.h (*): Added many macros defining bits in
 	TX39 control registers.
	(SignalInterrupt): Send actual PC instead of NULL.
	(SignalNMIReset): New exception type.
	* interp.c (board): New variable for future use to identify
	a particular board being simulated.
	(mips_option_handler,mips_options): Added "--board" option.
	(interrupt_event): Send actual PC.
	(sim_open): Make memory layout conditional on board setting.
	(signal_exception): Initial implementation of hardware interrupt
 	handling.  Accept another break instruction variant for simulator
 	exit.
	(decode_coproc): Implement RFE instruction for TX39.
	(mips.igen): Decode RFE instruction as such.
start-sanitize-tx3904
	* configure.in (tx3904cpu,tx3904irc): Added devices for tx3904.
	* interp.c: Define "jmr3904" and "jmr3904debug" board types and
	bbegin to implement memory map.
	* dv-tx3904cpu.c: New file.
	* dv-tx3904irc.c: New file.
end-sanitize-tx3904
1998-05-18 15:55:05 +00:00
Doug Evans 991238c82b * cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
* genmloop.sh: Use them rather than static locals.
1998-05-17 00:50:07 +00:00
Doug Evans 17f382c9bf * erc32.c (close_port): Don't close stdin; it kills GDB.
(byte_swap_words): New function.
	* sis.h: (byte_swap_words): Declare.
	* interf.c (run_sim): Always fetch instructions as big-endian.
	* sis.c (run_sim): Ditto.
Move this c/l entry from ../ChangeLog.
1998-05-16 23:07:01 +00:00
Doug Evans 5f4c24c024 * sim-if.c (sim_stop): Update call to @cpu@_engine_stop.
(sim_sync_stop): New function.
1998-05-16 20:11:41 +00:00
Doug Evans ebd58f4dde * sim-engine.c (sim_engine_set_run_state): New function.
* sim-engine.h (sim_engine_set_run_state): Declare.
	* genmloop.sh (pending_reason,pending_sigrc): New static locals.
	(@cpu@_engine_stop): New args reason,sigrc.  All callers updated.
	(engine_resume): Reorganize.  Allow synchronous exit from main loop.
1998-05-16 19:51:12 +00:00
Doug Evans 882d99e4b6 * sim/m32r/allinsn.exp: Pass --m32rx-enable-special to gas.
* sim/m32r/misc.exp: Ditto.
1998-05-16 00:32:09 +00:00
Doug Evans a8981d6751 * Makefile.in (devices.o): Add dependencies.
* arch.h,cpu.c,cpu.h,cpuall.h: Regenerate.
	* sem-switch.c,sem.c: Regenerate.
	* mloop.in (execute): Update calls to TRACE_INSN_{INIT,FINI}.
	* cpux.c,cpux.h,modelx.c,semx.c: Regenerate.
	* m32rx.c (m32rx_model_mark_{busy,unbusy}_reg): New functions.
	* mloopx.in (execute): Update calls to TRACE_INSN_{INIT,FINI}.
1998-05-15 23:46:24 +00:00
Doug Evans bcb829fdbd * cgen-trace.c (trace_insn_init): New arg first_p.
All callers updated.
	(trace_insn_fini): New arg last_p.  All callers updated.
	* cgen-trace.h (trace_insn_init,trace_insn_fini): Update.
	(TRACE_INSN_INIT,TRACE_INSN_FINI): Update.
	* genmloop.sh (engine_resume): Update.
1998-05-15 23:31:22 +00:00
Joyce Janczyn 6cad239558 Run ranlib on installed copy of libsim.a. 1998-05-15 20:06:08 +00:00
Joyce Janczyn 08bae91baa Install libsim.a $(exec_prefix)/lib/lib[target]-sim.a as part of install-sim. 1998-05-15 19:05:28 +00:00
Mark Alexander f1a0162a28 * sis.h (uint64, int64): Define.
* exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes.
	* (mul64): Simplify calculation of negative result.
	* (div64): New helper function for 64-bit division.
	* (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV,
	and UDIVCC.
1998-05-15 06:23:04 +00:00
Doug Evans 02a0ec918f Tweak last entry. 1998-05-15 00:49:37 +00:00
Doug Evans 90ef07f2e5 * config/default.exp (CC,SIM): Delete.
* sky-defs.tcl (LDSCRIPT,SIM): Delete.
	(run_trc_test): Use sim_compile, sim_run.  Only delete temp files
	if testcase passed.
	(run_brn_test): Ditto.
1998-05-15 00:49:24 +00:00
Doug Evans 1461afc634 * sim/sky/sky.exp: Add runtest_file_p support. Don't print
unsupported message if not sky.
	* sim/sky/sky_sce.exp: Likewise.
1998-05-14 20:20:59 +00:00
Doug Evans 41ab9a4b7e * lib/sim-defs.exp (sim_run): Fix handling of output redirection.
New arg prog_opts.  All callers updated.
1998-05-14 18:50:37 +00:00
Andrew Cagney 3e8c1f2e16 More test cases. 1998-05-14 08:15:05 +00:00
Gavin Romig-Koch 7d2c0e8c97 * r5900.igen: Replace the calls and the definition of the
function check_op_hilo_hi1lo1 with the pair
	check_mult_hilo_hi1lo1 and check_mult_hilo_hi1lo1.
1998-05-13 18:30:15 +00:00
Gavin Romig-Koch afc5e7f23a * tx.igen (madd,maddu): Replace calls to check_op_hilo
with calls to check_div_hilo.
1998-05-13 18:14:09 +00:00
Gavin Romig-Koch 94dda41a0c * mips/mips.igen (check_op_hilo,check_mult_hilo,check_div_hilo):
Replace check_op_hilo with check_mult_hilo and check_div_hilo.
	Add special r3900 version of do_mult_hilo.
	(do_dmultx,do_mult,do_multu): Replace calls to check_op_hilo
	with calls to check_mult_hilo.
	(do_ddiv,do_ddivu,do_div,do_divu): Replace calls to check_op_hilo
	with calls to check_div_hilo.
1998-05-13 14:00:56 +00:00
Andrew Cagney 1a89994e08 * configure.in (SUBTARGET_R3900): Define for mipstx39 target.
Document a replacement.
1998-05-12 05:36:47 +00:00
Frank Ch. Eigler 24abdc9d31 * Fixing typo that caused infinite loop upon PKE MPG. 1998-05-11 16:15:22 +00:00
Doug Evans 801354e772 * lib/sim-defs.exp (sim_version): Simplify.
(sim_run): Implement.
	(run_sim_test): Use sim_run.
	(sim_compile): New proc.
1998-05-08 21:42:49 +00:00
Patrick Macdonald 55470cc7ef * Roll Alpha modifications into devo for sky-gpuif*/ sky-gs*/ interp.c
* Complete and informative details can be found in ChangeLog.sky
1998-05-07 19:14:28 +00:00
Frank Ch. Eigler a1d609b4fe * Changes to sky PKE sim to calculate word-precision source-addresses
for VU memory tracking tables.

Thu May  7 12:15:41 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* sky-pke.c (pke_pcrel_operand_bits): Compute word-resolution
	source address for UNPACK into VU MEM.
	(pke_code_mpg): Ditto for MPG into VU uMEM.
1998-05-07 17:50:18 +00:00
Frank Ch. Eigler 53307c2301 * Finish dropping sim/txvu directory. 1998-05-07 14:39:08 +00:00
Ron Unrau c939ffeb80 Initial Breakpoint support:
* sim-main.h: (struct _sim_cpu): add cur_device field.
          Define cur_device values, breakpoint value, and SIM_ENGINE_HALT_HOOK
        * interp.c (sim_open): initialize cur_device
        * sky-engine.c (engine_run): use cur_device to set current_cpu
        * sky-libvpe.c (vpecallms_cycle): add check for breakpoint
        * sky-hardware.h: delete NUMBER_CPUS
        * sky-hardware.c (attach_devices): create a memory mapped comm
          area for GDB/SIM interactions

misc:
        * sky-vu.c ({read,write}_vu_misc_reg): do default behavior for
          unknown regs instead of sim_io_error. MP reg is float (was missing
          cast).
1998-05-07 14:36:42 +00:00
Doug Evans eb00d70698 * sim-main.h (INSN_NAME): New arg `cpu'. 1998-05-07 02:45:07 +00:00
Doug Evans 433a8eafaa * Make-common (sim_main_headers): Sort.
(cgen-*.o): Add cgen-sim.h dependency.

	* sim-cpu.h: New file.  sim_cpu_base moved here.
	Move sim_cpu_lookup decl here.
	* sim-base.h: #include "sim-cpu.h".
	* sim-cpu.c: New file.
	* Make-common (sim_main_headers): Add sim-cpu.h.
	(sim-cpu.o): Add rule for.
1998-05-07 02:08:05 +00:00
Doug Evans d9fbbdfaa3 lotsa stuff, see ChangeLog 1998-05-06 22:39:35 +00:00
Doug Evans 40c680ba80 * sem-switch.c: Regenerate. Redo computed goto label handling.
* sem.c: Regenerate.  Call PROFILE_COUNT_INSN.
	* readx.c: Regenerate.  Redo computed goto label handling.
	* semx.c: Regenerate.  Call PROFILE_COUNT_INSN.  Finish profiling
	support.
	* Makefile.in (stamp-xcpu): Turn on profiling support.
1998-05-06 22:38:05 +00:00
Doug Evans 177dedfb88 * Makefile.in (m32r.o,mloop.o,cpu.o,model.o): Add decode.h dependency.
(m32rx.o,mloopx.o,cpux.o,modelx.o): Add decodex.h dependency.
	* decode.c,decode.h: Regenerate, introduces IDESC table.
	* mloop.in (extract16,extract32): Add IDESC support.
	Update names of semantic handler member names.
	(execute): Ditto.  Delete call to PROFILE_COUNT_INSN.
	* decodex.c,decodex.h: Regenerate, introduces IDESC table.
	* mloopx.in: Add IDESC support.
	Update names of semantic handler member names.
	Delete call to PROFILE_COUNT_INSN.
1998-05-06 22:37:14 +00:00