2021-06-22  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Removed.
	* aclocal.m4: Removed.
	* configure: Removed.

2021-06-21  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-21  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-20  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_COMMON): Delete.
	* aclocal.m4, configure: Regenerate.

2021-06-20  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-18  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2021-06-18  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-18  Mike Frysinger  <vapier@gentoo.org>

	* interp.c: Include sim-signal.h.

2021-06-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete SIM_AC_OPTION_ENDIAN call.
	* interp.c (sim_open): Set current_target_byte_order.
	* aclocal.m4, configure: Regenerate.

2021-06-16  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-16  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.
	* config.in: Removed.

2021-06-15  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-06-14  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete call to SIM_AC_OPTION_WARNINGS.
	* configure: Regenerate.

2021-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
	* interp.c (sim_open): Set current_alignment.

2021-06-12  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2021-06-12  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-05-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Delete.

2021-05-17  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (do_call): Change sd to avr_sim_state.
	(step_once): Likewise.
	(sim_open): Likewise.
	(sim_create_inferior): Likewise.
	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
	(struct sim_state): Delete.
	(struct avr_sim_state): New struct.
	(AVR_SIM_STATE): Define.

2021-05-16  Mike Frysinger  <vapier@gentoo.org>

	* interp.c: Replace config.h include with defs.h.

2021-05-16  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-05-14  Mike Frysinger  <vapier@gentoo.org>

	* interp.c: Update include path.

2021-05-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-05-01  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-04-26  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* configure, config.in: Rebuild.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* configure: Rebuild.

2021-04-21  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.

2021-04-21  Simon Marchi  <simon.marchi@polymtl.ca>

	* configure: Regenerate.

2021-04-18  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-04-12  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Delete 3rd arg to sim_cpu_alloc_all.

2021-04-02  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2021-02-28  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-02-21  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_CONFIG_MACRO_DIRS): Replace common with m4.
	* aclocal.m4, configure: Regenerate.

2021-02-13  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Replace sinclude with AC_CONFIG_MACRO_DIRS.
	* aclocal.m4, configure: Regenerate.

2021-02-06  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Delete call to STATE_WATCHPOINTS.

2021-02-06  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-30  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.

2021-01-11  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.
	* interp.c: Delete HAVE_STRING_H.

2021-01-09  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-08  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2017-09-06  John Baldwin  <jhb@FreeBSD.org>

	* configure: Regenerate.

2016-07-19  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>

	PR target/19401
	* interp.c (step_once): Pass break instruction address to
	sim_engine_halt function which writes that to PC. Remove code that
	follows that function call as it is unreachable.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_ENVIRONMENT): Delete call.
	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_INLINE): Delete call.
	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-09  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2016-01-06  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Mark argv const.
	(sim_create_inferior): Mark argv and env const.

2016-01-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-03  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Update sim_parse_args comment.

2016-01-03  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_HOSTENDIAN): Delete.
	* configure: Regenerate.

2016-01-02  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_ENDIAN): Change LITTLE_ENDIAN to
	LITTLE.
	* configure: Regenerate.

2015-12-27  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-hload.o.

2015-12-26  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-12-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* interp.c (sign_ext): Fix left shift of negative value.

2015-11-21  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (pc, cycles, avr_pc22): Delete.
	(do_call): Add cpu to arguments.  Declare sd.  Change pc to cpu->pc,
	avr_pc22 to sd->avr_pc22, and cycles to cpu->cycles.
	(gen_mul): Add cpu to arguments.  Change cycles to cpu->cycles.
	(step_once): Change pc to cpu->pc, avr_pc22 to sd->avr_pc22, and
	cycles to cpu->cycles.  Pass cpu to do_call and gen_mul calls.
	(avr_reg_store, avr_reg_fetch, avr_pc_get, avr_pc_set): Change pc
	to cpu->pc.
	(sim_open): Likewise.  Declare cpu.
	(sim_create_inferior): Declare cpu and addr.  Change pc to addr and
	call sim_pc_set.  Change avr_pc22 to sd->avr_pc22.
	* sim-main.h (pc): Delete.
	(struct _sim_cpu): Add pc and cycles.
	(struct sim_state): Add avr_pc22.

2015-11-21  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_store_register): Rename to ...
	(avr_reg_store): ... this.  Adjust signature.
	(sim_fetch_register): Rename to ...
	(avr_reg_fetch): ... this.  Adjust signature.
	(sim_open): Call CPU_REG_FETCH and CPU_REG_STORE.

2015-11-15  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.

2015-11-14  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_close): Delete.

2015-06-23  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-04-27  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* Makefile.in (SIM_OBJS): Move interp.o
	above $(SIM_NEW_COMMON_OBJS).

2015-04-18  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_CPU): Delete.

2015-04-18  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (sim_cia): Delete.

2015-04-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (CIA_GET, CIA_SET): Delete.

2015-04-16  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (avr_pc_get, avr_pc_set): New functions.
	(sim_open): Declare new local var i.  Call CPU_PC_FETCH &
	CPU_PC_STORE for all cpus.

2015-04-15  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-cpu.o.
	* sim-main.h (STATE_CPU): Delete.

2015-04-13  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-04-06  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-engine.o and sim-hrw.o.

2015-04-01  Mike Frysinger  <vapier@gentoo.org>

	* tconfig.h: Delete.

2015-03-31  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-03-28  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_EXTRA_CFLAGS, SIM_RUN_OBJS, SIM_EXTRA_LIBS): Delete.
	(interp.o): Delete rule.
	(SIM_OBJS): Change to $(SIM_NEW_COMMON_OBJS).
	* configure.ac: Call SIM_AC_OPTION_ENDIAN, SIM_AC_OPTION_ALIGNMENT,
	SIM_AC_OPTION_HOSTENDIAN, SIM_AC_OPTION_ENVIRONMENT,
	SIM_AC_OPTION_INLINE, and SIM_AC_OPTION_WARNINGS.
	* interp.c: Delete gdb/callback.h, gdb/signals.h, dis-asm.h, and
	sim-utils.h includes.  Include sim-main.h, sim-base.h, and
	sim-options.h.
	(tracing, lock_step, verbose): Delete.
	(pc): Drop static.
	(cur_bfd, cpu_exception, cpu_signal, sim_kind, myname, callback):
	Delete.
	(flash, sram): Add TODO.
	(sim_size, disasm_read_memory, disasm_perror_memory,
	disassemble_insn): Delete.
	(sim_resume): Rename to ...
	(step_once): ... this.  Mark static.  Delete step variable and while
	loop, and unindent body.  Add #if 0 around tracing/verbose code.
	Change cpu_exception to sim_engine_halt.
	(sim_trace): Delete.
	(sim_engine_run): New function.
	(sim_stop_reason, sim_stop, sim_info): Delete.
	(free_state): New function.
	(sim_open, sim_close, sim_create_inferior): Rewrite from scratch.
	(sim_load, sim_do_command, sim_set_callbacks,
	sim_complete_command): delete.
	* sim-main.h: New file.
	* config.in, configure: Regenerate.

2015-03-16  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2015-03-14  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_EXTRA_CFLAGS): Set to
	-DSIM_USE_DEPRECATED_RUN_FRONTEND.
	(SIM_RUN_OBJS): Set to run.o.

2015-02-19  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_kill): Delete unused func.

2014-08-19  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2014-08-15  Roland McGrath  <mcgrathr@google.com>

	* configure: Regenerate.
	* config.in: Regenerate.

2014-03-10  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_do_command): Add const to cmd.

2014-03-05  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_load): Add const to prog.

2013-09-23  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2013-06-03  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2012-06-15  Joel Brobecker  <brobecker@adacore.com>

	* config.in, configure: Regenerate.

2012-05-24  Pedro Alves  <palves@redhat.com>

	PR gdb/7205
	* Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.

2012-03-24  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2011-12-03  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: New file.
	* configure: Regenerate.

2011-10-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change include to common/acinclude.m4.

2011-10-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change AC_PREREQ to 2.64.  Delete AC_CONFIG_HEADER
	call.  Replace common.m4 include with SIM_AC_COMMON.
	* configure: Regenerate.

2011-04-16  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_complete_command): New stub function.

2010-04-14  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_write): Add const to buffer arg.

2009-11-12  Tristan Gingold  <gingold@adacore.com>

	* interp.c (sim_write): Allow byte access.
	(sim_read): Ditto.

2009-11-12  Tristan Gingold  <gingold@adacore.com>

	* interp.c (sim_load): Clear memory before loading.

2009-11-09  Tristan Gingold  <gingold@adacore.com>

	* interp.c (sim_resume): Fix typo for OP_ret.

2009-10-22  Tristan Gingold  <gingold@adacore.com>

	* interp.c (sim_stop): Return 1.

2009-04-27  Tristan Gingold  <gingold@adacore.com>

	* interp.c, Makefile.in, configure.ac: New files.
	* config.in: New file, generated by autoheader.
	* configure: New file generated by autoconf.
