2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

2008-06-06  DJ Delorie  <dj@redhat.com>

	* Makefile.in: Add Timer A support.
	* cpu.h (m32c_opcode_pc): New.
	(in_gdb): New.
	* gdb-if.c (sim_open): Add Timer A support.  Support unbuffered
	console.
	* int.c (trigger_interrupt): Manage the U flag properly.
	(trigger_based_interrupt): Likewise.
	(trigger_fixed_interrupt): New.
	(trigger_peripheral_interrupt): New.
	* int.h (trigger_peripheral_interrupt): New.
	* m32c.opc: Use m32c_opcode_pc throughout, as needed.
	(decode_m32c): Detect jump-to-zero with traceback.
	(BRK): Try to do the right thing, keeping track of whether we're
	in gdb or not, and if the user has provided a handler or not.
	(GBRK): Alternate break opcode for gdb, in case the user's app
	needs to use BRK for itself.
	(BRK2): Implement.
	* main.c: Add Timer A support.  Support TCP-based console.
	(setup_tcp_console): New.
	(main): Add Timer A support.  Support TCP-based console.
	* mem.h (m32c_sim_restore_console): New.
	* mem.c: Add Timer A support.  Support TCP-based console.
	(mem_ptr): Enhance NULL pointer detection.
	(stdin_ready): New.
	(m32c_sim_restore_console): New.
	(mem_get_byte): Check for console input ready.
	(update_timer_a): New.
	* r8c.opc (SSTR): Use r0l, not r0h.
	(REIT): Fix return frame logic.
	* reg.c (print_flags): New.
	(trace_register_changes): Use it.
	(m32c_dump_all_registers): New.
	* timer_a.h: New.
	
	* load.c: Fix indentation.
	* trace.c: Fix indentation.
	* trace.h: Fix indentation.

2006-06-26  DJ Delorie  <dj@redhat.com>

	* r8c.opc (decode_r8c): Don't bother reading the destination
	before moving a constant into it.  Fix borrow comparison for SUB.

2006-06-13  Richard Earnshaw  <rearnsha@arm.com>

	* configure: Regenerated.

2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure: Regenerated.

2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure: Regenerated.

2006-03-13  DJ Delorie  <dj@redhat.com>

	* mem.c (mem_put_byte): Hook simulated UART to stdout.
	(mem_put_hi): Hook in simulated trace port.
	(mem_get_byte): Hook in simulated uart control port.
	* opc2c: Be more picky about matching special comments.
	* r8c.opc (shift_op): Limit shift counts to -16..16.
	(BMcnd): Map conditional codes.
	* reg.c (condition_true): Mask condition code to 4 bits.
	* syscalls.c: Include local syscall.h.
	* syscall.h: New, copied from libgloss.

2005-10-06  Jim Blandy  <jimb@redhat.com>

	Simulator for Renesas M32C and M16C, by DJ Delorie <dj@redhat.com>,
	with further work from Jim Blandy <jimb@redhat.com> and
	Kevin Buettner <kevinb@redhat.com>.
	
	* ChangeLog: New.
	* Makefile.in: New.
	* blinky.S: New.
	* config.in: New.
	* configure: New.
	* configure.in: New.
	* cpu.h: New.
	* gdb-if.c: New.
	* gloss.S: New.
	* int.c: New.
	* int.h: New.
	* load.c: New.
	* load.h: New.
	* m32c.opc: New.
	* main.c: New.
	* mem.c: New.
	* mem.h: New.
	* misc.c: New.
	* misc.h: New.
	* opc2c.c: New.
	* r8c.opc: New.
	* reg.c: New.
	* safe-fgets.c: New.
	* safe-fgets.h: New.
	* sample.S: New.
	* sample.ld: New.
	* sample2.c: New.
	* srcdest.c: New.
	* syscalls.c: New.
	* syscalls.h: New.
	* trace.c: New.
	* trace.h: New.


