2011-01-11 22:19:34 +08:00
|
|
|
2011-01-11 Andrew Burgess <aburgess@broadcom.com>
|
|
|
|
|
|
|
|
* gdb-if.c (sim_store_register): Update return value to
|
|
|
|
match new API.
|
|
|
|
|
2010-12-15 07:12:20 +08:00
|
|
|
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.
|
2010-12-15 07:39:03 +08:00
|
|
|
(decode_opcode): RXO_branchrel is relative to the opcode's PC, not
|
|
|
|
the address following the opcode.
|
2010-12-15 07:12:20 +08:00
|
|
|
|
2010-11-12 09:01:12 +08:00
|
|
|
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-30 08:03:23 +08:00
|
|
|
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 23:47:45 +08:00
|
|
|
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-24 13:18:23 +08:00
|
|
|
2010-09-23 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
* rx.c (decode_opcode): Add cycle information for RXO_smovu.
|
|
|
|
|
2010-09-24 07:05:28 +08:00
|
|
|
2010-09-23 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
* fpu.c, gdb-if.c, load.c, misc.c, syscalls.c (config.h): Include.
|
|
|
|
|
2010-09-24 12:45:08 +08:00
|
|
|
* rx.c (decode_opcode): Declare `tx' as unsigned.
|
2010-09-24 07:26:42 +08:00
|
|
|
|
2010-09-24 07:42:53 +08:00
|
|
|
* cpu.h (reset_decoder): Declare.
|
|
|
|
* load.c (rx_load): Call `reset_decoder'.
|
|
|
|
* rx.c (reset_decoder): New function.
|
|
|
|
|
[include/opcode]
* rx.h (RX_Operand_Type): Add TwoReg.
(RX_Opcode_ID): Remove ediv and ediv2.
[opcodes]
* rx-decode.opc (SRR): New.
(rx_decode_opcode): Use it for movbi and movbir. Decode NOP2 (mov
r0,r0) and NOP3 (max r0,r0) special cases.
* rx-decode.c: Regenerate.
[sim/rx]
* 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-30 02:41:28 +08:00
|
|
|
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-29 05:58:22 +08:00
|
|
|
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-08 07:22:43 +08:00
|
|
|
2010-07-07 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
* gdb-if.c (sim_store_register): Add case for sim_rx_acc_regnum.
|
|
|
|
|
2010-06-25 04:38:05 +08:00
|
|
|
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-08 18:15:48 +08:00
|
|
|
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-29 01:10:32 +08:00
|
|
|
2010-05-28 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
* gdb-if.c (sim_do_command): Add a "sim verbose noisy" command.
|
|
|
|
|
2010-04-14 15:38:06 +08:00
|
|
|
2010-04-14 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
* gdb-if.c (sim_write): Add const to buf arg.
|
|
|
|
|
2010-02-14 15:37:11 +08:00
|
|
|
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-23 11:51:47 +08:00
|
|
|
2009-12-22 Yoshinori Sato <ysato@users.sourceforge.jp>
|
|
|
|
|
|
|
|
* rx/rx.c (decode_opcode): btst bit address mask fix.
|
|
|
|
|
2009-12-01 07:37:39 +08:00
|
|
|
2009-11-30 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
* rx/rx.c (decode_opcode): fix SWHILE logic.
|
|
|
|
|
2009-11-25 03:22:45 +08:00
|
|
|
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.
|