2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* sim-if.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

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

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

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

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

2001-02-06  DJ Delorie  <dj@redhat.com>

	* i960-desc.c: Update all the A macro definitions to the new
	stdc-sensitive versions that cgen would have used.

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-08-21  Frank Ch. Eigler  <fche@redhat.com>

	* Makefile.in (i960-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:46:36 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-28  Doug Evans  <devans@casey.cygnus.com>

	* cpu.h,decode.c,sem-switch.c,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.
	* i960-desc.h: 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-14  Doug Evans  <devans@casey.cygnus.com>

	* i960-desc.c,i960-desc.h: Rebuild.

Sun Apr 11 00:25:17 1999  Jim Wilson  <wilson@cygnus.com>

	* TODO: Document more toolchain problems.
	* cpu.h, decode.c, model.c, sem-switch.c, sem.c: Rebuild.

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

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

Fri Apr  9 19:30:05 1999  Jim Wilson  <wilson@cygnus.com>

	* README, TODO: Clean up and update.
	* sim-if.c: s/m32r/i960.  s/sparc32/i960.
	* decode.c, decode.h, i960-desc.c, i960-desc.h, i960-opc.h, model.c,
	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,i960-desc.c,i960-desc.h,i960-opc.h: Rebuild.
	* i960-sim.h (a_i960_h_gr_get,a_i960_h_gr_set): Declare.
	(a_i960_h_pc_get,a_i960_h_pc_set): Declare.
	* i960.c (a_i960_h_gr_get,a_i960_h_gr_set): New functions.
	(a_i960_h_pc_get,a_i960_h_pc_set): Ditto.
	* sim-if.c (sim_open): Update call to i960_cgen_cpu_open.

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

	* arch.c,arch.h,cpu.c,i960-desc.c,i960-desc.h: Rebuild.
	* sim-if.c (sim_open): Update call to i960_cgen_cpu_open.

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

	* i960-desc.c,i960-desc.h: Rebuild.

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

	* Makefile.in (I960_OBJS): Add i960-desc.o.
	(SIM_EXTRA_DEPS): Replace cpu-opc.h with i960-desc.h,i960-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.
	* devices.c: s/m32r/i960/.
	* i960-desc.c: New file.
	* i960-desc.h: New file.
	* i960-opc.h: New file.
	* i960-sim.h (I960_MISC_PROFILE): Delete.
	* i960.c (i960base_model_insn_before): Delete unused code.
	(i960base_model_insn_after): Ditto.
	(i960_model_init_insn_cycles,i960_model_update_insn_cycles): Ditto.
	(i960_model_record_cycles): Ditto.
	* mloop.in (execute): CGEN_INSN_ATTR renamed to CGEN_INSN_ATTR_VALUE.
	(extract-pbb): Use idesc->length to get insn length.
	* sim-if.c (i960_disassemble_insn): New function.
	(sim_open): Delete misc. profiling support.  i960_cgen_cpu_open renamed
	from i960_cgen_opcode_open.  Set disassembler.
	(sim_close): i960_cgen_cpu_open renamed from i960_cgen_opcode_open.
	* sim-main.h: Don't include cpu-opc.h,cpu-sim.h. Include
	i960-desc.h,i960-opc.h,i960-sim.h.
	(struct _sim_cpu): Delete member i960_misc_profile.

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

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

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

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

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

	* Makefile.in (i960-clean): rm eng.h.
	* sim-main.h: Delete inclusion of ansidecl.h.
	Delete inclusion of cgen-scache.h,cgen-cpu.h,cgen-trace.h,cpuall.h.
	(SIM_CORE_SIGNAL): m32r -> i960.
	* cpu.h: Regenerate.
	* traps.c: m32r -> i960.

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

	* Makefile.in (SIM_EXTRA_DEPS): Use CGEN_INCLUDE_DEPS.
	(MAIN_INCLUDE_DEPS,INCLUDE_DEPS,OPS_INCLUDE_DEPS): Delete.
	(sim-if.o): Use SIM_MAIN_DEPS.
	(arch.o): Ditto.
	(traps.o): Ditto.
	(devices.o): Ditto.
	(I960BASE_INCLUDE_DEPS): Use CGEN_MAIN_CPU_DEPS.
	(i960.o): Use I960BASE_INCLUDE_DEPS.
	(mloop.o,cpu.o,decode.o,sem.o,model.o): Ditto.
	(stamp-arch): Pass mach=all to cgen-arch.
	* cpu.c,cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate.
	* sim-if.c (sim_open): Model probing code moved to sim-model.c.

1998-12-14  James E Wilson  <wilson@wilson-pc.cygnus.com>

	* cpu.h, decode.c, sem-switch.c, sem.c: Rebuilt.
	* traps.c (i960_trap): Store syscall results in regs 16 to 18 instead
	of regs 0 to 2.

Mon Dec 14 22:33:38 1998  Jim Wilson  <wilson@cygnus.com>

	* mloop.in (extract32): Add calls to @cpu@_fill_argbuf and
	@cpu@_fil_argbuf_tp.

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

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

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

1998-12-09  James E Wilson  <wilson@wilson-pc.cygnus.com>

	* mloop.in execute): Test ARGBUF_PROFILE_P before profiling.
	Update calls to TRACE_INSN_INIT,TRACE_INSN_FINI.
	* cpu.h, cpuall.h, decode.c, sem-switch.c, sem.c: Regenerate.

1998-12-08  James E Wilson  <wilson@wilson-pc.cygnus.com>

	* New directory.
