* rx.c (decode_opcode): For "MVFC PC,", use the address of the
[external/binutils.git] / sim / rx / ChangeLog
1 2010-12-14  DJ Delorie  <dj@redhat.com>
2
3         * rx.c (decode_opcode): For "MVFC PC,", use the address of the
4         opcode, not the address following the opcode.
5
6 2010-11-11  DJ Delorie  <dj@redhat.com>
7
8         * rx.c (lsb_count): New.
9         (divu_cycles): New.
10         (div_cycles): New.
11         (decode_opcode): Fix cycle count math for div, divu, suntil, and
12         swhile.
13
14 2010-09-29  Kevin Buettner  <kevinb@redhat.com>
15
16         * mem.c (rx_mem_ptr): When invalidating the decode cache, account
17         for the fact that the instruction decoder never uses swapped
18         addresses.
19
20 2010-09-29  Nick Clifton  <nickc@redhat.com>
21
22         * rx.c (decode_opcode: RXO_int): Only break out of the emulation
23         loop if rx_syscall() does not return a RX_STEPPED result.
24
25 2010-09-23  Kevin Buettner  <kevinb@redhat.com>
26
27         * rx.c (decode_opcode): Add cycle information for RXO_smovu.
28
29 2010-09-23  Kevin Buettner  <kevinb@redhat.com>
30
31         * fpu.c, gdb-if.c, load.c, misc.c, syscalls.c (config.h): Include.
32
33         * rx.c (decode_opcode): Declare `tx' as unsigned.
34
35         * cpu.h (reset_decoder): Declare.
36         * load.c (rx_load): Call `reset_decoder'.
37         * rx.c (reset_decoder): New function.
38
39 2010-07-29  DJ Delorie  <dj@redhat.com>
40
41         * rx.c (decode_cache_base): New.
42         (id_names): Remove ediv and edivu.
43         (optype_names): Add TwoReg.
44         (maybe_get_mem_page): New.
45         (rx_get_byte): Call it.
46         (get_op): Add TwoReg support.
47         (put_op): Likewise.
48         (PD, PS, PS2, GD, GS, GS2, DSZ, SSZ, S2SZ, US1, US2, OM): "opcode"
49         is a pointer now.
50         (DO_RETURN): New.  We use longjmp to return an exception result.
51         (decode_opcode): Make opcode a pointer to the decode cache.  Save
52         decoded opcode information and re-use.  Call DO_RETURN instead of
53         return throughout.  Remove ediv and edivu.
54         * mem.c (ptdc): New.  Adds decode cache.
55         (rx_mem_ptr): Support it.
56         (rx_mem_decode_cache): New.
57         * mem.h (enum mem_ptr_action): add MPA_DECODE_CACHE.
58         (rx_mem_decode_cache): Declare.
59         * gdb-if.c (sim_resume): Add decode_opcode's setjmp logic here...
60         * main.c (main): ...and here.  Use a fast loop if neither trace
61         nor disassemble is given.
62         * cpu.h (RX_MAKE_STEPPED, RX_MAKE_HIT_BREAK, RX_MAKE_EXITED,
63         RX_MAKE_STOPPED, RX_EXITED, RX_STOPPED): Adjust so that 0 is not a
64         valid code for anything.
65
66 2010-07-27  DJ Delorie  <dj@redhat.com>
67
68         * README.txt: New.
69         * config.h (CYCLE_ACCURATE, CYCLE_STATS): New.
70         * configure.in (--enable-cycle-accurate, --enable-cycle-stats):
71         New.  Default to enabled.
72         * configure: Regenerate.
73
74         * cpu.h (regs_type): Add cycle tracking info.
75         (reset_pipeline_stats): Declare.
76         (halt_pipeline_stats): Declare.
77         (pipeline_stats): Declare.
78         * main.c (done): Call pipeline_stats().
79         * mem.h (rx_mem_ptr): Moved to here ...
80         * mem.c (mem_ptr): ... from here.  Rename throughout.
81         (mem_put_byte): Move LEDs to Port A.  Add Port B to control cycle
82         statistics.  Move UART to SCI4.
83         (mem_put_hi): Add TPU 1-2.  TPU 1 and 2 count CPU cycles.
84         * reg.c (init_regs): Set Rt reg to -1 (no reg).
85         * rx.c: Add cycle counting and statistics throughout.
86         (rx_get_byte): Optimize for speed.
87         (decode_opcode): Likewise.
88         (reset_pipeline_stats): New.
89         (halt_pipeline_stats): New.
90         (pipeline_stats): New.
91         * trace.c (sim_disasm_one): Print cycle count.
92
93 2010-07-07  Kevin Buettner  <kevinb@redhat.com>
94
95         * gdb-if.c (sim_store_register): Add case for sim_rx_acc_regnum.
96
97 2010-06-24  Kevin Buettner  <kevinb@redhat.com>
98
99         * gdb-if.c (trace.h): Include.
100         (reg_size, sim_fetch_register): Add cases for sim_rx_acc_regnum.
101
102 2010-06-07  Nick Clifton  <nickc@redhat.com>
103
104         * reg.c (set_oszc): Use unsigned int for the mask.
105         (set_szc, set_osz, set_sz): Likewise.
106
107 2010-05-28  Kevin Buettner  <kevinb@redhat.com>
108
109         * gdb-if.c (sim_do_command): Add a "sim verbose noisy" command.
110
111 2010-04-14  Mike Frysinger  <vapier@gentoo.org>
112
113         * gdb-if.c (sim_write): Add const to buf arg.
114
115 2010-01-30  Masaki Muranaka  <monaka@monami-software.com>
116
117         * configure.in: Check if the host has getopt.h.
118         * configure: Regenerate.
119         * config.in: Regenerate.
120         * main.c: Include config.h.
121         Use HAVE_STDLIB_H, HAVE_UNISTD_H, HAVE_GETOPT_H.
122         Include getopt.h in case HAVE_GETOPT_H is defined.
123
124 2009-12-22  Yoshinori Sato  <ysato@users.sourceforge.jp>
125
126         * rx/rx.c (decode_opcode): btst bit address mask fix.
127
128 2009-11-30  DJ Delorie  <dj@redhat.com>
129
130         * rx/rx.c (decode_opcode): fix SWHILE logic.
131
132 2009-10-27  DJ Delorie  <dj@redhat.com>
133             Kevin Buettner <kevinb@redhat.com>
134
135         * load.h: New.
136         * rx.c: New.
137         * syscalls.c: New.
138         * syscalls.h: New.
139         * load.c: New.
140         * configure.in: New.
141         * gdb-if.c: New.
142         * err.c: New.
143         * cpu.h: New.
144         * Makefile.in: New.
145         * fpu.c: New.
146         * mem.c: New.
147         * config.in: New.
148         * err.h: New.
149         * reg.c: New.
150         * mem.h: New.
151         * main.c: New.
152         * misc.h: New.
153         * trace.c: New.
154         * misc.c: New.
155         * syscall.h: New.
156         * trace.h: New.
157         * fpu.h: New.