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.

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>

	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
	(struct sim_state): Delete.

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

	* msp430-sim.c: Replace config.h include with defs.h.

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

	* config.in, configure: Regenerate.

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>

	* Makefile.in (NL_TARGET): Delete.

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-18  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete AC_CHECK_HEADERS call.
	* config.in, configure: Regenerate.

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

	* configure: Regenerate.

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

	* msp430-sim.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-28  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_EXTRA_LIBDEPS): Delete.

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

	* Makefile.in (SIM_EXTRA_ALL): Delete.

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>

	* configure: Regenerate.

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

	* config.in, configure: Regenerate.

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.

2020-08-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* msp430-sim.c (sim_open): Increase the size of the main memory region
	to 0xFAC0.

2020-08-05  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* msp430-sim.c (put_op): For unsigned multiplication, explicitly cast
	operands to the unsigned type before multiplying.
	* msp430-sim.h (struct msp430_cpu_state): Fix types used to store hwmult
	operands.

2020-01-22  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* msp430-sim.c (msp430_step_once): Ignore the carry flag when executing
	an RRC instruction, if the ZC bit of the extension word is set.

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

	* configure: Regenerate.

2017-08-29  Jozef Lawrynowicz  <jozef.l@somniumtech.com>

	* sim/msp430/msp430-sim.c (maybe_perform_syscall): Fix passing of
	arguments for variadic syscall "open".

2016-08-15  Mike Frysinger  <vapier@gentoo.org>

	* msp430-sim.c: Delete bfd.h include.
	(lookup_symbol, msp430_sim_close): Delete.
	(sim_open): Change lookup_symbol to trace_sym_value.
	* sim-main.h (struct sim_state): Delete symbol_table and
	number_of_symbols.
	(STATE_SYMBOL_TABLE, STATE_NUM_SYMBOLS, msp430_sim_close,
	SIM_CLOSE_HOOK): Delete.

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: 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>

	* msp430-sim.c (sim_open): Mark argv const.
	(sim_create_inferior): Mark argv and env const.

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

	* msp430-sim.c (loader_write_mem): Delete.
	(lookup_symbol): Return -1 when abfd is NULL.
	(sim_open): Delete prog_bfd variable.  Delete call to sim_load_file.
	Delete prog_bfd check.

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

	* Makefile.in (SIM_OBJS): Delete trace.o.
	* msp430-sim.c: Delete dis-asm.h and trace.h includes.
	(sim_open): Delete msp430_trace_init call.
	(msp430_dis_read): Delete function.
	(msp430_step_once): Replace disassembly logic with a call
	to TRACE_DISASM.
	* trace.c, trace.h: Delete files.

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

	* configure: Regenerate.

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

	* config.in, 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>

	* msp430-sim.c (sim_dis_read): Change private_data to application_data.
	(msp430_step_once): Likewise.

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>

	* msp430-sim.c (get_op, put_op): Fix left shift of negative value.

2015-12-07  Nick Clifton  <nickc@redhat.com>

	* msp430-sim.c (sim_open): Check for needed memory at address
	0x500 not 0x200.
	(get_op): Add support for F5 hardware multiply addresses.
	(put_op): Likewise.

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

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

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

	* interp.c (sim_close): Rename to ...
	(msp430_sim_close): ... this.  Delete call to sim_state_free.
	* sim-main.h (msp430_sim_close): Declare.
	(SIM_CLOSE_HOOK): Define.

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

	* msp430-sim.c (trace_reg_put): Change TRACE_VPU to TRACE_REGISTER.
	(trace_reg_get): Likewise.

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

	* configure: Regenerate.

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

	* msp430-sim.c (maybe_perform_syscall): Replace call to cb_syscall
	with sim_syscall.

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

	* msp430-sim.c: Include sim-syscall.h.
	(syscall_read_mem, syscall_write_mem): Delete.
	(maybe_perform_syscall): Change syscall_read_mem/syscall_write_mem
	to sim_syscall_read_mem/sim_syscall_write_mem.

2015-06-12  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>

	* msp430-sim.c (trace_reg_put): Replace TRACE_VPU_P/trace_generic
	with TRACE_VPU.
	(trace_reg_get): Likewise.
	(get_op): Replace TRACE_MEMORY_P/trace_generic with TRACE_MEMORY.
	(put_op): Likewise.
	(msp430_dis_read): Replace TRACE_ALU_P/trace_generic with TRACE_ALU.
	(do_flags): Likewise.
	(maybe_perform_syscall): Replace TRACE_SYSCALL_P/trace_generic with
	TRACE_SYSCALL.
	(msp430_step_once): Replace TRACE_ALU_P/trace_generic with TRACE_ALU.
	Replace TRACE_BRANCH_P/trace_generic with TRACE_BRANCH.

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

	* sim-main.h (MAYBE_TRACE, TRACE_INSN, TRACE_DECODE, TRACE_EXTRACT,
	TRACE_SYSCALL, TRACE_CORE, TRACE_EVENTS, TRACE_BRANCH,
	trace_register, TRACE_REGISTER, TRACE_REG): Delete.

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-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>

	* Makefile.in (SIM_OBJS): Delete $(SIM_EXTRA_OBJS).

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

	* config.in, configure: Regenerate.

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

	* sim-main.h: Delete run-sim.h include.

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

	* config.in, configure: Regenerate.

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

	* aclocal.m4, configure: Regenerate.
	* configure.ac: Call the common inline & warning macros.
	* msp430-sim.c: Include unistd.h & trace.h.
	* trace.c: Include trace.h.
	(load_file_and_line): Move FILE* decl to top of scope.
	* trace.h (msp430_get_current_source_location): Adjust prototype to
	match the function definition.

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

	* Makefile.in (SIM_RUN_OBJS): Delete.

2015-02-24  Nick Clifton  <nickc@redhat.com>

	* msp430-sim.c (sim_open): Allocate memory regions matching those
	declared in the libgloss/msp430 linker scripts.
	Allow sim_load_file to fail.
	(get_op): Test the correct address bit when checking for out of
	range addresses.
	Include the address in the error message when an illegal access to
	the hardware multiplier is detected.
	(put_op): Test the correct address bit when checking for out of
	range addresses.

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

	* configure: Regenerate.

2014-08-19  Nick Clifton  <nickc@redhat.com>

	* msp430-sim.c: Move static hardware multiply support variables
	from here...
	* msp430-sim.h (msp430_cpu_state): ... into here ...
	* msp430-sim.c (get_op, put_op): ... and update references to use
	the msp430_cpu_state structure.

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

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

2014-06-03  Nick Clifton  <nickc@redhat.com>

	* msp430-sim.c (get_op): Handle reads of low result register when
	in MAC mode.
	(put_op): Copy MAC result into result words.
	Handle writes to the low result register.

2014-05-12  DJ Delorie  <dj@redhat.com>

	* msp43-sim.c (sign_ext): Change to "long long" to support
	sign-extending 32-bit values.

2014-05-08  Nick Clifton  <nickc@redhat.com>

	* msp430-sim.c (sim_open): Do not allocate memory over the
	hardware multiply registers.
	(get_op): Add support for reads from the hardware multiply
	registers.
	(put_op): Add support for writes to the hardware multiply
	registers.
	(msp430_step_once): Add support for the RETI instruction used by
	the CPUX architecture.

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

	* msp430-sim.c (sim_create_inferior): Set new_pc to the result of
	bfd_get_start_address when abfd is not NULL and new_pc is zero.

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

	* msp430-sim (maybe_perform_syscall): Change %d to %ld.
	(msp430_step_once): Cast fprintf to fprintf_ftype.

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

	* aclocal.m4, configure: Regenerate.

2013-06-21  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: New.
	* aclocal.m4: Generate.
	* config.in: Generate.
	* configure.ac: New.
	* configure: Generate.
	* msp430-sim.c: New.
	* msp430-sim.h: New.
	* sim-main.h: New.
	* trace.c: New.
	* trace.h: New.
