From 2892a651bd12659732c7ded77fb3a2c8a5252a28 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Wed, 28 Jul 2010 21:58:22 +0000 Subject: [PATCH] [sim/rx] * 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. [include/opcode] * rx.h (RX_Opcode_ID): Add nop2 and nop3 for statistics. --- include/opcode/ChangeLog | 4 ++++ include/opcode/rx.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index f2e134593..a49c2072e 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,7 @@ +2010-07-27 DJ Delorie + + * rx.h (RX_Opcode_ID): Add nop2 and nop3 for statistics. + 2010-07-23 Naveen.H.S Ina Pandit diff --git a/include/opcode/rx.h b/include/opcode/rx.h index 54aadf4a7..0840be0a8 100644 --- a/include/opcode/rx.h +++ b/include/opcode/rx.h @@ -57,7 +57,6 @@ typedef enum RXO_movbir, /* [s,s2] = d (signed) */ RXO_pushm, /* s..s2 */ RXO_popm, /* s..s2 */ - RXO_pusha, /* &s */ RXO_xchg, /* s <-> d */ RXO_stcc, /* d = s if cond(s2) */ RXO_rtsd, /* rtsd, 1=imm, 2-0 = reg if reg type */ @@ -98,6 +97,8 @@ typedef enum RXO_jsrrel, /* pc += d */ RXO_rts, RXO_nop, + RXO_nop2, + RXO_nop3, RXO_scmpu, RXO_smovu, -- 2.11.4.GIT