]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/tic80/ChangeLog
28e6de572f534afa9b18307c252748b7cb4a05c9
[thirdparty/binutils-gdb.git] / sim / tic80 / ChangeLog
1 Tue May 20 09:33:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
2
3 * sim-main.h: Include <unistd.h>.
4
5 * sim-calls.c (sim_set_callback): Delete.
6 (sim_open): Add/install callback argument.
7 (sim_size): Delete.
8
9 Mon May 19 18:59:33 1997 Mike Meissner <meissner@cygnus.com>
10
11 * configure.in: Check for getpid, kill functions.
12 * config{.in,ure}: Regenerate.
13
14 * insns (do_trap): Add support for kill, getpid system calls.
15
16 * sim-main.h (errno.h): Include.
17 (getpid,kill): Define as NOPs if the host doesn't have them.
18
19 Mon May 19 14:58:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
20
21 * sim-calls.c (sim_open): Set the simulator base magic number.
22 (sim_load): Delete prototype of sim_load_file.
23 (sim_open): Define sd to be &simulation.
24
25 Fri May 16 14:35:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
26
27 * insns (illegal, fp_unavailable): Halt instead of abort the
28 simulator.
29
30 * insns: Replace calls to engine_error with sim_engine_abort.
31 Ditto for engine_halt V sim_engine_halt.
32
33 Tue May 13 15:24:12 1997 Andrew Cagney <cagney@b2.cygnus.com>
34
35 * interp.c (engine_run_until_stop): Delete. Moved to common.
36 (engine_step): Ditto.
37 (engine_step): Ditto.
38 (engine_halt): Ditto.
39 (engine_restart): Ditto.
40 (engine_halt): Ditto.
41 (engine_error): Ditto.
42
43 * sim-calls.c (sim_stop): Delete. Moved to common.
44 (sim_stop_reason): Ditto.
45 (sim_resume): Ditto.
46
47 * Makefile.in (SIM_OBJS): Link in generic sim-engine, sim-run,
48 sim-resume, sim-reason, sim-stop modules.
49
50 Fri May 16 11:57:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
51
52 * ic (compute): Drop check for REG == 0, now always forced to
53 zero.
54
55 * cpu.h (GPR_SET): New macro update the gpr.
56 * insns (do_add): Use GPR_SET to update the GPR register.
57
58 * sim-calls.c (sim_fetch_register): Pretend that r0 is zero.
59
60 * Makefile.in (tmp-igen): Specify zero-r0 so that every
61 instruction clears r0.
62
63 * interp.c (engine_run_until_stop): Igen now generates code to
64 clear r0.
65 (engine_step): Ditto.
66
67 Thu May 15 11:45:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
68
69 * insns (do_shift): When rot==0 and zero/sign merge treat it as
70 32.
71 (set_fp_reg): For interger conversion, use sim-fpu fpu2i
72 functions.
73 (do_fmpy): Perform iii and uuu using integer arithmetic.
74
75 * Makefile.in (ENGINE_H): Assume everything depends on the fpu.
76
77 * insns (get_fp_reg): Use sim_fpu_u32to to perform unsigned
78 conversion.
79 (do_fcmp): Update to use new fp compare functions. Make reg nr arg
80 instead of reg. Stops fp overflow.
81 (get_fp_reg): Assume val is valid when reg == 0.
82 (set_fp_reg): Fix double conversion.
83
84 * misc.c (tic80_trace_fpu1): New function, trace simple fp op.
85
86 * insns (do_frnd): Add tracing.
87
88 * cpu.h (TRACE_FPU1): Ditto.
89
90 * insns (do_trap): Printf formatting.
91
92 Wed May 14 18:05:50 1997 Mike Meissner <meissner@cygnus.com>
93
94 * misc.c (tic80_trace_fpu{3,2,2i}): Align columns with other
95 insns. Use %g to print floating point instead of %f in case the
96 numbers are real large.
97
98 Tue May 13 18:00:10 1997 Mike Meissner <meissner@cygnus.com>
99
100 * insns (do_trap): For system calls that are defined, but not
101 provided return EINVAL. Temporarily add traps 74-79 to just print
102 the register state.
103
104 * interp.c (engine_{run_until_stop,step}): Before executing
105 instructions, make sure r0 == 0.
106
107 Tue May 13 16:39:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
108
109 * alu.h (IMEM): Take full cia not just IP as argument.
110
111 * interp.c (engine_run_until_stop): Delete handling of annuled
112 instructions.
113 (engine_step): Ditto.
114
115 * insn (do_branch): New function.
116 (do_bbo, do_bbz, do_bcnd, do_bsr, do_jsr): Use do_branch to handle
117 annuled branches.
118
119 Mon May 12 17:15:52 1997 Mike Meissner <meissner@cygnus.com>
120
121 * insns (do_{ld,st}): Fix tracing for ld/st.
122
123 Mon May 12 11:12:24 1997 Andrew Cagney <cagney@b1.cygnus.com>
124
125 * sim-calls.c (sim_stop_reason): Restore keep_running after a
126 CNTRL-C, don't re-clear it.
127
128 * interp.c (engine_error): stop rather than signal with SIGABRT
129 when an error.
130
131 * insns (do_ld): For 64bit loads, always store LSW in rDest, MSW in
132 rDest + 1. Also done by Michael Meissner <meissner@cygnus.com>
133 (do_st): Converse for store.
134
135 * misc.c (tic80_trace_fpu2i): Correct printf format for int type.
136
137 Sun May 11 11:02:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
138
139 * sim-calls.c (sim_stop_reason): Return a SIGINT if keep_running
140 was cleared.
141
142 * interp.c (engine_step): New function. Single step the simulator
143 taking care of cntrl-c during a step.
144
145 * sim-calls.c (sim_resume): Differentiate between stepping and
146 running so that a cntrl-c during a step is reported.
147
148 Sun May 11 10:54:31 1997 Mark Alexander <marka@cygnus.com>
149
150 * sim-calls.c (sim_fetch_register): Use correct reg base.
151 (sim_store_register): Ditto.
152
153 Sun May 11 10:25:14 1997 Michael Meissner <meissner@cygnus.com>
154
155 * cpu.h (tic80_trace_shift): Add declaration.
156 (TRACE_SHIFT): New macro to trace shift instructions.
157
158 * misc.c (tic80_trace_alu2): Align spacing.
159 (tic80_trace_shift): New function to trace shifts.
160
161 * insns (lmo): Add missing 0b prefix to bits.
162 (do_shift): Use ~ (unsigned32)0, instead of -1. Use TRACE_SHIFT
163 instead of TRACE_ALU2.
164 (sl r): Use EndMask as is, instead of using Source+1 register.
165 (subu): Operands are unsigned, not signed.
166 (do_{ld,st}): Fix endian problems with ld.d/st.d.
167
168 Sat May 10 12:35:47 1997 Michael Meissner <meissner@cygnus.com>
169
170 * insns (and{.tt,.tf,.ft,.ff}): Immediate values are unsigned, not
171 signed.
172
173 Fri May 9 15:47:36 1997 Mike Meissner <meissner@cygnus.com>
174
175 * insns (cmp_vals,do_cmp): Produce the correct bits as specified
176 by the architecture.
177 (xor): Fix xor immediate patterns to use the correct bits.
178
179 Fri May 9 09:55:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
180
181 * alu.h (long_immediate): Adjust the CIA delay-pointer as well as
182 the NIA when a 64bit insn.
183
184 Thu May 8 11:57:47 1997 Michael Meissner <meissner@cygnus.com>
185
186 * insns (jsr,bsr): For non-allulled calls, set r31 so that the
187 return address does not reexecute the instruction in the delay
188 slot.
189 (bbo,bbz): Complement bit number to reverse the one's complement
190 that the assembler is required to do.
191
192 * misc.c (tic80_trace_*): Change format slightly to accomidate
193 real large decimal values.
194
195 Thu May 8 14:07:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
196
197 * sim-calls.c (sim_do_command): Implement.
198 (sim_store_register): Fix typo T2H v H2T.
199
200 Wed May 7 11:48:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
201
202 * cpu.h (TRACE_FPU2, TRACE_FPU3, TRACE_FPU2I): Add.
203 * insn: Clean up fpu tracing.
204
205 * sim-calls.c (sim_create_inferior): Start out with interrupts
206 enabled.
207
208 * cpu.h (TRACE_SINK3), misc.c (tic80_trace_sink3): Three argument
209 sink
210
211 * insns (rdcr, swcr, wrcr, brcr, rmo, lmo): Implement.
212
213 * insns (do_*): Remove MY_INDEX/indx argument from support functions,
214 igen now handles this.
215
216 * cpu.h (CR): New macro - access TIc80 control registers.
217
218 * misc.c: New file.
219 (tic80_cr2index): New function, map control register opcode index
220 into the internal CR enum.
221
222 * interp.c
223 (tic80_trace_{alu{2,3},nop,sink{1,2},{,u}cond_br,ldst}): Move from
224 here
225 * misc.c: to here.
226
227 * Makefile.in (SIM_OBJS): Add misc.o.
228
229 Tue May 6 15:22:58 1997 Mike Meissner <meissner@cygnus.com>
230
231 * cpu.h ({,v}{S,D}P_FPR): Delete unused macros that won't work on
232 big endian hosts.
233 (tic80_trace_{alu{2,3},nop,sink{1,2},{,u}cond_br,ldst}): Declare
234 new functions.
235 (TRACE_{ALU{2,3},NOP,SINK{1,2},{,U}COND_BR,LD,ST}): New macros to
236 trace various instruction types.
237
238 * insns: Modify all instructions to support semantic tracing.
239
240 * interp.c (toplevel): Include itable.h.
241 (tic80_trace_{alu{2,3},nop,sink{1,2},{,u}cond_br,ldst}): New
242 functions to provide semantic level tracing information.
243
244 Mon May 5 11:50:43 1997 Andrew Cagney <cagney@b1.cygnus.com>
245
246 * alu.h: Update usage of core object to reflect recent changes in
247 ../common/sim-*core.
248 * sim-calls.c (sim_open): Ditto.
249
250 Mon May 5 14:10:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
251
252 * insn (cmnd): No-op cache flushes.
253
254 * insns (do_trap): Allow writes to STDERR.
255
256 * Makefile.in (SIM_OBJS): Link in sim-fpu.o.
257 (SIM_EXTRA_LIBS): Link in the math library.
258
259 * alu.h: Add support for floating point unit using sim-alu.
260
261 * insns (fadd, fsub, fmpy, fdiv, fcmp, frnd*): Implement.
262
263 Fri May 2 14:57:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
264
265 * sim-calls.c: Include sim-utils.h and sim-options.h.
266
267 * sim-main.h (sim_state): Drop sim_events and sim_core members,
268 moved to simulator base type.
269
270 * alu.h (IMEM, MEM, STORE): Update track changes in common
271 directory.
272
273 * insns: Drop cia argument from functions, igen now handles this.
274
275 * interp.c (engine_init): Include string.h/strings.h to define
276 memset et.al.
277
278 * sim-main.h (sim_cia): Delcare, tracking common dir changes.
279
280 * cpu.h (sim_cpu): Update instruction_address with sim_cia.
281
282 Wed Apr 30 11:26:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
283
284 * sim-main.h (signal.h): Include so that SIG* available to all
285 callers of sig_halt.
286
287 * insns (do_shift): New function, implement shift operations.
288 (do_trap): Add handler for trap 73 - SIGTRAP.
289
290 Tue Apr 29 10:58:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
291
292 * alu.h (MEM, STORE): Force addresses to be correctly aligned.
293
294 * insns (do_jsr): Fix.
295 (do_st, do_ld): Handle 64bit transfers.
296 (do_trap): Match libgloss.
297 (rdcr): Implement nop - Dest == r0 - variant.
298
299 * sim-calls.c (sim_create_inferior): Initialize SP.
300
301 * Makefile.in (ENGINE_H): Everything now depends on sim-options.h.
302 (support.o): Depends on ENGINE_H.
303
304 * cpu.h: Four accumulators.
305
306 * Makefile.in (tmp-igen): Include line number information in
307 generated files.
308
309 * insns (dld, dst): Fill in.
310
311 Mon Apr 28 13:02:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
312
313 * insns (vld): Fix instruction format wrong.
314
315 Thu Apr 24 16:43:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
316
317 * dc: Add additional rules so that minor opcode files are
318 detected.
319 * insns: Enable more instructions.
320
321 * sim-calls.c (sim_fetch_register,sim_store_register, sim_write):
322 Implement.
323
324 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
325
326 * configure: Regenerated to track ../common/aclocal.m4 changes.
327 * Makefile.in (SIM_OBJS): Add sim-module.o, sim-profile.o.
328 * sim-calls.c (sim_open): Call sim_module_uninstall if argument
329 parsing fails. Call sim_post_argv_init.
330 (sim_close): Call sim_module_uninstall.
331
332 Wed Apr 23 20:05:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
333
334 * insns (and, bbo, bcnd, bsr, dcache, jsr, or, xor, nor): Enable.
335 * ic: Add fields for enabled instructions.
336