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