2013-01-16  Nick Clifton  <nickc@redhat.com>

	* rx.c (decode_opcode): Handle RXO_satr.

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.

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

	* configure.ac (CYCLE_ACCURATE): Add template with AC_DEFINE call.
	(CYCLE_STATS): Likewise.

2012-03-02  Kevin Buettner  <kevinb@redhat.com>

	* load.h (rx_load): Add `callback' parameter to function prototype.
	(gdb/callback.h): Include.
	* load.c (load.h): Include.
	(xprintf, find_section_name_by_offset): New functions.
	(rx_load): Add `callback' parameter.  Add code for printing
	section loaded using GDB's printf facilities.
	* gdb-if.c (sim_load, sim_create_inferior): Update calls to
	rx_load().
	* main.c (main): Likewise.
	* syscalls.c, syscalls.h (get_callbacks): New function.

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

	* configure.ac: Rename from configure.in.

2011-07-11  Mike Frysinger  <vapier@gentoo.org>

	* configure.in: Add "dnl" before copyright notice.

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

	* gdb-if.c (sim_complete_command): New stub function.

2011-01-11  Andrew Burgess  <aburgess@broadcom.com>

	* gdb-if.c (sim_store_register): Update return value to
	match new API.

2010-12-14  DJ Delorie  <dj@redhat.com>

	* rx.c (decode_opcode): For "MVFC PC,", use the address of the
	opcode, not the address following the opcode.
	(decode_opcode): RXO_branchrel is relative to the opcode's PC, not
	the address following the opcode.

2010-11-11  DJ Delorie  <dj@redhat.com>

	* rx.c (lsb_count): New.
	(divu_cycles): New.
	(div_cycles): New.
	(decode_opcode): Fix cycle count math for div, divu, suntil, and
	swhile.

2010-09-29  Kevin Buettner  <kevinb@redhat.com>

	* mem.c (rx_mem_ptr): When invalidating the decode cache, account
	for the fact that the instruction decoder never uses swapped
	addresses.

2010-09-29  Nick Clifton  <nickc@redhat.com>

	* rx.c (decode_opcode: RXO_int): Only break out of the emulation
	loop if rx_syscall() does not return a RX_STEPPED result.

2010-09-23  Kevin Buettner  <kevinb@redhat.com>

	* rx.c (decode_opcode): Add cycle information for RXO_smovu.

2010-09-23  Kevin Buettner  <kevinb@redhat.com>

	* fpu.c, gdb-if.c, load.c, misc.c, syscalls.c (config.h): Include.

	* rx.c (decode_opcode): Declare `tx' as unsigned.

	* cpu.h (reset_decoder): Declare.
	* load.c (rx_load): Call `reset_decoder'.
	* rx.c (reset_decoder): New function.

2010-07-29  DJ Delorie  <dj@redhat.com>

	* rx.c (decode_cache_base): New.
	(id_names): Remove ediv and edivu.
	(optype_names): Add TwoReg.
	(maybe_get_mem_page): New.
	(rx_get_byte): Call it.
	(get_op): Add TwoReg support.
	(put_op): Likewise.
	(PD, PS, PS2, GD, GS, GS2, DSZ, SSZ, S2SZ, US1, US2, OM): "opcode"
	is a pointer now.
	(DO_RETURN): New.  We use longjmp to return an exception result.
	(decode_opcode): Make opcode a pointer to the decode cache.  Save
	decoded opcode information and re-use.  Call DO_RETURN instead of
	return throughout.  Remove ediv and edivu.
	* mem.c (ptdc): New.  Adds decode cache.
	(rx_mem_ptr): Support it.
	(rx_mem_decode_cache): New.
	* mem.h (enum mem_ptr_action): add MPA_DECODE_CACHE.
	(rx_mem_decode_cache): Declare.
	* gdb-if.c (sim_resume): Add decode_opcode's setjmp logic here...
	* main.c (main): ...and here.  Use a fast loop if neither trace
	nor disassemble is given.
	* cpu.h (RX_MAKE_STEPPED, RX_MAKE_HIT_BREAK, RX_MAKE_EXITED,
	RX_MAKE_STOPPED, RX_EXITED, RX_STOPPED): Adjust so that 0 is not a
	valid code for anything.

2010-07-27  DJ Delorie  <dj@redhat.com>

	* README.txt: New.
	* config.h (CYCLE_ACCURATE, CYCLE_STATS): New.
	* configure.in (--enable-cycle-accurate, --enable-cycle-stats):
	New.  Default to enabled.
	* configure: Regenerate.

	* cpu.h (regs_type): Add cycle tracking info.
	(reset_pipeline_stats): Declare.
	(halt_pipeline_stats): Declare.
	(pipeline_stats): Declare.
	* main.c (done): Call pipeline_stats().
	* mem.h (rx_mem_ptr): Moved to here ...
	* mem.c (mem_ptr): ... from here.  Rename throughout.
	(mem_put_byte): Move LEDs to Port A.  Add Port B to control cycle
	statistics.  Move UART to SCI4.
	(mem_put_hi): Add TPU 1-2.  TPU 1 and 2 count CPU cycles.
	* reg.c (init_regs): Set Rt reg to -1 (no reg).
	* rx.c: Add cycle counting and statistics throughout.
	(rx_get_byte): Optimize for speed.
	(decode_opcode): Likewise.
	(reset_pipeline_stats): New.
	(halt_pipeline_stats): New.
	(pipeline_stats): New.
	* trace.c (sim_disasm_one): Print cycle count.

2010-07-07  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (sim_store_register): Add case for sim_rx_acc_regnum.

2010-06-24  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (trace.h): Include.
	(reg_size, sim_fetch_register): Add cases for sim_rx_acc_regnum.

2010-06-07  Nick Clifton  <nickc@redhat.com>

	* reg.c (set_oszc): Use unsigned int for the mask.
	(set_szc, set_osz, set_sz): Likewise.

2010-05-28  Kevin Buettner  <kevinb@redhat.com>

	* gdb-if.c (sim_do_command): Add a "sim verbose noisy" command.

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

	* gdb-if.c (sim_write): Add const to buf arg.

2010-01-30  Masaki Muranaka  <monaka@monami-software.com>

        * configure.in: Check if the host has getopt.h.
        * configure: Regenerate.
        * config.in: Regenerate.
        * main.c: Include config.h.
	Use HAVE_STDLIB_H, HAVE_UNISTD_H, HAVE_GETOPT_H.
	Include getopt.h in case HAVE_GETOPT_H is defined.

2009-12-22  Yoshinori Sato  <ysato@users.sourceforge.jp>

	* rx/rx.c (decode_opcode): btst bit address mask fix.

2009-11-30  DJ Delorie  <dj@redhat.com>

	* rx/rx.c (decode_opcode): fix SWHILE logic.

2009-10-27  DJ Delorie  <dj@redhat.com>
	    Kevin Buettner <kevinb@redhat.com>

	* load.h: New.
	* rx.c: New.
	* syscalls.c: New.
	* syscalls.h: New.
	* load.c: New.
	* configure.in: New.
	* gdb-if.c: New.
	* err.c: New.
	* cpu.h: New.
	* Makefile.in: New.
	* fpu.c: New.
	* mem.c: New.
	* config.in: New.
	* err.h: New.
	* reg.c: New.
	* mem.h: New.
	* main.c: New.
	* misc.h: New.
	* trace.c: New.
	* misc.c: New.
	* syscall.h: New.
	* trace.h: New.
	* fpu.h: New.
