2001-03-05 Dave Brolley arch.c: Regenerate. arch.h: Regenerate. cpu.c: Regenerate. cpu.h: Regenerate. cpuall.h: Regenerate. cpux.c: Regenerate. cpux.h: Regenerate. decode.c: Regenerate. decode.h: Regenerate. decodex.c: Regenerate. decodex.h: Regenerate. model.c: Regenerate. modelx.c: Regenerate. sem-switch.c: Regenerate. sem.c: Regenerate. semx-switch.c: Regenerate. 2001-01-12 Frank Ch. Eigler * configure: Regenerated with sim_scache fix. 2000-11-18 Greg McGary * Makefile.in: remove `@true' commands for rules that have $(CGEN_MAINT) as a prerequisite. 2000-10-06 Dave Brolley * sem.c: Regenerated. * sem-switch.c: Regenerated. * semx-switch.c: Regenerated. 2000-08-28 Dave Brolley * Makefile.in: Use of @true confuses VPATH. Remove it. * cpu.h: Regenerated. * cpux.h: Regenerated. * decode.c: Regenerated. * decodex.c: Regenerated. * model.c: Regenerated. * modelx.c: Regenerated. * sem-switch.c: Regenerated. * sem.c: Regenerated. * semx-switch.c: Regenerated. 2000-08-21 Frank Ch. Eigler * Makefile.in (m32r-clean): Add stamp-arch, stamp-cpu. (stamp-arch, stamp-cpu): New targets. Tue May 23 21:39:23 2000 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. 2000-03-30 Dave Brolley * configure: Regenerated. 1999-10-04 Doug Evans * arch.c,arch.h,cpuall.h: Rebuild. * cpux.h,decodex.c,decodex.h,modelx.c,semx-switch.c: Rebuild. 1999-09-29 Doug Evans * mloop.in: Update call to sim_engine_invalid_insn. * sem.c,sem-switch.c: Rebuild. * traps.c (sim_engine_invalid_insn): New arg `vpc'. Change type of result to SEM_PC. Return vpc. * mloopx.in: Ditto. * semx-switch.c: Rebuild. Wed Sep 29 14:47:20 1999 Dave Brolley * traps.c (sim_engine_invalid_insn): Return PC. Thu Sep 2 18:15:53 1999 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. 1999-09-01 Doug Evans * decodex.c: Rebuild. 1999-08-28 Doug Evans * sem.c: Rebuild * cpux.h: Rebuild. 1999-08-09 Doug Evans * cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild. * cpux.h,decodex.c,decodex.h,modelx.c,semx-switch.c: Rebuild. 1999-08-04 Doug Evans * m32r-sim.h (SEM_SKIP_INSN): Delete. * cpu.h,cpuall.h,decode.c,model.c,sem-switch.c,sem.c: Rebuild. * cpux.h,decodex.c,modelx.c,semx-switch.c: Rebuild. * mloopx.in (emit_parallel): Call SEM_SKIP_COMPILE. (emit_full_parallel): Ditto. 1999-05-08 Felix Lee * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Apr 16 16:47:43 1999 Doug Evans * devices.c (device_io_read_buffer): New arg `sd'. (device_io_write_buffer): New arg `sd'. (device_error): Give proper arg spec. 1999-04-10 Doug Evans * sem-switch.c,sem.c: Rebuild. * cpux.h,semx-switch.c: Rebuild. 1999-03-27 Doug Evans * decode.c: Rebuild. * decodex.c: Rebuild. 1999-03-26 Doug Evans * m32r-sim.h (M32R_DEVICE_LEN): Fix off by one error. 1999-03-22 Doug Evans * arch.c,arch.h,model.c: Rebuild. * modelx.c: Rebuild. * m32r-sim.h (a_m32r_h_gr_get,a_m32r_h_gr_set): Declare. (a_m32r_h_cr_get,a_m32r_h_cr_set): Declare. * m32r.c (m32rbf_fetch_register): Replace calls to a_m32r_h_pc_get, a_m32r_h_accum_get with appropriate calls to m32rbf_*. (m32rbf_store_register): Ditto. (a_m32r_h_gr_get,a_m32r_h_gr_set): New functions. (a_m32r_h_cr_get,a_m32r_h_cr_set): Ditto. * sim-if.c (sim_open): Update call to m32r_cgen_cpu_open. * traps.c (m32r_core_signal): Replace calls to a_m32r_h_*, with appropriate calls to m32rbf_*. 1999-03-11 Doug Evans * arch.c,arch.h,cpu.c,cpu.h,sem.c,sem-switch.c: Rebuild. * cpux.c,cpux.h,semx-switch.c: Rebuild. * m32r-sim.h (GET_H_*,SET_H_*, except GET_H_SM): Delete. * sim-if.c (sim_open): Update call to m32r_cgen_cpu_open. 1999-02-25 Doug Evans * cpu.c,cpu.h: Rebuild. 1999-02-09 Doug Evans * Makefile.in (SIM_EXTRA_DEPS): Add m32r-desc.h, delete cpu-opc.h. (stamp-xmloop): s/-parallel/-parallel-write/. * configure.in (sim_link_files,sim_link_links): Delete. * configure: Rebuild. * decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild. * decodex.c,decodex.h,modelx.c,semx-switch.c: Rebuild. * mloop.in (execute): CGEN_INSN_ATTR renamed to CGEN_INSN_ATTR_VALUE. * sim-if.c (sim_open): m32r_cgen_cpu_open renamed from m32r_cgen_opcode_open. Set disassembler. (sim_close): m32r_cgen_cpu_open renamed from m32r_cgen_opcode_open. * sim-main.h: Don't include cpu-opc.h,cpu-sim.h. Include m32r-desc.h,m32r-opc.h,m32r-sim.h. Thu Feb 4 16:04:26 1999 Doug Evans * cpux.h,decodex.c,modelx.c,semx-switch.c: Regenerate. 1999-01-27 Doug Evans * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Rebuild. * cpux.h,decodex.c,modelx.c,semx-switch.c: Rebuild. 1999-01-15 Doug Evans * decode.h,model.c: Regenerate. * decodex.h,modelx.c: Regenerate. 1999-01-14 Doug Evans * arch.c,arch.h,cpuall.h: Regenerate. * cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate. * traps.c (sim_engine_invalid_insn): PCADDR->IADDR. * cpux.c,cpux.h,decodex.c,decodex.h,modelx.c,semx-switch.c: Regenerate. 1999-01-11 Doug Evans * Makefile.in (m32r-clean): rm eng.h. * sim-main.h: Delete inclusion of ansidecl.h. * cpu.h: Regenerate. * cpux.h: Regenerate. 1999-01-06 Doug Evans * cpu.h: Regenerate. * cpux.h: Regenerate. 1999-01-05 Doug Evans * 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. * cpu.c,cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate. * m32r-sim.h (m32rbf_h_cr_[gs]et_handler): Declare. ([GS]ET_H_CR): Define. (m32rbf_h_psw_[gs]et_handler): Declare. ([GS]ET_H_PSW): Define. (m32rbf_h_accum_[gs]et_handler): Declare. ([GS]ET_H_ACCUM): Define. (m32rxf_h_{cr,psw,accum}_[gs]et_handler): Declare. (m32rxf_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. 1998-12-14 Doug Evans * 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-09 Doug Evans * cpu.h,decode.c,sem-switch.c,sem.c: Regenerate. * cpux.h,decodex.c,semx-switch.c: Regenerate. * sim-if.c: Include string.h or strings.h if present. 1998-12-04 Doug Evans * 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-11-22 Doug Evans * devices.c (device_io_write_buffer): Fix typo. * sim-if.c (sim_open): Hack in call to dv_sockser_install. * tconfig.in (HAVE_DV_SOCKSER): Add but comment out. 1998-11-18 Doug Evans * Makefile.in (M32R_OBJS): Delete extract.o. (extract.o): Delete. * 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. * 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. Wed Nov 4 23:55:37 1998 Doug Evans * 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. Mon Oct 19 14:13:05 1998 Doug Evans * 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. * 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. Fri Oct 16 09:15:29 1998 Doug Evans * sim-if.c (sim_do_command): Handle "sim info reg {bbpsw,bbpc}". Fri Oct 9 16:11:58 1998 Doug Evans 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. * 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. * Makefile.in (M32RX_OBJS): Delete semx.o, add extract.o. (mloopx.c): Build pseudo-basic-block version. (semx.o): Delete. (extractx.o): Add. * 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. Wed Sep 16 18:22:27 1998 Doug Evans * m32r-sim.h ({PSW,CBR,SPI,SPU,BPC,BBPSW,BBPC}_REGNUM): New macros. ({ACC1L,ACC1H}_REGNUM): New macros. (m32r_decode_gdb_ctrl_regnum): Add prototype. * m32r.c (m32r_decode_gdb_ctrl_regnum): New function. (m32r_fetch_register,m32r_store_register): Rewrite. * m32rx.c (m32rx_fetch_register,m32rx_store_register): Rewrite. Tue Sep 15 15:01:14 1998 Doug Evans * 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. Wed Sep 9 15:29:36 1998 Doug Evans * 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. Mon Aug 3 12:59:17 1998 Doug Evans Rename cpu m32r to m32rb to distinguish from architecture name. * Makefile.in (mloop.c): cpu m32r renamed to m32rb. * 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. * Makefile.in (INCLUDE_DEPS): Add include/opcode/cgen.h. * sim-if.c (sim_open): Open opcode table. (sim_close): Close it. Tue Jul 28 13:06:19 1998 Doug Evans 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. Fri Jul 24 13:00:29 1998 Doug Evans * 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. Tue Jul 21 16:53:10 1998 Doug Evans * cpu.h,extract.c: Regenerate. pc-rel calcs done on f_dispNN now. * cpux.h,readx.c,semx.c: Ditto. Wed Jul 1 16:51:15 1998 Doug Evans * 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. Sat Jun 13 07:49:23 1998 Doug Evans * 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. Wed Jun 10 17:39:29 1998 Doug Evans * 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. * m32r-sim.h (m32r_trap): 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. * extract.c,sem-switch.c,sem.c: Regenerate. * cpux.h,readx.c,semx.c: Regenerate. Wed May 20 00:10:40 1998 Doug Evans * 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. Zero bottom two bits of pc in jmp,jl insns. * sem.c,sem-switch.c: Regenerate. * semx.c: Regenerate. Tue May 19 16:45:33 1998 Doug Evans * sim-if.c (do_trap): Treat traps 2-15 as hardware does. Sat May 16 13:04:30 1998 Doug Evans * sim-if.c (sim_stop): Update call to @cpu@_engine_stop. (sim_sync_stop): New function. Fri May 15 16:43:27 1998 Doug Evans * 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}. Fix pc value passed to TRACE_INSN for second parallel insn. Thu May 7 02:51:35 1998 Doug Evans * Makefile.in (SIM_OBJS): Add sim-cpu.o. Wed May 6 14:51:39 1998 Doug Evans * arch.h,arch.c,cpu.h,cpuall.h: Regenerate, tweaks mostly. * model.c: Ditto. Reorganize model/mach data. * cpux.h: Ditto. * modelx.c: Ditto. * 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. * 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. * m32r.c (m32r_fetch_register): Change result type and args to conform to sim_fetch_register interface. (m32r_store_register): Ditto for sim_store_register interface. * m32rx.c (m32rx_fetch_register): Change result type and args to conform to sim_fetch_register interface. (m32rx_store_register): Ditto for sim_store_register interface. * sim-if.c (alloc_cpu): Delete. (free_state): Uninstall modules here ... (sim_open): ... and not here. Call sim_cpu_alloc_all. Set default architecture/model if not specified. (sim_fetch_register,sim_store_register): Rewrite. * sim-if.c (h_pc_get,h_pc_set): Delete. Renamed to sim_pc_[gs]et and moved to common/sim-cpu.c. (sim_create_inferior): Update. (do_trap): Update. * sim-main.h (h_pc_get,h_pc_set): Delete. * sim-main.h (sim_cia): Change to USI. (sim_cpu): Move m32r_misc_profile before machine generated part. Tue Apr 28 18:33:31 1998 Geoffrey Noer * configure: Regenerated to track ../common/aclocal.m4 changes. Tue Apr 28 18:05:53 1998 Nick Clifton * model.c: Rebuilt. * modelx.c: Rebuilt. Mon Apr 27 15:36:30 1998 Doug Evans * cpu.h,model.c,sem-switch.c,sem.c: Regenerated. Mostly comment and variable renaming due to macro insn additions. * mloop.in: Update to use CGEN_INSN_NUM. * cpux.h,modelx.c,readx.c,semx.c: Regenerated. * mloopx.in: Update to use CGEN_INSN_NUM. Sun Apr 26 15:31:55 1998 Tom Tromey * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Sun Apr 26 15:20:05 1998 Tom Tromey * acconfig.h: New file. * configure.in: Reverted change of Apr 24; use sinclude again. Fri Apr 24 14:16:40 1998 Tom Tromey * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Fri Apr 24 11:19:26 1998 Tom Tromey * configure.in: Don't call sinclude. Mon Apr 20 16:12:35 1998 Doug Evans * cpu.c,sem.c,sem-switch.c: Regenerate. From - cgen/m32r.cpu (h-accum): Add attribute FUN-ACCESS. * m32r.c (m32r_h_accum_get,m32r_h_accum_set): New functions. #include cgen-ops.h. * cpux.c,readx.c,semx.c: Regenerate. * m32rx.c (m32r_h_accum_get,m32r_h_accum_set): New functions. #include cgen-ops.h. Delete inclusion of several unnecessary headers. (m32r_h_accums_get): Sign extend top 8 bits. Tue Apr 14 14:04:07 1998 Doug Evans * semx.c: Regenerate. Fri Apr 10 18:22:41 1998 Doug Evans * cpu.h,decode.c,decode.h,extract.c,sem.c,sem-switch.c: Regenerate. * cpux.h,decodex.c,decodex.h,readx.c,semx.c: Regenerate. Sat Apr 4 20:36:25 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Mar 27 16:15:52 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Mar 25 12:35:29 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Mar 18 12:38:12 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Sat Mar 14 20:53:36 1998 Doug Evans * config.in (HAVE_FCNTL_H): Add. * configure: Regenerate. * Makefile.in (SIM_OBJS): Add devices.o. * m32r-sim.h (m32r_devices): Renamed from m32r_mspr_device. (UART_*): Define m32r serial port parameters. (M32R_DEVICE_ADDR,M32R_DEVICE_LEN): Define. * m32r.c (device_io_{read,write}_buffer,device_error): Move from here, * devices.c: To here. * sim-if.c: Don't include signal.h,sim-core.h. (sim_open): Use M32R_DEVICE_{ADDR,LEN} in sim_core_attach call. (sim_resume): Call sim_module_{resume,suspend}. * m32r.c (m32r_h_cr_{get,set}): Use register number enums. * tconfig.in (SIM_HANDLES_LMA): Define. * sim-if.c (do_trap): Result is new pc. Handle --environment=operating. * sem-switch.c,sem.c: Regenerate. * semx.c: Regenerate. Wed Mar 11 14:07:39 1998 Andrew Cagney * sim-if.c (syscall_read_mem, syscall_write_mem): Replace sim_core_*_map with read_map, write_map, exec_map resp. Wed Mar 4 11:36:51 1998 Doug Evans * Makefile.in (SIM_EXTRA_DEPS): Add cpu-opc.h. (arch.o): Delete cpu-opc.h dependency. (decode.o,model.o): Likewise. (decodex.o,modelx.o): Likewise. * cpu.h,model.c,sem-switch.c,sem.c: Regenerate. * cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate. Thu Feb 26 18:38:35 1998 Andrew Cagney * sim-if.c (sim_open): Initialize PROFILE_INFO_CPU_CALLBACK. * sim-if.c (sim_info): Delete. Fri Feb 27 10:14:29 1998 Doug Evans * mloopx.in: Fix handling of branch in parallel with another insn. * semx.c: Regenerate. Mon Feb 23 13:30:46 1998 Doug Evans * sim-main.h: #include symcat.h. * m32r-sim.h (BRANCH_NEW_PC): Delete current_cpu arg. (NEW_PC_{BASE,SKIP,2,4,BRANCH_P}): New macros. * cpu.[ch],decode.[ch],extract.c,model.c: Regenerate. * sem.c,sem-switch.c: Regenerate. * m32r-sim.h (SEM_NEXT_PC): Modify to handle parallel exec. * mloopx.in: Rewrite. * cpux.[ch],decodex.[ch],readx.c,semx.c: Regenerate. Mon Feb 23 12:27:52 1998 Nick Clifton * m32r.c (m32r_h_cr_set, m32r_h_cr_get): Shadow control register 6 in the backup PC register. * m32rx.c (m32r_h_cr_set, m32r_h_cr_get): Shadow control register 6 in the backup PC register. Thu Feb 19 16:39:35 1998 Doug Evans * m32r.c (do_lock,do_unlock): Delete. * cpu.[ch],decode.[ch],extract.c,model.c: Regenerate. * sem.c,sem-switch.c: Regenerate. * cpux.[ch],decodex.[ch],readx.c,semx.c: Regenerate. Tue Feb 17 18:18:10 1998 Doug Evans * Makefile.in (M32R_OBJS): Add cpu.o. (cpu.o): Add rule for. (NL_TARGET): Define. * configure.in: Add AC_CHECK_PROG(SCHEME). * cpu.c: New file. * cpuall.h,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate. * sem-switch.c,sem.c: Regenerate. * mloop.in (execute): Update call to semantic fn. (M32RX_OBJS): Add cpux.o. (cpux.o): Add rule for. cpux.c: New file. * cpux.h,decodex.c,decodex.h,modelx.c,readx.c,semx.c: Regenerate. * m32rx.c (m32rx_h_accums_{get,set}): Rewrite. (m32rx_h_cr_{get,set}): New functions. (m32rx_h_accums_{get,set}): New functions. * mloopx.in: Rewrite main loop. * m32r.c (do_trap): Move from here. * sim-if.c (do_trap): To here, and rewrite to use CB_SYSCALL support. (sim_create_inferior): Use h_pc_set. (h_pc_{get,set}): New functions. (h_gr_{get,set}): New functions. (syscall_{read,write}_mem): New functions. * sim-main.h (h_{gr,pc}_{get,set}): Declare. Tue Feb 17 12:44:38 1998 Andrew Cagney * sim-if.c (sim_store_register, sim_fetch_register): Pass in length parameter. Return -1. (sim_create_inferior): Pass 4 sim_store_register. Wed Feb 11 19:53:48 1998 Doug Evans * sim-main.h (CIA_GET,CIA_SET): Provide dummy definitions for now. * decode.c, decode.h, sem.c, sem-switch.c, model.c: Regenerate. * cpux.c, decodex.c, decodex.h, readx.c, semx.c, modelx.c: Regenerate. Mon Feb 9 19:41:54 1998 Doug Evans * decode.c, sem.c: Regenerate. * cpux.h, decodex.c, readx.c, semx.c: Regenerate. * m32rx.c (m32rx_h_accums_set): New function. (m32rx_model_mark_[gs]et_h_gr): New function. * mloopx.in: Rewrite. * Makefile.in (mloopx.o): Build with -parallel. * sim-main.h (_sim_cpu): Delete member `par_exec'. * tconfig.in (WITH_SEM_SWITCH_FULL): Define as 0 for m32rx. Thu Feb 5 12:44:31 1998 Doug Evans * Makefile.in (m32r.o): Depend on cpu.h (extract.o): Pass -DSCACHE_P. * mloop.in (extract{16,32}): Update call to m32r_decode. * arch.h,cpu.h,cpuall.h,decode.[ch]: Regenerate. * extract.c,model.c,sem-switch.c,sem.c: Regenerate. * sim-main.h: #include "ansidecl.h". Don't include cpu-opc.h, done by arch.h. * Makefile.in (M32RX_OBJS): Build m32rx support now. (m32rx.o): New rule. * m32r-sim.h (m32rx_h_cr_[gs]et): Define. * m32rx.c (m32rx_{fetch,store}_register): Update {get,set} of PC. (m32rx_h_accums_get): New function. * mloopx.in: Update call to m32rx_decode. Rewrite exec loop. * cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate. Sun Feb 1 16:47:51 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Sat Jan 31 18:15:41 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Thu Jan 29 11:22:00 1998 Doug Evans * Makefile.in (M32RX_OBJS): Comment out until m32rx port working. * arch.h (HAVE_CPU_M32R{,X}): Delete, moved to m32r-opc.h. * arch.c (machs): Check ifdef HAVE_CPU_FOO for each entry. Tue Jan 20 14:16:02 1998 Nick Clifton * cpux.h: Fix duplicate definition of h_accums field for fmt_53_sadd structure. Tue Jan 20 01:42:17 1998 Doug Evans * Makefile.in: Add m32rx objs, and rules to build them. * cpux.h, decodex.h, decodex.c, readx.c, semx.c, modelx.c: New files. * m32rx.c, mloopx.in: New files. Mon Jan 19 22:26:29 1998 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Mon Jan 19 14:13:40 1998 Doug Evans * arch.c, arch.h, cpuall.h: New files. * arch-defs.h: Deleted. * mloop.in: Renamed from mainloop.in. * Makefile.in: Update. * sem-ops.h: Deleted. * mem-ops.h: Deleted. (arch): Renamed from CPU. * cpu.h: New file. * decode.c: Redone. * decode.h: Redone. * extract.c: Redone. * model.c: Redone. * sem-switch.c: Redone. * sem.c: Renamed from semantics.c, and redone. * m32r-sim.h (PROFILE_COUNT_FILLNOPS): Update. (GETTWI,SETTWI,BRANCH_NEW_PC): Define. * m32r.c (WANT_CPU,WANT_CPU_M32R): Define. (m32r_{fetch,store}_register): New functions. (model_mark_{get,set}_h_gr): Prefix with m32r_. (m32r_model_mark_{busy,unbusy}_reg): Prefix with m32r_. (h_cr_{get,set}): Prefix with m32r_. (do_trap): Fetch state from current_cpu, not current_state. Call sim_engine_halt instead of engine_halt. * sim-if.c (alloc_cpu): New function. (free_state): New function. (sim_open): Call sim_state_alloc, and malloc space for selected cpu type. Call sim_analyze_program. (sim_create_inferior): Handle selected cpu type when setting PC. (sim_resume): Handle m32rx. (sim_stop_reason): Deleted. (print_m32r_misc_cpu): Update. (sim_{fetch,store}_register): Handle m32rx. (sim_{read,write}): Deleted. (sim_engine_illegal_insn): New function. * sim-main.h: Don't include arch-defs.h,sim-core.h,sim-events.h. Include arch.h,cpuall.h. Include cpu.h,decode.h if m32r. Include cpux.h,decodex.h if m32rx. (_sim_cpu): Include member appropriate cpu_data member for the cpu. (M32R_MISC_PROFILE): Renamed from M32R_PROFILE. (sim_state): Delete members core,events,halt_jmp_buf. Change `cpu' member to be a pointer to the cpu's struct, rather than record inside the state struct. * tconfig.in (WITH_DEVICES): Define here. (WITH_FAST,WITH_SEM_SWITCH_{FULL,FAST}): Define for the cpu. Fri Jan 16 12:16:56 1998 Nick Clifton * arch-defs.h (INSN_NAME): Fix typo. Mon Dec 15 23:17:11 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Thu Dec 4 09:21:05 1997 Doug Evans * m32r-sim.h (MSPR_ADDR): New macro. (m32r_mspr_device): Declare. (struct _device): Define. * m32r.c (m32r_mspr_device): New global. (device_{io_{read,write}_buffer,error}): New functions. * mem-ops.h (SETMEM*): Use sim_core_write_map, not read map. * sim-if.c: Delete redundant inclusion of cpu-sim.h. (sim_open): Attach device to handle MSPR register. * sim-main.h (WITH_DEVICES): Define as 1. Include cpu-sim.h. * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Dec 3 18:08:44 1997 Doug Evans * configure.in (SIM_AC_OPTION_ENVIRONMENT): Call. * configure: Regenerated. Wed Nov 19 12:17:08 1997 Doug Evans * mem-ops.h: Rename SIM_SIG{ACCESS,ALIGN} to SIM_SIG{SEGV,BUS}. * sim-if.c (sim_open): Call sim_config. (sim_stop_reason): Update call to sim_signal_to_host. Tue Nov 18 15:33:48 1997 Doug Evans * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS). Fri Oct 31 18:46:46 1997 Andrew Cagney * sim-if.c (sim_open): Delete dead call to sim_core_attach. Mon Oct 27 12:43:54 1997 Doug Evans * sem-ops.h (U{DIV,MOD}[BHSD]I): Use unsigned division. Fri Oct 3 09:28:00 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Sep 24 17:38:57 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Tue Sep 23 11:04:38 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Tue Sep 23 10:19:51 1997 Andrew Cagney * Makefile.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_SCACHE, SIM_DEFAULT_MODEL): Delete, moved to common. (SIM_EXTRA_CFLAGS): Update. Mon Sep 22 11:46:20 1997 Andrew Cagney * configure.in (sim_link_links): Configure non-strict memory alignment. * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Sep 19 17:45:25 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Sep 17 17:44:40 1997 Andrew Cagney * sim-if.c (sim_open): Allocate memory under sim-memopt module using sim_do_commandf. (sim_open): Set magic-number at the start. (sim_do_command): Implement. * sim-main.h (sim_engine_halt): Map onto engine_halt. Mon Sep 15 17:36:15 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Thu Sep 4 17:21:23 1997 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Sep 5 10:21:48 1997 Andrew Cagney * Makefile.in (SIM_OBJS): Add sim-memopt.o module. Thu Sep 4 10:30:02 1997 Andrew Cagney * sim-if.c (sim_open): Pass zero modulo arg to sim_core_attach. Wed Aug 27 18:13:22 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Tue Aug 26 10:39:42 1997 Andrew Cagney * sim-if.c (sim_kill): Delete. (sim_create_inferior): Add ABFD argument. (sim_load): Move setting of PC from here. (sim_create_inferior): To here. (sim_load): Delete, use sim-hload.c instead. * Makefile.in (SIM_OBJS): Add sim-hload.o module. Mon Aug 25 17:50:22 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Mon Aug 25 15:54:08 1997 Andrew Cagney * sim-if.c (sim_open): Add ABFD argument. Tue Jul 22 10:16:16 1997 Doug Evans * sim-main.h (M32R_DEFAULT_MEM_SIZE): New macro. * sim-if.c (sim_open): Use it. Wed Jun 4 12:48:12 1997 Andrew Cagney * sim-main.h (WITH_ENGINE): Disable the common engine for now. Tue May 27 14:15:44 1997 Andrew Cagney * sim-if.c (sim_read): Pass NULL cpu to sim_core_read_buffer. (sim_write): Ditto for write. * m32r.c (do_trap): Ditto for read/write. Tue May 20 10:18:25 1997 Andrew Cagney * sim-if.c (sim_open): Add callback argument. (sim_set_callbacks, sim_callback): Delete. (sim_load): Set STATE_LOADED_P. Mon May 19 12:55:42 1997 Andrew Cagney * Makefile.in (SIM_OBJS): Link in sim-abort.o as a stub for sim_engine_abort. Mon May 5 12:45:28 1997 Andrew Cagney * sim-if.c (sim_open): Update to reflect changes to core in ../common/. * mem-ops.h (GETMEMQI, GETMEMHI, GETMEMSI, GETMEMDI, GETMEMUQI, GETMEMUHI, GETMEMUSI, GETMEMUDI, SETMEMQI, SETMEMHI, SETMEMSI, SETMEMDI, SETMEMUQI, SETMEMUHI, SETMEMUSI, SETMEMUDI): Ditto. Sat May 3 08:38:55 1997 Doug Evans * decode.c (decode): Add computed goto support. Fri May 2 16:30:26 1997 Andrew Cagney * mem-ops.h: Stub additional core read/write arguments. * sim-main.h: Declare sim_cia - type SI. (struct _sim_cpu): Move base type to end per common. (struct _sim_state): Ditto. Thu May 1 11:15:34 1997 Doug Evans Merge from branch into devo. CGEN generic files moved to common directory. K&R C support is no longer provided. Thu Apr 24 00:39:51 1997 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Sat Apr 12 12:57:33 1997 Felix Lee * Makefile.in, seman-cache.c: new file, for wingdb build. * sim-alloca.h: fixed for wingdb. Mon Apr 7 13:33:29 1997 Doug Evans * decode.c (*): m32r_cgen_insn_table renamed to ..._entries. * mainloop.in: Use CGEN_INSN_INDEX instead of CGEN_INSN_TYPE. * simdefs.h (INSN_NAME): m32r_cgen_insn_table renamed to ..._entries. Fri Apr 4 19:23:12 1997 Doug Evans * cgen-utils.in (ex_illegal): Fill in abuf->length, abuf->addr. (exc_illegal): Likewise. * decode.c (decode_vars): Add decode_illegal. * genmloop.sh: #include "cpu-opc.h". * sem-switch.c (case_INSN_ILLEGAL): Declare. (labels): Add case_INSN_ILLEGAL. (SWITCH): Add INSN_ILLEGAL case. Wed Mar 26 12:34:00 1997 Doug Evans * model.c (model_module): Use 0 not NULL. * genmloop.sh (sim_main_loop): Handle k&r c. * sem-switch.c: Regenerate to get k&r c support. * semantics.c: Likewise. * m32r.c (ADD_{OV,CA}_SI,SUB_{OV,CA}_SI): Renamed to {ADD,SUB}[OC]FSI. (ADDCSI,SUBCSI): New functions. * sem-switch.c (addv,addv3,addx,subv,subx): Fix carry bit handling. * semantics.c (addv,addv3,addx,subv,subx): Fix carry bit handling. * simcache.c (simcache_{install,init,uninstall}): Use DECLARE_MODULE_INSTALL_HANDLER. (simcache_option_handler): Use DECLARE_OPTION_HANDLER. * utils.c: #include "semops.h". Tue Mar 11 14:30:26 1997 Doug Evans * profile.c (profile_print_simcache): Fix thinko in printf text. * simdefs.h (struct argbuf): Add member to fmt_20 so it's not empty. Mon Mar 10 11:06:29 1997 Doug Evans * m32r.c (h_cr_get): Rewrite. (h_cr_set): Rewrite. * sem-switch.c (rte): bcarry renamed to bcond. * semantics.c (rte): Likewise. * simdefs.h (CPU_STATE): Likewise. * config.in (HAVE_SYS_TIME_H): Add. * configure.in: Check for sys/time.h. * configure: Regenerated. * utils.c: Include sys/time.h if present. * common.c (sim_parse_args): Account for NULL terminating entry in long_options table. * genmloop.sh (RUN_FAST_P): Don't run fast if tracing. Always use cache if configured in. * mainloop.in (do_extract_insn{16,32}): New functions. (normal,fast): Call them. Handle starting in left slot. * simcache.c (simcache_option_handler): Disallow -c0. * sem-switch.c (TRACE_RESULT): Redefine so no tracing. * profile.c (profile_print_simcache): Fix percentage calc. * Makefile.in (INCLUDE_DEPS): Delete simcommon.h. Sun Mar 9 20:42:17 1997 Doug Evans * Makefile.in (COMMON_{PRE,POST}_CONFIG_FRAG): Add delimiters for. (M32R_INCLUDE_DEPS): Use cpu-sim.h instead of m32r-sim.h. Add mod-list.h. (mrun.o): Don't depend on M32R_INCLUDE_DEPS. (sim-if.o,m32r.o,utils.o): Likewise. (common.o): Don't explicitly depend on mod-list.h. (mainloop.c): Pass CPU to genmloop.sh. (stamp-modules): Depend on configure. (decode.o): Depend on decode,h, memops.h, semops.h, cpu-opc.h. (extract.o): Depend on decode.h, memops.h, semops.h. (semantics.o,seman-cache.o): Likewise. (model.o,ops.o): Depend on memops.h. (extr-cache.o): Disable building for the moment. * simcommon.h: Delete, move contents into cgen-sim.h. * cgen-sim.h: Don't include ansidecl.h,bfd.h,simfns.h. (UINT,CGEN_CAT3): Define. ({extract,semantic}_fn_t): Renamed to {EXTRACT,SEMANTIC}_FN. (decode_t): Renamed to DECODE. * simfns.h: Delete, contents moved to memops.h,semops.h. * memops.h: New file. * semops.h: New file. * decode.h: Renamed from semantics.h. * sim-argv.h: New file. * Makefile.in (memory.o,trace.o,profile.o,simcache.o,common): Add dependency of sim-argv.h. * sim-alloca.h: New file. * common.c: Include it. * Makefile.in (common.o): Add dependency. * config.in (HAVE_TIME_H,HAVE_SYS_RESOURCE_H): Add. (HAVE_GETRUSAGE,HAVE_TIME): Add. * configure.in: sinclude ../common/aclocal.m4. Check for headers time.h, sys/resource.h. Check for functions time, getrusage. (sim_link_{files,links}): Add link cpu-opc.h. (sim_profile): Add simcache. (SIM_AC_PROFILE): Add simcache, profile.o. (simcache module): Delete extr-cache.o for now. (--enable-sim-cache): Allow specification of default cache size. * configure: Regenerated. * decode.c: #include cgen-sim.h,memops.h,semops.h,decode.h, cpu-sim.h,cpu-opc.h. Don't include m32r-sim.h. Regenerate. * extract.c: #include cgen-sim.h,decode.h,cpu-sim.h. Don't include m32r-sim.h. (*): Define/Undef FLD macro. Use it to reference ARGBUF. Simplify profiling test with PROFILE_MODEL_P. (mvfc,mvtc): Fix access of control registers. * semantic.c: #include cgen-sim.h,memops.h,semops.h,decode.h,cpu-sim.h. Don't include m32r-sim.h. (*): Define/Undef FLD macro. Use it to reference ARGBUF. Simplify profiling test with PROFILE_MODEL_P. (mvfc,mvtc): Fix access of control registers. * sem-switch.c: New file, for GCC computed goto support. * genmloop.sh: Add #include's of bfd.h,callback.h,cgen-sim.h, memops.h,semops.h,trace.h,cpu-sim.h. (RUN_FAST_P): Change default to run fast if cache size > 0 and not profiling. (sim_main_loop): Record execution time. Record instruction count even in fast mode. (init): Allow cpu to provide init code in mainloop.in. (FAST): Define as 0 or 1 depending on fast mode. * mainloop.in (normal): Combine with fast case. Add support for GCC computed gotos. Count simcache hits/misses. (init): Initialize "switch" labels if GNUC. * cgen-utils.in: Don't include opcode/cgen.h. Include cgen-sim.h, cpu-opc.h. * common.c: Don't include simcommon.h,mod-list.h. Include cgen-sim.h. * m32r-sim.h: Don't include mod-list.h (RUN_FAST_P): Delete. * m32r.c: Don't include profile.h. #include ansidecl.h,cgen-sim.h, semops.h,memory.h,trace.h (h_cr_get,h_cr_set): New functions. * memory.c: #include cgen-sim.h,callback.h. * ops.c: Don't include profile.h,m32r-sim.h. Include cgen-sim.h,memops.h,cpu-sim.h. (MEMOPS_DEFINE_INLINE): Renamed from SIMFNS_DEFINE_INLINE. * trace.c: Include cgen-sim.h,cpu-opc.h. * trace.h (trace_insn_{init,fini}): Declare. * model.c: Don't include signal.h,stdlib.h,m32r-sim.h. Include cgen-sim.h,cpu-sim.h,cpu-opc.h. Regenerate to get new insn aliases. * mrun.c: #include "ansidecl.h". (STATE): Use struct sim_state instead. * profile.c: Surround #include with HAVE_STDLIB_H. Don't include simcommon.h. Include cgen-sim.h,cpu-opc.h. (PROFILE_{READ,WRITE}_MASK): Replace with PROFILE_MEMORY_MASK. (profile_print_simcache): New function. (profile_print): Call it. Print simulator speed stats. * profile.h (PROFILE_{READ,WRITE}_MASK): Replace with PROFILE_MEMORY_MASK. (MODULE_PROFILE_SIMCACHE_P): Define. (PROFILE_SIMCACHE_MASK): Define. (PROFILE_COUNT): New members total_insn_count,exec_time. New members simcache_hits,simcache_misses. (PROFILE_SIMCACHE_{HITS,MISSES}): Define. (PROFILE_MODEL_P): New macro. (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): New macros. * sim-if.c: Surround #include with HAVE_STDLIB_H. Don't include simcommon.h,m32r-sim.h. Include cgen-sim.h,cpu-sim.h. (sim_resume): Use USING_SIMCACHE_P instead of RUN_FAST_P. (sim_info): Pass verbose to profile_print. * simcache.c: Include cgen-sim.h,callback.h. (USING_SIMCACHE_P): Replace with SIMCACHE_P. (simcache_option_handler): Ensure cache size at least 2. Allow config time specification of default cache size. * simcache.h (struct simcache): Support GCC computed gotos. (SIMCACHE_DEFAULT_CACHE_SIZE): USe CONFIG_SIM_CACHE_SIZE if defined. (USING_SIMCACHE_P): New macro. * simdefs.h: Don't include m32r-opc.h. (CGEN_MAX_SIM_INSNS): Define. (CPU_STATE): Regenerate. (ARGBUF): Regenerate. (extract,semantic handler decls): Delete, moved to decode.h. * tconfig.in: Don't include cgen-sim.h,m32r-sim.h. (USE_SEM_SWITCH): Define. * utils.c: Include bfd.h,time.h,sys/resource.h. (sim_time_get,sim_time_elapsed): New functions. * cgen-sim.h (SIM_TIME,sim_time_get,sim_time_elapsed): Declare. Fri Jan 31 20:25:06 1997 Doug Evans * configure.in (AC_CHECK_HEADERS): Handle i386-windows. * configure: Regenerated. * model.c: #include . * simcache.c: #include "libiberty.h". * simcommon.h (alloca): Handle i386-windows. * common.c: #include libiberty.h. (sim_signal_to_host): Return 5 if wingdb. Mon Jan 27 15:22:49 1997 Doug Evans * configure.in (sim_cache): Enabled by default now, pass default cache size to --enable-sim-cache. * simcache.c (simcache_option_handler): Allow -c 0. * simdefs.h,simfns.h: Regenerate * decode.c,extract.c,model.c,ops.c,semantics.c: Regenerate. Tue Jan 21 16:21:01 1997 Doug Evans Add model profiling support. * configure.in: Handle --enable-sim-model. (sim_profile): Add model. * Makefile.in (model.o): Add rule. * cgen-sim.h (UNIT,INSN_TIMING,MACH,MODEL): New types. * extract.c (*): Add model profiling support. * m32r.c (model_mark_{get,set}_h_gr): New functions. (model_mark_{busy,unbusy}_reg): New functions. * profile.c (profile_option_handler): Recognize --profile model. (profile_print_model): New function. (profile_print): Call it. * profile.h (MODULE_profile_model,MODULE_PROFILE_MODEL_P): Define. (PROFILE_MODEL_MASK,PROFILE_LABEL_WIDTH): Define. (PROFILE_COUNT): New members cycle_count,cti_stall_count, load_stall_count,taken_count,untaken_count. * semantics.c (*): Add model profiling support. * simcommon.h (struct sim_state): New members mach,model. * simdefs.h (CPU_PROFILE,MODEL_TYPE,UNIT_TYPE): New type. (MAX_MODELS,MAX_UNITS): Define. * tconfig.in (STATE_EXTRA_MEMBERS): Add cpu_profile. * Makefile.in (INCLUDE_DEPS): Add $(SIM_MODULES_HDRS). (stamp-modules): Depend on genmodlist.sh. * common.c (standard_options): Add --max-insns. (copy_argv): New function. * tconfig.in (SIM_HAVE_MAX_INSNS): Define. * genmloop.sh: Allow mainloop.in to contain support code. * mainloop.in: Move do_insn16,do_insn32 here. * m32r.c (do_trap): Handle SYS_argvlen,SYS_argv,SYS_read. * sim-if.c (sim_open): Don't set max insn count. (sim_create_inferior): Save argv,envp. * simcommon.h (struct sim_state): New members argv,envp. * simdefs.h ([GS]ETTWI,[GS]ETTUWI,[GS]ETTAI): Define. ([GS]ETMEMWI,[GS]ETMEMUWI,[GS]ETMEMAI): Define. (ARGBUF): New members h_gr_get, h_gr_set. * trace.c (trace_insn_init,trace_insn_fini): New functions. (trace_printf): Print to buffer, output later by trace_insn_fini. * trace.h (TRACE_INSN_{INIT,FINI}): Define. Thu Dec 19 16:01:59 1996 Doug Evans * configure.in (AC_FUNC_ALLOCA): Call. * configure: Regenerate. * config.h (HAVE_ALLOCA_H): Add. * simcommon.h: Add alloca support. (DECLARE_MODULE_INSTALL_HANDLER): Define. (DECLARE_OPTION_HANDLER): Define. (MEM_FN): Declare using PARAMS. (DECLARE_MEM_FN): Define. * trace.c (trace_result): Tweak for !STDC. * cgen-sim.h (UDI_FN_SUPPORT): Define if ! HAVE_LONGLONG. * cgen-utils.in (disasm_sprintf): Fix va_arg call in !STDC case. * common.c (sim_print_help_fn): Use PARAMS. (standard_option_handler): Fix decl for !STDC systems. * memory.c: #include (mem_flat_{install,init,uninstall}): Fix decl for !STDC systems. (mem_flat_{read,write},mem_flat_option_handler): Likewise. * profile.c (profile_install): Likewise. (profile_option_handler): Likewise. Thu Dec 19 11:06:19 1996 Doug Evans * semantics.c (*): Don't suffix big unsigned numbers with "U". Prefix them with 0x instead. * cgen-sim.h (DI_FN_SUPPORT): Define if ! HAVE_LONGLONG. (SLADI,SRADI,CONVSIDI,CONVDISI): Delete, moved to simfns.h. * semantics.c (machi,maclo,macwhi,macwlo,mulhi,mullo): Implement. (mulwhi,mulwlo,mvtachi,mvtaclo,rac,rach): Implement. * simfns.h: Add decls for functional DI,UDI,SF,DF,XF,TF support. Add support for boolean and/or. * utils.c: Redo naming of DI functional support. (ANDDI,ORDI,ADDDI,MULDI,GEDI,LEDI,CONVHIDI): New functions. Tue Dec 17 12:57:48 1996 Doug Evans * Directory created.