]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/d10v/ChangeLog
For "trap", IBT and RIE exceptions, mask all PSW.SM. NB: Stepping
[thirdparty/binutils-gdb.git] / sim / d10v / ChangeLog
CommitLineData
bc6df23d
AC
1Mon Dec 8 12:58:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
2
3 * simops.c (OP_5F00): From Martin Hunt <hunt@cygnus.com>. Change
4 reserved trap from 0 to 15. Add trap emulation code for 0-14.
5
6 * interp.c (sim_resume): From Martin Hunt <hunt@cygnus.com>. Check
7 IBA for SDBT.
8
9 * d10v_sim.h (AE_VECTOR_START, RIE_VECTOR_START,
10 SDBT_VECTOR_START, TRAP_VECTOR_START): Define.
11
12 * simops.c (OP_5F00): For "trap", mask out all but SM bit in PSW,
13 use move_to_cr.
14 (OP_5F00): For "trap", update BPSW with move_to_cr.
15
16Fri Dec 5 15:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
17
18 * d10v_sim.h (enum): Enumerate CR register names.
19 (enum): Enumerate PSW bit values.
20 (PSW): Obtain value uing move_from_cr.
21 (MOD_S, MOD_E, BPSW): Make r-values.
22 (move_from_cr, move_to_cr): Declare functions.
23
24 * interp.c (sim_fetch_register, sim_store_register): Use
25 move_from_cr and move_to_cr for CR register transfers.
26
27 * simops.c (move_from_cr, move_to_cr): New functions.
28 (OP_5F40): Move BPSW to PSW using move_to_cr and move_from_cr.
29 (OP_5600): For "mvtc", use function move_to_cr.
30 (OP_5200): For "mvfc", use function move_from_cr.
31
32Fri Dec 5 13:33:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
33
34 * simops.c (OP_5600): For "mvtc" MOD_E and MOD_S, ensure that the
35 LSbit is zero.
36
6e51f990
DE
37Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
38
39 * configure: Regenerated to track ../common/aclocal.m4 changes.
40
7f48c9fe
AC
41Thu Dec 4 16:51:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
42
43 * d10v_sim.h (struct _state): Add DM - PSW debug mask.
44
45 * simops.c (OP_5600): For "mvtc", save PSW.DM.
46 (OP_5200): Ditto for "mvfc".
47
aa49c64f
AC
48Wed Dec 3 17:27:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
49
50 * d10v_sim.h (SEXT56): Define.
51
52 * simops.c (OP_4201): For "rac", sign extend 56 bit value before
53 it is shifted.
54
55 * d10v_sim.h (MAX32, MIN32, MASK32, MASK40): Re-define using
56 SIGNED64 macro.
57
193e528c
FF
58Tue Dec 2 15:38:34 1997 Fred Fish <fnf@cygnus.com>
59
60 * interp.c (sim_resume): Call do_2_short with LEFT_FIRST or
61 RIGHT_FIRST, as appropriate, instead of hardcoded ints that
62 don't match enum values.
63
ae558075
AC
64Tue Dec 2 15:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
65
66 * simops.c (OP_3A00): For "macu", perform multiply stage using 32
67 bit rather than 16 bit precision.
9420287e 68 (OP_3C00): For "mulxu", store unsigned product in ACC.
d294a657 69 (OP_3800): For "msbu", subtract unsigned product from ACC,
193e528c 70 (OP_0): For "sub", compute carry by comparing inputs.
ae558075 71
51b057f2 72Tue Dec 2 11:04:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
70ee56c5 73
51b057f2
AC
74 * simops.c (OP_1000): For "sub2w", compute carry by comparing
75 inputs.
70ee56c5
AC
76
77Mon Nov 17 20:57:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
78
79 * simops.c (OP_1): Use 32 bit unsigned arithmetic for subtract,
80 carry indicated by value > 0xffff.
81
82Fri Nov 14 12:51:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
83
84 * interp.c (sim_resume): Don't set up SIGINT handler using signal,
85 handled by client.
86 (sim_resume): Fix race condition of a direct assignment to
87 stop_simulator, conditionally call sim_stop.
88 (sim_stop_reason): Check stop_simulator returning SIGINT. Clear
89 stop_simulator ready for next sim_resume call.
90 (sim_ctrl_c): Delete function.
91
92Thu Nov 13 19:29:34 1997 Andrew Cagney <cagney@b1.cygnus.com>
93
94 * interp.c (sim_resume): For "REP", only check/update the PC when
95 a branch instruction has not been executed.
96
87192c63
AC
97Mon Nov 10 17:50:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
98
99 * simops.c (OP_4201): "rachi". Sign extend bit 40 of ACC. Sign
100 extend bit 44 all constants.
101 (OP_4201): Replace GCC specific 0x..LL with SIGNED64 macro.
102
1315b4cb
AC
103Fri Oct 24 10:26:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
104
105 * d10v_sim.h: Include sim-types.h.
106 (uint8, in816, uiny16, int32, uint32, int64, uint64): Typedef
107 using unsigned8 et.al. from sim-types.h.
108 (SEXT32, SEXT40, SEXT44, SEXT60): Replace GCC specific 0x..LL with
109 SIGNED64 macro.
110
9e03a68f
AC
111Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
112
113 * interp.c (sim_write_phys): New function, write to physical
114 instead of virtual memory.
115
b5da31ac 116 * interp.c (sim_load): Pass lma_p and sim_write_phys to
9e03a68f
AC
117 sim_load_file.
118
1155e06e
FF
119Mon Oct 13 10:55:07 1997 Fred Fish <cygnus.com>
120
121 * simops.c (OP_6A01): Change OP_POSTDEC to OP_POSTINC and move
122 exception generation code to OP_6E01.
123 (OP_6E01): Change OP_POSTINC to OP_POSTDEC and insert exception
124 generation code.
125
93f0cb69
FF
126Sat Oct 11 09:02:08 1997 Fred Fish <fnf@cygnus.com>
127
128 * simops.c (OP_6401): postdecrement on r15 is OK, remove exception.
129 (OP_6601): Ditto.
130
131Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
132
133 * configure: Regenerated to track ../common/aclocal.m4 changes.
134
823f2df4
FF
135Sat Sep 27 12:51:34 1997 Fred Fish <fnf@cygnus.com>
136
137 * interp.c (pc_addr): Discard upper bit(s) of PC in case
138 IMAP1 selects unified memory.
5f90b21e
FF
139 * d10v_sim.h (INC_ADDR): Align MOD_E to increment before testing
140 for end condition.
823f2df4
FF
141
142Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
143
144 * configure: Regenerated to track ../common/aclocal.m4 changes.
145
92f91d1f
AC
146Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
147
148 * configure: Regenerated to track ../common/aclocal.m4 changes.
149
794e9ac9
AC
150Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
151
152 * configure: Regenerated to track ../common/aclocal.m4 changes.
153
b45caf05
AC
154Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
155
156 * configure: Regenerated to track ../common/aclocal.m4 changes.
157
158Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
159
160 * configure: Regenerated to track ../common/aclocal.m4 changes.
161
30d81984
MH
162Wed Sep 10 22:30:24 1997 Martin M. Hunt <hunt@cygnus.com>
163
164 * interp.c (sim_resume): Increment PC at end of rep
165 loop.
166
167 * simops.c (OP_4201): Fix rachi instruction.
168
6fea4763
DE
169Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
170
171 * configure: Regenerated to track ../common/aclocal.m4 changes.
172
88117054
AC
173Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
174
175 * configure: Regenerated to track ../common/aclocal.m4 changes.
176 * config.in: Ditto.
177
7230ff0f
AC
178Tue Aug 26 10:37:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
179
180 * interp.c (sim_kill): Delete.
fafce69a
AC
181 (sim_create_inferior): Add ABFD argument.
182 (sim_load): Move setting of PC from here.
183 (sim_create_inferior): To here.
184 (start_address): Delete variable.
7230ff0f 185
247fccde
AC
186Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
187
188 * configure: Regenerated to track ../common/aclocal.m4 changes.
189 * config.in: Ditto.
190
191Mon Aug 25 15:39:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
192
193 * interp.c (sim_open): Add ABFD argument.
194
195Tue May 20 10:14:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
196
197 * interp.c (sim_open): Add callback argument.
198 (sim_set_callbacks): Remove SIM_DESC argument.
199
200Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
201
202 * configure: Regenerated to track ../common/aclocal.m4 changes.
203
81f46481
DE
204Tue Apr 22 10:29:23 1997 Doug Evans <dje@canuck.cygnus.com>
205
206 * interp.c (sim_open): Undo patch to add -E support.
207
8517f62b
AC
208Fri Apr 18 13:39:01 1997 Andrew Cagney <cagney@b1.cygnus.com>
209
210 * interp.c (sim_stop): New function.
211
04885cc3
DE
212Thu Apr 17 02:42:00 1997 Doug Evans <dje@canuck.cygnus.com>
213
214 * Makefile.in (SIM_OBJS): Add sim-load.o.
215 * d10v_sim.h (exec_bfd): Rename to prog_bfd.
216 * interp.c: #include bfd.h.
217 (myname, sim_kind, start_address): New static locals.
218 (prog_bfd_was_opened_p, prog_bfd): New static locals.
219 (decode_pc): Update to use prog_bfd.
220 (sim_open): Set sim_kind, myname. Ignore -E arg.
221 (sim_close): Close prog_bfd if simulator opened it.
222 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
223 (sim_load): Return SIM_RC. New arg abfd. Set start address from bfd.
224 Call sim_load_file to load file into simulator.
225 * simops.c (trace_input_func): exec_bfd renamed to prog_bfd.
226
87e43259
AC
227Wed Apr 16 16:12:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
228
229 * simops.c (OP_5F00): Only provide system calls SYS_execv,
230 SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host.
231
232Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
233
234 * configure: Regenerated to track ../common/aclocal.m4 changes.
235 * config.in: Ditto.
236
fbda74b1
DE
237Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
238
8020feac
DE
239 * interp.c (sim_open): New arg `kind'.
240
fbda74b1
DE
241 * configure: Regenerated to track ../common/aclocal.m4 changes.
242
a35e91c3
AC
243Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
244
245 * configure: Regenerated to track ../common/aclocal.m4 changes.
246
247Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
248
249 * configure: Re-generate.
250
601fb8ae
MM
251Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
252
253 * configure: Regenerate to track ../common/aclocal.m4 changes.
254
255 * simops.c (OP_5F00): Remove old traps 1-3. Make trap 15 the same
eb312eff
MM
256 as trap 0, which will be deprecated. Only set errno, if an error
257 in fact was returned.
601fb8ae 258
395adcff
DE
259Thu Mar 13 12:41:20 1997 Doug Evans <dje@canuck.cygnus.com>
260
261 * interp.c: Delete redundant prototypes of sim_foo fns.
262 (sim_open): New SIM_DESC result. Argument is now in argv form.
263 (other sim_*): New SIM_DESC argument.
264
fd435e9f
MM
265Thu Mar 13 10:29:04 1997 Michael Meissner <meissner@cygnus.com>
266
267 * simops.c (trace_{input,output}_func): Call flush_stdout from the
268 callback functions.
269 (OP_5F00): Ditto.
f4b022d3
MM
270 (OP_6{4,6,C,A}01): Test for post decrement on the stack pointer.
271 (OP_{1200,1000000,201,5FE0,1003,17001002}): Fix problems in
272 setting the carry bit after an add or a subtract.
fd435e9f
MM
273
274Wed Feb 12 16:04:15 1997 Michael Meissner <meissner@cygnus.com>
275
276 * simops.c (OP_{1403,15002A02,3{0,4}0{0,1}}): Only use the bottom
277 40 bits of accumulators. Sign/zero extend as appropriate.
278
19c5af72
DE
279Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
280
281 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
282 COMMON_{PRE,POST}_CONFIG_FRAG instead.
283 * configure.in: sinclude ../common/aclocal.m4.
284 * configure: Regenerated.
285
295dbbe4
SG
286Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
287
288 * configure configure.in Makefile.in: Update to new configure
289 scheme which is more compatible with WinGDB builds.
290 * configure.in: Improve comment on how to run autoconf.
291 * configure: Re-run autoconf to get new ../common/aclocal.m4.
292 * Makefile.in: Use autoconf substitution to install common
293 makefile fragment.
294
295Fri Dec 27 22:54:05 1996 Angela Marie Thomas (angela@cygnus.com)
296
297 * gencode.c: patch to not #include "d10v_sim.h" which
298 unecessarily includes bfd.h and causes wingdb configure
299 to fail.
300
dbdae3de
MH
301Mon Dec 16 13:39:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
302
303 * interp.c (xfer_mem): Change unified memory to 0x0.
304
305Thu Nov 28 20:42:56 1996 Michael Meissner <meissner@tiktok.cygnus.com>
306
307 * simops.c (OP_3E01): Fix tracing information.
308 (OP_300{0,1}): Do not propigate sign.
309
72eeb006
DE
310Mon Nov 25 19:47:40 1996 Doug Evans <dje@canuck.cygnus.com>
311
312 * config.in (WORDS_BIGENDIAN): Add.
313 * configure: Regenerated.
314 * d10v_sim.h: #include "config.h"
315
316Sat Nov 23 09:34:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
317
318 * gencode.c (write_opcodes): Eliminate warnings when generated
319 table.c is compiled.
320
24cbf0a4
MM
321Wed Nov 20 19:41:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
322
323 * interp.c (sim_open): Cast result of calloc, and make sure NULL
324 was not returned.
325 (dmem_addr): If address is illegal or in I/O space, signal a bus
326 error.
327 (pc_addr): Signal bus error, not illegal instruction for bogus
328 pc.
329
cee402dd
DE
330Wed Nov 20 01:23:03 1996 Doug Evans <dje@canuck.cygnus.com>
331
332 * Makefile.in: Delete all stuff moved to ../common/Make-common.in.
333 (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
334 * configure.in: Simplify using macros in ../common/aclocal.m4.
335 Call AC_CHECK_HEADERS(unistd.h).
336 * configure: Regenerated.
337 * config.in: New file.
338 * interp.c: #include "callback.h".
339 * simops.c: #include "config.h". #include <unistd.h> if present.
340
341Fri Nov 8 16:19:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
342
343 * d10v-sim.h (simops): Add flag is_long.
344 (State): Add pc_changed. Instructions which update the PC should
345 use the JMP macro which sets this.
346 (JMP): New macro. Sets the PC and the pc_changed flag.
347
348 * gencode.c (write_opcodes): Add is_long field.
349
350 * interp.c (lookup_hash): If we blindly apply a short opcode's mask
351 to a long opcode we could get a false match. Check the opcode size.
352 (hash): Add a size field to the hash table.
353 (sim_open): Initialize size field in hash table.
354 (sim_resume): Change to logic for setting the PC. Used to increment the
355 PC if it had not been changed. This didn't allow single-instruction loops.
356 Now checks the flag State.pc_changed. Also now stops when ^C is received.
357 (dmem_addr): Fix translation of data segments to unified memory.
358 (sim_ctrl_c): New function. When ^C is received, set stop_simulator flag.
359
360 * simops.c: Changed all branch and jump instructions to use new JMP macro.
361 (OP_20000000): Corrected trace information to show this is a ldi.l, not
362 a ldi.s instruction.
363
5c839c67
MH
364Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
365
366 * interp.c (sim_fetch_register, sim_store_register): Fix bug where
367 updating the accumulators was overwriting other parts of the global
368 State variable.
369
b30cdd35
MM
370Wed Oct 30 17:35:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
371
372 * interp.c (bfd.h) Don't include it here any more.
373 (text{,_start,_end}): Move here from simops.c and make extern.
374 (decode_pc): New function to return the PC as an address that the
375 debugger can use.
376 (dmem_addr): Print decoded PC in error message.
377 (pc_addr): Ditto.
378
379 * simops.c (bfd.h) Don't include it here any more.
380 (text{,_start,_end}): Move to simops.c.
381 (trace_input_func): Move decoding of PC, and looking up .text
382 start to decode_pc.
383
384 * d10v_sim.h (bfd.h): Include it here.
385 (text{,_start,_end}): Add external declarations.
386 (exec_bfd): Ditto.
387 (decode_pc): Ditto.
388
c422ecc7
MH
389Tue Oct 29 12:13:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
390
391 * interp.c (sim_size): Now allocates unified memory for imap segments
392 0,1,2, and 127. Initializes imap0 and imap1 to 0x1000. Initializes dmap to 0.
393 (sim_write): Just call xfer_mem().
394 (sim_read): Just call xfer_mem().
395 (xfer_mem): New function. Does appropriate memory mapping and copies bytes.
396 (dmem_addr): New function. Reads dmap register and translates data
397 addresses to local addresses.
398 (pc_addr): New function. Reads imap register and computes local address
399 corresponding to contents of the PC.
400 (sim_resume): Change to use pc_addr().
401 (sim_create_inferior): Change reinitialization code. Also reinitializes
402 imap[01] and dmap.
403 (sim_fetch_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
404 (sim_store_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
405
406 * simops.c (MEMPTR): Redefine to use dmem_addr().
407 (OP_5F00): Replace references to STate.imem with dmem_addr().
408
409 * d10v-sim.h (State): Remove mem_min and mem_max. Add umem[128].
410 (RB,SW,RW,SLW,RLW): Redefine to use dmem_addr().
411 (IMAP0,IMAP1,DMAP,SET_IMAP,SET_IMAP1,SET_DMAP): Define.
412
413Tue Oct 22 15:22:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
414
415 * d10v_sim.h (_ins_type): Reorganize, so that we can provide
416 better statistics, like not counting NOPS as parallel
417 instructions, and printing total cycles.
418 (ins_type_counters): Make unsigned long.
419 (left_nops,right_nops): Fold into ins_type_counters.
420
421 * simops.c (trace_input_func): Print new instruction types.
422 Handle OP_R2R3 as input types.
423 (OP_{38000000,7000}): Correctly sign extend bytes.
424 (OP_5E00): Don't count NOPs as parallel instructions.
425 (OP_460B): Remove unused variable.
426 (OP_5F00): Ditto.
427
428 * interp.c (ins_type_counters): Make unsigned long.
429 (left_nops,right_nops): Delete.
430 (most functions): Add prototypes.
431 (INLINE): If GCC and optimize define as __inline__.
432 ({,lookup_}hash,get_operands): Declare as INLINE.
433 (do_parallel): Count conditional operations.
434 (add_commas): New function, to add commas every 3 digits.
435 (sim_size): Call add_commas to print numbers.
436 (sim_{open,resume}): Delete unused variables.
437 (sim_info): Provide better statistics.
438 (sim_read): Add int return type.
439
eca43eb1
MH
440Mon Oct 21 16:16:26 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
441
442 * interp.c (sim_resume): Change the way single-stepping and exceptions
443 are handled so single-stepping works again.
444
55116079
MM
445Thu Oct 17 12:24:16 1996 Michael Meissner <meissner@tiktok.cygnus.com>
446
447 * endian.c: Optimize simulated loads/stores on x86, AIX, and big
448 endian hosts.
449
450 * configure.in (--enable-sim-bswap): New switch to enable using
451 the BSWAP instruction on x86's.
452 * configure: Regenerate.
453
454 * Makefile.in ({SWAP,CONFIG}_CFLAGS): Add --enable-sim-bswap
455 support.
456
11ec4de6
MM
457Wed Oct 16 13:50:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
458
5c255669
MM
459 * endian.c: New file. Move endian functions here from interp.c.
460 Optimize code, and make it work as either inline functions or as a
461 separate file.
462
463 * interp.c: Move endian functions from here to endian.c.
464
465 * Makefile.in (INCLUDE): Add endian.c.
466 (run,libsim.a): Add dependency on endian.o.
467 (endian.o): Add dependency.
468
469 * d10v_sim.h (read/write support): Always go through the machine
470 independent endian functions. If compiling with GCC and
471 optimizing, include endian.c so the endian functions are inlined.
472
11ec4de6
MM
473 * simops.c (OP_5F00): Correct tracing of accumulators.
474
57bc1a72
MM
475Tue Oct 15 10:57:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
476
477 * simops.c (OP_5F00): Add support for getpid, kill system calls.
478
479 * interp.c (do_{2_short,parallel}): If an exception is raised,
480 don't execute the second instruction.
481
8918b3a7
MM
482Sat Oct 12 22:17:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
483
484 * simops.c (OP_{31000000,6601,6201,6200}): Store address in a
485 temporary in case the register is overriden when loading.
486 (OP_6200): Output type is OP_DREG for tracing.
487
488Fri Oct 4 23:46:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
489
490 * d10v_sim.h (struct _state): Add mem_{min,max} fields.
491
492 * interp.c (sim_size): Initialize mem_{min,max} fields.
493 (sim_write): Update mem_{min,max} fields.
494 (sim_resume): If PC is not in the minimum/maximum memory range,
495 abort.
496 (sim_create_inferior): Preserve mem_{min,max} fields.
497
498Fri Sep 27 13:11:58 1996 Mark Alexander <marka@cygnus.com>
499
500 * simops.c (OP_5F00): Add support for time() system call.
501
a18cb100
MM
502Wed Sep 25 16:31:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
503
504 * simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being
505 stored if tracing.
8918b3a7
MM
506 (OP_5F00,trace_{in,out}put_func): Add finer grain tracing for
507 system calls.
a18cb100
MM
508
509Mon Sep 23 17:55:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
510
511 * simops.c (op_types): Add OP_{CONSTANT8,R2,R3}.
512 (trace_input_func): Add support for OP_{CONSTANT8,R2,R3}.
513 (OP_{4900,24800000,4800,4A00,4B00,4D00,4C00}): Add OP_R2 and OP_R3
514 to call/subroutine returns to trace the first two arguments and
515 the return value. For small jumps, use CONSTANT8, not CONSTANT16.
516
c58a1ec2
MH
517Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
518
519 * interp.c (sim_create_inferior): Reinitialize State every time
520 sim_create_inferior() is called.
521
c12f5c67
MM
522Thu Sep 19 21:38:20 1996 Michael Meissner <meissner@wogglebug.ziplink.net>
523
524 * simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right
525 on comparisons.
526 (OP_401): Fix tracing information.
527
74473ea1
MM
528Thu Sep 19 10:30:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
529
891513ee
MM
530 * simops.c (SIZE_{PC,LINE_NUMBER}): New default sizes for output.
531 (trace_input_func): Use them.
f061ddf6
MM
532 (trace_input_func): Make sure there is a trailing space after the
533 instruction.
addb61a5 534 (OP_6200): Fix tracing info.
891513ee 535
74473ea1
MM
536 * Makefile.in (run): Add dependencies on libbfd.a and
537 libiberity.a.
538
a49a15ad
MM
539Wed Sep 18 09:13:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
540
541 * d10v_sim.h (DEBUG_INSTRUCTION): New debug value to include line
542 numbers and function names in debug trace.
543 (DEBUG): If not defined, set to DEBUG_TRACE, DEBUG_VALUES, and
544 DEBUG_LINE_NUMBER.
545 (SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction
546 and exit system call trap being executed.
547
548 * interp.c (sim_stop_reason): Set exit code correctly for stop
549 instruction and exit system call trap.
550
551 * configure.in (--enable-sim-cflags): Remove trace case.
552 (--enable-sim-debug): New switch to set the debug values.
553 * configure: Regenerate.
554
555 * simops.c (trace_{input,output}_func): Rename from
556 trace_{input,output}.
557 (trace_{input,output}): Call trace_{input,output}_func if
558 d10v_debug is non-zero.
559 (SIZE_INSTRUCTION): Cut down to 8.
560 (SIZE_OPERANDS): Cut down to 18.
561 (SIZE_LOCATION): New value for size of line number, function name
562 field.
563 (init_text_p,text{,_start,_end}): New static variables for
564 printing line number and function name.
0535fa1a 565 (exec_bfd): New external that run.c sets.
a49a15ad
MM
566 (trace_input_func): Print line number and function name if
567 available and if desired.
568 (OP_4E09): Don't print out DBT message.
569 (OP_5FE0): Set exception field to SIG_D10V_STOP.
570 (OP_5F00): Set exception field to SIG_D10V_EXIT.
571
215ac953
MM
572Sat Sep 14 22:18:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
573
574 * interp.c (do_2_short): If the instruction encodes jump->ins,
575 don't do the second instruction if the jump succeeds.
576
19d44375
MM
577Fri Sep 13 22:35:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
578
579 * simops.c (OP_5F00): Use unknown traps to print all GPRs,
580 accumulators, PC, and F0/F1/C flags.
581
65c0d7de
MA
582Thu Sep 12 12:50:11 1996 Mark Alexander <marka@cygnus.com>
583
584 * simops.c (OP_5F00): Fix problems with system calls.
585
a5719092
MM
586Thu Sep 12 12:19:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
587
588 * simops.c (OP_5F00): Correct tracing information for trap.
589
5ceef1b5
MM
590Wed Sep 11 18:55:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
591
592 * Makefile.in (CSEARCH): Correctly find opcodes directory.
593
069398aa
MM
594Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
595
596 * simops.c (trace_output): Properly align accumulator output.
597 (OP_3{0,2,4}00): Properly parenthesize test expression. Add error
598 if shift count is too high.
293c76a3 599 (OP_4E{00,02,04,20,22,40,42}): Make tests agree with book.
60fc5b72
MM
600 (OP_4E09): Make cpfg properly trace the input flags.
601 (op_types): Add OP_FLAG_OUTPUT.
602 (trace_{input,output}): Support OP_FLAG_OUTPUT.
308f64d3
MM
603 (OP_31000000): This ld2w varient is a 16-bit memory reference, not
604 an 8-bit memory reference instruction for tracing purposes.
2254cd90 605 (OP_201): Addi needs to set the carry.
069398aa 606
ea2155e8
MH
607Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
608
609 * simops.c (OP_2600, OP_2601): Changed min and max comparisons
610 to use signed register values.
611
87178dbd
MM
612Wed Sep 4 11:35:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
613
614 * d10v_sim.h (DEBUG_*): Add bit flags for controlling debug
615 output.
616 (_ins_type): New enumeration to specify which container an
617 instruction is in, and whether it is part of a parallel operation.
618 (_state): Add ins_type field.
7eebfc62
MM
619 ({,u}int{8,16,32,64}): Use limits.h to size the appropriate types.
620 (ins_type_counters): Counters for the various instruction types.
621 ({left,right}_nops): Counters for the number of nops in each
622 container.
623 (d10v_debug): New variable to indicate whether debugging is turned
624 on.
625
626 * simops.c: (all functions): Change all #ifdef DEBUG code so that
627 the input and output values can be traced, along with the
628 instruction type. Make the -t option enable tracing.
629 (all functions): Change printf calls to use the printf_filtered
630 function in the callback table.
87178dbd
MM
631
632 * interp.c (_leftright): New enumeration to say whether 2 short
633 instructions are done left first or right first.
634 (do_{long,2_short,parallel}): Indicate in the machine state which
7eebfc62
MM
635 type of instruction this is. Count each of the types of
636 instructions executed.
87178dbd
MM
637 (sim_size): Only print the memory sizes if DEBUG_MEMSIZE debug
638 flag is set.
639 (sim_resume): Pass left/right indication to do_2_short.
7eebfc62
MM
640 (all functions): Change printf calls to use the printf_filtered
641 function in the callback table.
642 (sim_trace): Turn on debug flag if DEBUG was defined, and call
643 sim_resume.
644 (sim_info): Print out statistics on instructions.
645 (sim_{trace,create_inferior}): Eliminate extraneous output unless
646 debugging.
1eaaf305
MM
647 (sim_open): If args == -t and DEBUG was defined, set d10v_debug.
648 Only initialize the hash table the first time sim_open is called.
7eebfc62
MM
649
650 * Makefile.in: Make objects depend on d10v_sim.h.
1eaaf305
MM
651 ({,SIM_}CFLAGS): Include configure dependent switches. Setting
652 CFLAGS does not override host/target defines or SIM_CFLAGS.
653 (CC_FOR_BUILD,gencode): Use CC_FOR_BUILD to compile gencode.
654 (run): By default, the math library is not needed to be linked
655 in.
9b86c7e2 656 ({BFD,LIBIBERTY}_LIB): Define as variables so they can be
1eaaf305 657 overridden.
9b86c7e2
MM
658 (VPATH): Don't set to anything but @srcdir@ to work with non-GNU
659 makes.
660 ({run,callback}.o): Provide explicit paths to their appropriate
661 source directories.
662 (gencode{,.o},d10v-opc.o): Split compilation into creating object
663 and linking. Instead of linking in libopcodes.a, just compile
664 d10v-opc.o directly to handle canadian cross.
665 (CSEARCH): Add opcodes directory.
7eebfc62
MM
666
667 * configure.in (--enable-sim-cflags): New switch to allow user to
668 set the defaults.
1eaaf305 669 (CC_FOR_BUILD): Deal with canadian crosses.
7eebfc62 670 * configure: Regenerate.
87178dbd 671
8719be26
MA
672Wed Sep 04 04:45:34 1996 Mark Alexander <marka@cygnus.com>
673
674 * simops.c: Include correct syscall.h for d10v, not host's.
675 Fix #ifdef SYS_stat.
676
677Tue Sep 3 14:00:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
678
679 * simops.c (OP_5F00): Wrap all SYS_xxx traps with #ifdef.
680 Add trap 2 to be printf and trap 3 to be putchar.
681
682Wed Aug 28 21:42:34 1996 Mark Alexander <marka@cygnus.com>
683
684 * Makefile.in, d10v_sim.h, interp.c, simops.c: Add support
685 for low-level system calls.
686
d70b4d42
MH
687Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
688
689 * Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
690
691Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
692
693 * d10v_sim.h (SEXT32): Added.
694 * interp.c: Commented out printfs.
695 * simops.c: Fixed error in sb and st2w.
696
697Thu Aug 15 13:30:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
698
699 * Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining
700 DSP instructions. Added modulo addressing.
701
702Sun Aug 11 12:57:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
703
704 * Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot.
705
4c38885c
MH
706Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
707
708 * d10v_sim.h, simops.c: Snapshot.
709
2934d1c9
MH
710Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
711
712 * ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h,
713 gencode.c, interp.c, simops.c: Created.
714