2002-06-16  Andrew Cagney  <ac131313@redhat.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

2001-11-14  Dave Brolley  <brolley@redhat.com>

	* arch.c: Regenerate.
	* arch.h: Regenerate.
	* cpu.c: Regenerate.
	* cpu.h: Regenerate.
	* cpuall.h: Regenerate.
	* decode.c: Regenerate.
	* decode.h: Regenerate.
	* model.c: Regenerate.
	* sem-switch.c: Regenerate.
	* sem.c: Regenerate.

2001-07-05  Ben Elliston  <bje@redhat.com>

	* Makefile.in (stamp-arch): Use $(CGEN_CPU_DIR).
	(stamp-cpu): Likewise.

2001-03-05  Dave Brolley  <brolley@redhat.com>

	* arch.c: Regenerate.
	* arch.h: Regenerate.
	* cpu.c: Regenerate.
	* cpu.h: Regenerate.
	* cpuall.h: Regenerate.
	* decode.c: Regenerate.
	* decode.h: Regenerate.
	* model.c: Regenerate.
	* sem-switch.c: Regenerate.
	* sem.c: Regenerate.

2001-01-12  Frank Ch. Eigler  <fche@redhat.com>

	* configure: Regenerated with sim_scache fix.

2000-11-18  Greg McGary  <greg@mcgary.org>

	* Makefile.in: remove `@true' commands for rules that have
	$(CGEN_MAINT) as a prerequisite.

2000-10-06  Dave Brolley  <brolley@redhat.com>

	* sem.c: Regenerated.
	* sem-switch.c: Regenerated.

2000-08-28  Dave Brolley  <brolley@redhat.com>

	* cpu.h: Regenerated.
	* decode.c: Regenerated.

2000-08-21  Frank Ch. Eigler  <fche@redhat.com>

	* Makefile.in (fr30-clean): Add stamp-arch, stamp-cpu.
	(stamp-arch, stamp-cpu): New targets.

Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

2000-03-30  Dave Brolley  <brolley@redhat.com>

	* configure: Regenerated.

1999-10-04  Doug Evans  <devans@casey.cygnus.com>

	* sem.c,sem-switch.c: Rebuild.
	* traps.c (sim_engine_invalid_insn): New arg `vpc'.  Change type of
	result to SEM_PC.  Return vpc.

Wed Sep 29 14:45:32 1999  Dave Brolley  <brolley@cygnus.com>

	* traps.c (sim_engine_invalid_insn): Return PC.

Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

1999-08-31  Doug Evans  <devans@casey.cygnus.com>

	* sem.c: Rebuild.

1999-08-09  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild.

1999-08-04  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,cpuall.h,decode.c,model.c,sem-switch.c,sem.c: Rebuild.

1999-07-06  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,decode.h,model.c,sem-switch.c,sem.c: Rebuild.

1999-05-08  Felix Lee  <flee@cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	
Fri Apr 16 16:50:31 1999  Doug Evans  <devans@charmed.cygnus.com>

	* 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  <devans@casey.cygnus.com>

	* cpu.h,sem-switch.c,sem.c: Rebuild.

1999-03-27  Doug Evans  <devans@casey.cygnus.com>

	* decode.c: Rebuild.

1999-03-22  Doug Evans  <devans@casey.cygnus.com>

	* arch.c,arch.h,model.c: Rebuild.
	* fr30.c (fr30bf_fetch_register): Replace calls to a_fr30_h_* with
	calls to fr30bf_h_*.
	(fr30bf_store_register): Ditto.
	* traps.c (setup_int): Ditto.
	* sim-if.c (sim_open): Update call to fr30_cgen_cpu_open.

Mon Mar 22 13:13:05 1999  Dave Brolley  <brolley@cygnus.com>

	* configure.in: Use SIM_AC_OPTION_ALIGNMENT(FORCED_ALIGNMENT).
	* configure: Regenerate.
	* cpu.h: Regenerate.

1999-03-11  Doug Evans  <devans@casey.cygnus.com>

	* arch.c,arch.h,cpu.c,cpu.h: Rebuild.
	* fr30-sim.h (GET_H_SBIT,SET_H_SBIT): Delete.
	(GET_H_CCR,SET_H_CCR,GET_H_SCR,SET_H_SCR,GET_H_ILM,SET_H_ILM): Delete.
	(GET_H_PS,SET_H_PS,GET_H_DR,SET_H_DR): Delete.
	* sim-if.c (sim_open): Update call to fr30_cgen_cpu_open.

1999-02-25  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h: Rebuild.

1999-02-09  Doug Evans  <devans@casey.cygnus.com>

	* Makefile.in (SIM_EXTRA_DEPS): Add fr30-desc.h, delete cpu-opc.h.
	* configure.in (sim_link_files,sim_link_links): Delete.
	* configure: Rebuild.
	* decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild.
	* fr30.c (fr30bf_model_fr30_1_u_cti): CGEN_INSN_ATTR renamed to
	CGEN_INSN_ATTR_VALUE.
	* mloop.in (extract-pbb): Ditto. Use idesc->length to get insn length.
	* sim-if.c (sim_open): fr30_cgen_cpu_open renamed from
	fr30_cgen_opcode_open.  Set disassembler.
	(sim_close): fr30_cgen_cpu_open renamed from fr30_cgen_opcode_open.
	* sim-main.h: Don't include cpu-opc.h,cpu-sim.h. Include
	fr30-desc.h,fr30-opc.h,fr30-sim.h.

1999-01-27  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,decode.c,model.c,sem-switch.c,sem.c: Rebuild.

1999-01-15  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,decode.h,model.c: Regenerate.
	* fr30.c (fr30bf_model_insn_before): Clear load_regs_pending.
	(fr30bf_model_insn_after): Copy load_regs_pending to load_regs.
	(fr30bf_model_fr30_1_u_exec): Check for load stalls.
	(fr30bf_model_fr30_1_u_{cti,load,store}): Ditto.

1999-01-14  Doug Evans  <devans@casey.cygnus.com>

	* arch.c,arch.h,cpuall.h: Regenerate.
	* cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate.
	* devices.c (device_io_write_buffer): Remove some m32r cruft.
	* fr30-sim.h (FR30_MISC_PROFILE): Delete, plus supporting macros.
	(EIT_*,MSPR_*,MLCR_*,MPMR_*): Delete, m32r cruft.
	* fr30.c (fr30bf_model_insn_after): Update cycle counts.
	(check_load_stall): New function.
	(fr30bf_model_fr30_1_u_exec): Update argument list.
	(fr30bf_model_fr30_1_u_{cti,load,store,ldm,stm}): New functions.
	* sim-if.c (sim_open): Comment out memory mapped device allocation.
	Delete FR30_MISC_PROFILE handling.
	(print_fr30_misc_cpu): Delete.
	* sim-main.h (_sim_cpu): Delete member fr30_misc_profile.
	* traps.c (sim_engine_invalid_insn): PCADDR->IADDR.

1999-01-11  Doug Evans  <devans@casey.cygnus.com>

	* Makefile.in (fr30-clean): rm eng.h.

	* sim-main.h: Delete inclusion of ansidecl.h.
	Include sim-basics.h before cgen-types.h.
	Delete inclusion of cgen-scache.h,cgen-cpu.h,cgen-trace.h,cpuall.h.
	* cpu.h,sem-switch.c,sem.c: Regenerate.

1999-01-05  Doug Evans  <devans@casey.cygnus.com>

	* Makefile.in (MAIN_INCLUDE_DEPS): Delete.
	(INCLUDE_DEPS,OPS_INCLUDE_DEPS): Delete.
	(sim-if.o,arch.o,devices.o): Use SIM_MAIN_DEPS.
	(FR30BF_INCLUDE_DEPS): Use CGEN_MAIN_CPU_DEPS.
	(mloop.o,cpu.o,decode.o,sem.o,model.o): Simplify dependencies.
	* cpu.c,cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.
	* fr30-sim.h (fr30bf_h_sbit_[gs]et_handler): Declare.
	([GS]ET_H_SBIT): Define.
	(fr30bf_h_ccr_[gs]et_handler): Declare.
	([GS]ET_H_CCR): Define.
	(fr30bf_h_scr_[gs]et_handler): Declare.
	([GS]ET_H_SCR): Define.
	(fr30bf_h_ilm_[gs]et_handler): Declare.
	([GS]ET_H_ILM): Define.
	(fr30bf_h_ps_[gs]et_handler): Declare.
	([GS]ET_H_PS): Define.
	(fr30bf_h_dr_[gs]et_handler): Declare.
	([GS]ET_H_DR): Define.
	* fr30.c (all register access fns): Rename to ..._handler.
	(fr30bf_h_*_get_handler,fr30bf_h_*_set_handler): Rewrite to use
	CPU or GET_H_FOO/SET_H_FOO access macros as appropriate.
	* sim-if.c (sim_open): Model probing code moved to sim-model.c.

Fri Dec 18 17:09:34 1998  Dave Brolley  <brolley@cygnus.com>

	* fr30.c (fr30bf_store_register): Call a_fr30_h_dr_set for
	dedicated registers.

Thu Dec 17 17:17:48 1998  Dave Brolley  <brolley@cygnus.com>

	* sem-switch.c,sem.c: Regenerate.

Tue Dec 15 17:39:59 1998  Dave Brolley  <brolley@cygnus.com>

	* traps.c (setup_int): Correct calls to SETMEMSI.
	(fr30_int): Must calculate new pc after saving old one.
	* fr30.c (fr30bf_h_sbit_get): New function.
	(fr30bf_h_sbit_set): New function.
	(fr30bf_h_ccr_set): Use fr30bf_h_sbit_set and move stack switching
	logic to that function.
	* cpu.[ch],decode.c,model.c,sem-switch.c,sem.c: Regenerate.

1998-12-14  Doug Evans  <devans@casey.cygnus.com>

	* configure.in: --enable-cgen-maint moved to common/aclocal.m4.
	* configure: Regenerate.

	* sem-switch.c,sem.c: Regenerate.

	* traps.c (setup_int): Use enums for register numbers.
	(fr30_int): Ditto.

1998-12-14  Dave Brolley  <brolley@cygnus.com>

	* cpu.h,decode.[ch],model.c,sem-switch.c,sem.c: Regenerate.

Thu Dec 10 18:43:13 1998  Dave Brolley  <brolley@cygnus.com>

	* arch.[ch],cpu.[ch],decode.c,model.c,sem-switch.c,sem.c: Regenerate.
	* fr30.c (fr30bf_h_scr_get): Implement as separate bits.
	(fr30bf_h_scr_set): Implement as separate bits.

Wed Dec  9 13:25:37 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.

Tue Dec  8 13:15:23 1998  Dave Brolley  <brolley@cygnus.com>

	* cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.

Mon Dec  7 14:35:23 1998  Dave Brolley  <brolley@cygnus.com>

	* traps.c (fr30_inte): New function.
	* cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.

1998-12-05  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,cpuall.h,decode.c,sem-switch.c,sem.c: Regenerate.
	* mloop.in (extract): Make static inline.  Rewrite.
	(execute): Check ARGBUF_PROFILE_P before profiling.
	Update calls to TRACE_INSN_INIT,TRACE_INSN_FINI.

Fri Dec  4 16:18:25 1998  Doug Evans  <devans@canuck.cygnus.com>

	* sem.c,sem-switch.c: Regenerate.
	* cpu.h,decode.c: Regenerate.

Fri Dec  4 17:09:27 1998  Dave Brolley  <brolley@cygnus.com>

	* cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate.

Fri Dec  4 00:22:43 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.

Thu Dec  3 17:33:16 1998  Dave Brolley  <brolley@cygnus.com>

	* fr30.c (fr30bf_h_ccr_get): New function.
	(fr30bf_h_ccr_set): New function.
	(fr30bf_h_ps_get): Use ccr access function.
	(fr30bf_h_ps_set): Use ccr access function.
	(fr30bf_h_scr_get): New function.
	(fr30bf_h_scr_set): New function.
	(fr30bf_h_ilm_get): New function.
	(fr30bf_h_ilm_set): New function
	(fr30bf_h_ps_get): Implement src and ilm.
	(fr30bf_h_ps_set): Implement src and ilm.

	* arch.c,arch.h,cpu.h,decode.c,decode.h,model.c,
	sem-switch.c,sem.c: Regenerate.

Thu Dec  3 00:15:11 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.

1998-11-30  Doug Evans  <devans@casey.cygnus.com>

	* mloop.in (extract-pbb): Add delay slot support.
	* cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate.

Thu Nov 26 11:28:30 1998  Dave Brolley  <brolley@cygnus.com>

	* cpu.h,decode.c,model.c,sem.c,sem-switch.c: Regenerated.

Mon Nov 23 18:30:36 1998  Dave Brolley  <brolley@cygnus.com>

	* cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerated.

1998-11-20  Doug Evans  <devans@tobor.to.cygnus.com>

	* fr30-sim.h (*-REGNUM): Sync up with gdb.
	* fr30.c (decode_gdb_dr_regnum): New function.
	(fr30bf_fetch_register): Implement.
	(fr30bf_store_register): Ditto.
	(fr30bf_h_ps_get,fr30bf_h_ps_set): Ditto.
	(fr30bf_h_dr_get,fr30bf_h_dr_set): New functions.
	* sem-switch.c,sem.c: Rebuild.
	* traps.c (setup_int): New function
	(fr30_int): Handle all int insn processing here.
	Don't save ps,pc if breakpoint trap.
	* cpu.c,cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.

Thu Nov 19 16:05:09 1998  Dave Brolley  <brolley@cygnus.com>

	* traps.c (fr30_int): Correct register usage.
	* arch.c: Regenerated.
	* arch.h: Regenerated.
	* cpu.c: Regenerated.
	* cpu.h: Regenerated.
	* decode.c: Regenerated.
	* decode.h: Regenerated.
	* model.c: Regenerated.
	* sem-switch.c: Regenerated.
	* sem.c: Regenerated.

Wed Nov 18 21:39:37 1998  Dave Brolley  <brolley@cygnus.com>

	* fr30-sim.h (TRAP_SYSCALL, TRAP_BREAKPOINT): Redefine for fr30.
	* fr30.c (fr30bf_h_ps_get): New function.
	(fr30bf_h_ps_set): New function.
	* mloop.in: Set up fast-pbb model for fr30.
	* traps.c (fr30_int): New function.
	* arch.c: Regenerated.
	* arch.h: Regenerated.
	* cpu.c: Regenerated.
	* cpu.h: Regenerated.
	* decode.c: Regenerated.
	* model.c: Regenerated.
	* sem-switch.c: Regenerated.
	* sem.c: Regenerated.

1998-11-18  Doug Evans  <devans@casey.cygnus.com>

	* Makefile.in (FR30_OBJS): Delete extract.o.
	(FR30BF_INCLUDE_DEPS): Add cgen-engine.h.
	(extract.o): Delete rule for.
	* mloop.in: Rewrite.
	* cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild.

Wed Nov 18 11:31:21 1998  Dave Brolley  <brolley@cygnus.com>

	* sem-switch.c: Regenerated.
	* sem.c: Regenerated.

Mon Nov 16 19:23:44 1998  Dave Brolley  <brolley@cygnus.com>

	* arch.c: Regenerated.
	* arch.h: Regenerated.
	* cpu.c: Regenerated.
	* cpu.h: Regenerated.
	* decode.c: Regenerated.
	* decode.h: Regenerated.
	* extract.c: Regenerated.
	* model.c: Regenerated.
	* sem-switch.c: Regenerated.
	* sem.c: Regenerated.

Thu Nov 12 19:27:50 1998  Dave Brolley  <brolley@cygnus.com>

	* arch.c: Regenerated.
	* arch.h: Regenerated.
	* cpu.c: Regenerated.
	* cpu.h: Regenerated.
	* decode.c: Regenerated.
	* decode.h: Regenerated.
	* extract.c: Regenerated.
	* model.c: Regenerated.
	* sem-switch.c: Regenerated.
	* sem.c: Regenerated.
	* fr30.c: Get rid of unused functions.

Mon Nov  9 18:25:47 1998  Dave Brolley  <brolley@cygnus.com>

	* arch.c: Regenerated.
	* arch.h: Regenerated.
	* cpu.c: Regenerated.
	* cpu.h: Regenerated.
	* decode.c: Regenerated.
	* decode.h: Regenerated.
	* extract.c: Regenerated.
	* model.c: Regenerated.
	* sem-switch.c: Regenerated.
	* sem.c: Regenerated.
	* fr30.c: Get rid of m32r stuff. Flesh out fr30 stuff.

Thu Nov  5 15:26:22 1998  Dave Brolley  <brolley@cygnus.com>

	* cpu.h: Regenerated.

Tue Oct 27 15:39:48 1996  Dave Brolley  <brolley@cygnus.com>

	* Directory created.
