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.
