Commit graph

89 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
f99354d0c0 * sim-if.c (do_trap): Treat traps 2-15 as hardware does. 1998-05-19 23:52:23 +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
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
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
Doug Evans
77e0fb08e1 * Makefile.in: Replace @MAINT@ with $(CGEN_MAINT).
(CGEN_MAINT): New variable.
	* configure.in: Add support for --enable-cgen-maint.
	* configure: Regenerate.
1998-05-02 01:28:32 +00:00
Geoffrey Noer
9d45df1b8c Tue Apr 28 18:28:58 1998 Geoffrey Noer <noer@cygnus.com>
* common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
        AM_CYGWIN32 and AM_EXEEXT.
        * common/Make-common.in: set EXEEXT, add missing EXEEXTs
        to run and install-common rules.
        * common/configure: regenerate

And update all subdirectory ChangeLogs and configure files.
1998-04-29 01:44:23 +00:00
Nick Clifton
8b7197b6bc Rebuilt from latest cen files 1998-04-29 01:07:56 +00:00
Doug Evans
d9e3a135fa * cpu.c,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.
	* cpu.x,modelx.c,readx.c,semx.c: Regenerated.
	* mloopx.in: Update to use CGEN_INSN_NUM.
1998-04-27 22:42:22 +00:00
Doug Evans
e926707c80 * cpu.c,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.
	* cpu.x,modelx.c,readx.c,semx.c: Regenerated.
	* mloopx.in: Update to use CGEN_INSN_NUM.
1998-04-27 22:41:32 +00:00
Tom Tromey
5da9ce07eb * configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
	* acconfig.h: New file.
	* configure.in: Reverted change of Apr 24; use sinclude again.
1998-04-26 22:03:55 +00:00
Tom Tromey
b1df34b9ed * configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
	* configure.in: Don't call sinclude.
1998-04-24 20:39:48 +00:00
Doug Evans
970a8fd6c3 * 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.
1998-04-20 23:20:22 +00:00
Doug Evans
94a5989b24 * semx.c: Regenerate.
PR 15693.
1998-04-14 21:07:45 +00:00
Doug Evans
e0a85af6eb * 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.
Main change is to remove ordinal from format names.
1998-04-11 01:26:47 +00:00
Andrew Cagney
278bda4050 Cleanup INLINE support for simulators using common framework.
Make IGEN responsible for co-ordinating inlining of generated files.
By default, aclocal.m4 disabled all inlining.
1998-04-04 12:33:11 +00:00
Doug Evans
b01a8697e2 * 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.
start-sanitize-m32rx
	* semx.c: Regenerate.
end-sanitize-m32rx
1998-03-15 05:15:18 +00:00
Doug Evans
599bae2187 * 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.
1998-03-04 21:22:09 +00:00
Doug Evans
83d9ce0029 * cpu.h,model.c,sem-switch.c,sem.c: Regenerate.
* cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate.
1998-03-04 20:14:51 +00:00
Andrew Cagney
0e701ac37b Add generic sim-info.c:sim_info() function using module mechanism.
Clean up compile probs in mips/vr5400.
1998-02-28 02:51:06 +00:00
Doug Evans
2e7236783e * mloopx.in: Fix handling of branch in parallel with another insn.
* semx.c: Regenerate.
1998-02-27 18:24:00 +00:00
Doug Evans
02310b01ca * 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.
1998-02-23 21:36:15 +00:00
Nick Clifton
677c3439a7 Implment backup PC shadowing of CR6. 1998-02-23 20:31:19 +00:00
Doug Evans
cab581557e * 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.
1998-02-20 00:45:47 +00:00
Doug Evans
b8641a4d20 * 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.
1998-02-18 02:26:47 +00:00
Andrew Cagney
fbb8b6b9ab For sim_fetch_register / sim_store_register: Add LENGTH parameter,
return actual size of register, 0 if not applicable, -1 of legacy
implementation.
1998-02-17 04:06:38 +00:00
Doug Evans
02e565a270 * sim-main.h (CIA_GET,CIA_SET): Provide dummy definitions for now. 1998-02-12 03:55:30 +00:00
Doug Evans
e0bd6e186c * 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.
1998-02-12 02:54:20 +00:00
Doug Evans
dc4e95adcc * decode.c, sem.c: Regenerate.
start-sanitize-m32rx
	* 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.
end-sanitize-m32rx
1998-02-10 03:51:12 +00:00
Doug Evans
d542677191 Sanitize m32rx from cpu.h and m32r-sim.h. 1998-02-05 21:16:08 +00:00
Doug Evans
b8a9943dd4 * 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.
start-sanitize-m32rx
	* 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.
end-sanitize-m32rx
1998-02-05 21:01:06 +00:00
Andrew Cagney
412c4e940e Add config support for the size of the target address and OF cell. 1998-01-31 14:07:23 +00:00