]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/d10v/ChangeLog
merge from gcc
[thirdparty/binutils-gdb.git] / sim / d10v / ChangeLog
CommitLineData
6b4a8935
AC
12003-02-27 Andrew Cagney <cagney@redhat.com>
2
3 * interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.
4
d25b1553
AC
52002-11-13 Andrew Cagney <cagney@redhat.com>
6
7 * simops.c: Include <string.h>.
8
57af9c8b
AC
92002-06-17 Andrew Cagney <cagney@redhat.com>
10
11 * d10v_sim.h (SET_PSW_BIT): Add cast to avoid inverting an enum.
12
c8cca39f
AC
132002-06-16 Andrew Cagney <ac131313@redhat.com>
14
15 * configure: Regenerated to track ../common/aclocal.m4 changes.
16
3d2957e6
TR
172002-06-13 Tom Rix <trix@redhat.com>
18
19 * interp.c (xfer_mem): Fix transfers across multiple segments.
20
3c25f8c7
AC
212002-06-09 Andrew Cagney <cagney@redhat.com>
22
23 * Makefile.in (INCLUDE): Update path to callback.h.
24 * gencode.c: Do not include "callback.h".
25 * d10v_sim.h: Include "gdb/callback.h" and "gdb/remote-sim.h".
26 * interp.c: Ditto.
27
983b727e
AC
282002-06-08 Andrew Cagney <cagney@redhat.com>
29
30 * interp.c (sim_fetch_register): Fix name of enum used in cast.
31 (sim_store_register): Ditto.
32
676ab6a0 332002-06-02 Elena Zannoni <ezannoni@redhat.com>
c7675842
EZ
34
35 From Jason Eckhardt <jle@redhat.com>
36 * d10v_sim.h (INC_ADDR): Correctly handle the case where MOD_E is
37 less than MOD_S (post-decrement).
38
18c0df9e
AC
392002-06-01 Andrew Cagney <ac131313@redhat.com>
40
41 * interp.c (sim_fetch_register, sim_store_register): Use a switch
42 statement and enums from "sim-d10v.h".
43
1aa5e64f
EZ
442002-05-28 Elena Zannoni <ezannoni@redhat.com>
45
46 * interp.c (sim_create_inferior): Add comment.
47
48 From Alan Matsuoka <alanm@redhat.com>:
49 From 2001-04-27 Jason Eckhardt <jle@cygnus.com>:
50 * simops.c (OP_4400): Output "mvf0f" instead of "mf0f".
51 (OP_4401): Output "mvf0t" instead of "mf0t".
52 (OP_460B): Do not output a flag register.
53 (OP_4609): Do not output a flag register.
54
b91b96f4
AC
552002-05-23 Andrew Cagney <ac131313@redhat.com>
56
57 * Makefile.in (INCLUDE): Add "gdb/sim-d10v.h".
58 * interp.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
59
962b3ead
JM
602001-08-01 John R. Moore <jmoore@redhat.com>
61
62 * interp.c (sim_create_inferior): Removed a hack that stated
63 it was setting r0/r1 with argc/argv.
64
d4424ada
C
652001-04-15 J.T. Conklin <jtc@redback.com>
66
67 * Makefile.in (simops.o): Add simops.h to dependency list.
68
eb2d80b4
AC
69Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
70
71 * configure: Regenerated to track ../common/aclocal.m4 changes.
72
27842f65
AC
73Tue Apr 18 16:26:41 2000 Andrew Cagney <cagney@b1.cygnus.com>
74
75 * interp.c (sim_resume): Deliver SIGILL.
76 (lookup_hash): Do not print SIGILL message.
77
baa7ae6f
AC
78Tue Feb 22 18:24:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
79
80 * Makefile.in (SIM_EXTRA_CFLAGS): Define SIM_HAVE_ENVIRONMENT.
81 * interp.c (sim_set_trace): Replace sim_trace. Enable tracing.
82
ba744a4f
AC
83Tue Feb 8 17:41:12 2000 Andrew Cagney <cagney@b1.cygnus.com>
84
85 * d10v_sim.h (SIG_D10V_BUS): Define.
86
87 * simops.c (address_exception): Delete function.
88 (OP_30000000, OP_6401, OP_6001, OP_6000, OP_32010000, OP_31000000,
89 OP_6601, OP_6201, OP_6200, OP_33010000, OP_34000000, OP_6800,
90 OP_6C1F, OP_6801, OP_6C01, OP_36010000, OP_35000000, OP_6A00,
91 OP_6E1F, OP_6A01, OP_6E01, OP_37010000): Replace call to
92 address_exception with code that sets SIG_D10V_BUS.
93
94 * interp.c (sim_resume): When SIGBUS or SIGSEGV, deliver a bus
95 error to the simulator before resuming execution.
96 (sim_trace): Check stop reason and use that to determine sim_trace
97 return value.
98 (sim_stop_reason): For SIG_D10V_BUS return a SIGBUS / SIGSEGV
99 sigrc.
100
101Tue Jan 18 16:07:42 MST 2000 Diego Novillo <dnovillo@cygnus.com>
102
103 * interp.c (sim_create_inferior): Change internal initial value for
104 DMAP2 to 0x2000.
105
c3f6f71d
JM
106Mon Jan 3 02:06:07 2000 Andrew Cagney <cagney@b1.cygnus.com>
107
108 * interp.c (lookup_hash): Stop the update of the PC when there was
109 an illegal instruction exception.
110
111Mon Jan 3 00:14:33 2000 Andrew Cagney <cagney@b1.cygnus.com>
112
113 * simops.c (address_exception): New function.
114 (OP_30000000, OP_6401, OP_6001, OP_6000, OP_32010000, OP_31000000,
115 OP_6601, OP_6201, OP_6200, OP_33010000, OP_34000000, OP_6800,
116 OP_6C1F, OP_6801, OP_6C01, OP_36010000, OP_35000000, OP_6A00,
117 OP_6E1F, OP_6A01, OP_6E01, OP_37010000): For "ld", "ld2w", "st"
118 and "st2w" check that the address is aligned.
119
8ae7f924
FCE
1201999-12-30 Chandra Chavva <cchavva@cygnus.com>
121
122 * d10v_sim.h (INC_ADDR): Added code to assign
123 proper address for loads with predec operations.
124
c2d11a7d
JM
1251999-11-25 Nick Clifton <nickc@cygnus.com>
126
127 * simops.c (OP_4E0F): New function: Simulate new bit pattern for
128 cpfg instruction.
129
4ce44c66
JM
130Fri Oct 29 18:34:28 1999 Andrew Cagney <cagney@b1.cygnus.com>
131
132 * simops.c (move_to_cr): Don't allow user to set PSW.DM in either
133 DPSW and BPSW.
134
135Thu Oct 28 01:26:18 1999 Andrew Cagney <cagney@b1.cygnus.com>
136
137 * simops.c (OP_5F20): Use SET_HW_PSW when updating PSW.
138 (PSW_HW_MASK): Declare.
139
140 * d10v_sim.h (move_to_cr): Add ``psw_hw_p'' parameter.
141 (SET_CREG, SET_PSW_BIT): Update.
142 (SET_HW_CREG, SET_HW_PSW): Define.
143
144Sun Oct 24 21:38:04 1999 Andrew Cagney <cagney@b1.cygnus.com>
145
146 * interp.c (sim_d10v_translate_dmap_addr): Fix extraction of IOSP
147 for DMAP3.
148
149Sun Oct 24 16:04:16 1999 Andrew Cagney <cagney@b1.cygnus.com>
150
151 * interp.c (sim_d10v_translate_addr): New function.
152 (xfer_mem): Rewrite. Use sim_d10v_translate_addr.
153 (map_memory): Make INLINE.
154
155Sun Oct 24 13:45:19 1999 Andrew Cagney <cagney@b1.cygnus.com>
156
157 * interp.c (sim_d10v_translate_dmap_addr): New function.
158 (dmem_addr): Rewrite. Use sim_d10v_translate_dmap_addr. Change
159 offset parameter to type uint16.
160 * d10v_sim.h (dmem_addr): Update declaration.
161
162Sun Oct 24 13:07:31 1999 Andrew Cagney <cagney@b1.cygnus.com>
163
164 * interp.c (imap_register, set_imap_register, dmap_register,
165 set_imap_register): Use map_memory.
166 (DMAP): Update.
167 (sim_create_inferior): Initialize all DMAP registers. NOTE that
168 DMAP2, in internal memory mode, is set to 0x0000 and NOT
169 0x2000. This is consistent with the older d10v boards.
170
171Sun Oct 24 11:22:12 1999 Andrew Cagney <cagney@b1.cygnus.com>
172
173 * interp.c (sim_d10v_translate_imap_addr): New function.
174 (imem_addr): Rewrite. Use sim_d10v_translate_imap_addr.
175 (last_from, last_to): Declare.
176
177Sun Oct 24 01:21:56 1999 Andrew Cagney <cagney@b1.cygnus.com>
178
179 * d10v_sim.h (struct d10v_memory): Define. Support very long
180 memories.
181 (struct _state): Replace imem, dmem and umem by mem.
182 (IMAP_BLOCK_SIZE, DMAP_BLOCK_SIZE, SEGMENT_SIZE, IMEM_SEGMENTS,
183 DMEM_SEGMENTS, UMEM_SEGMENTS): Define.
184
185 * interp.c (map_memory): New function.
186 (sim_size, xfer_memory, imem_addr, dmem_addr): Update.
187 (UMEM_SEGMENTS): Moveed to "d10v_sim.h".
188 (IMEM_SIZEDMEM_SIZE): Delete.
189
190Sat Oct 23 20:06:58 1999 Andrew Cagney <cagney@b1.cygnus.com>
191
192 * interp.c: Include "sim-d10v.h".
193 (imap_register, set_imap_register, dmap_register,
194 set_dmap_register, spi_register, spu_register, set_spi_register,
195 set_spu_register): New functions.
196 (sim_create_inferior): Update.
197 (sim_fetch_register, sim_store_register): Rewrite. Use enums
198 defined in sim-d10v.h.
199
200 * d10v_sim.h (DEBUG_MEMORY): Define.
201 (IMAP0, IMAP1, DMAP, SET_IMAP0, SET_IMAP1, SET_DMAP): Delete.
202
203Sat Oct 23 18:41:18 1999 Andrew Cagney <cagney@b1.cygnus.com>
204
205 * interp.c (sim_open): Allow a debug value to be passed to the -t
206 option.
207 (lookup_hash): Don't exit on an illegal instruction.
208 (do_long, do_2_short, do_parallel): Check for failed instruction
209 lookup.
210
5c44784c
JM
211Mon Oct 18 18:03:24 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
212
213 * simops.c (OP_3220): Fix trace output for illegal accumulator
4ce44c66 214 message.
5c44784c 215
c2c6d25f
JM
2161999-09-14 Nick Clifton <nickc@cygnus.com>
217
218 * simops.c: Disable setting of DM bit in PSW.
219
cff3e48b
JM
220Wed Sep 8 19:34:55 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
221
222 * simops.c (op_types): Added new memory indirect type OP_MEMREF3.
223 (trace_input_func): Added support for OP_MEMREF3.
224 (OP_32010000): New instruction ld.
225 (OP_33010000): New instruction ld2w.
226 (OP_5209): New instruction sac.
227 (OP_4209): New instruction sachi.
228 (OP_3220): New instruction slae.
229 (OP_36010000): New instruction st.
230 (OP_37010000): New instruction st2w.
231
2321999-09-09 Stan Shebs <shebs@andros.cygnus.com>
233
234 * interp.c (old_segment_mapping): New global.
235 (xfer_mem): Change the default segment mapping to be the way
236 that Mitsubishi prefers, but use the previous mapping if
237 old_segment_mapping is true.
238 (sim_open): Add an option -oldseg to get the old mapping.
239 (sim_create_inferior): Init mapping registers based on the
240 value of old_segment_mapping.
241
d4f3574e
SS
2421999-09-07 Nick Clifton <nickc@cygnus.com>
243
244 * simops.c (OP_6601): Do not write back decremented address if
245 either of the destination registers was the same as the address
246 register.
247 (OP_6201): Do not write back incremented address if either of the
248 destination registers was the same as the address register.
249
250Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
251
252 * configure: Regenerated to track ../common/aclocal.m4 changes.
253
cd0fc7c3
SS
2541999-05-08 Felix Lee <flee@cygnus.com>
255
256 * configure: Regenerated to track ../common/aclocal.m4 changes.
257
7a292a7a
SS
2581999-04-02 Keith Seitz <keiths@cygnus.com>
259
260 * interp.c (ui_loop_hook_counter): New global (when NEED_UI_LOOP_HOOK
261 defined).
262 (sim_resume): If the counter has expired, call the ui_loop_hook,
263 if defined.
264 (UI_LOOP_POLL_INTERVAL): Define. Used to tweak the frequency of
265 ui_loop_hook calls.
266 * Makefile.in (SIM_EXTRA_CFLAGS): Include NEED_UI_LOOP_HOOK.
267
268Wed Mar 10 19:32:13 1999 Nick Clifton <nickc@cygnus.com>
269
270 * simops.c: If load instruction with auto increment/decrement
271 addressing is used when the destination register is the same as
272 the address register, then ignore the auto increment/decrement.
273
274Wed Mar 10 19:32:13 1999 Martin M. Hunt <hunt@cygnus.com>
275
276 * simops.c (OP_5F00): Ifdef SYS_stat case because
277 not all systems have it defined.
278
c906108c
SS
2791999-01-26 Jason Molenda (jsm@bugshack.cygnus.com)
280
281 * simops.c (OP_5607): Correct saturation comparison/assignment.
282 (OP_1201, OP_1203, OP_17001200, OP_17001202,
283 OP_2A00, OP_2800, OP_2C00, OP_3200, OP_3201,
284 OP_1001, OP_1003, OP_17001000, OP_17001002): Ditto.
285
2861999-01-26 Jason Molenda (jsm@bugshack.cygnus.com)
287
288 * simops.c (OP_5605): Sign extend MIN32 and MAX32 before saturation
289 comparison.
290 (OP_5607): Ditto.
291 (OP_2A00): Ditto.
292 (OP_2800): Ditto.
293
2941999-01-13 Jason Molenda (jsm@bugshack.cygnus.com)
295
296 * simops.c (OP_1223): Sign extend MIN32 and MAX32 before saturation
297 comparison.
298
299Tue Nov 24 17:04:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
300
301 * simops.c (sys/syscall.h): Include targ-vals.h instead.
302 (SYS_*): Replace with TARGET_SYS_*.
303
304 * Makefile.in: Add dependency on targ-vals.h.
305 (NL_TARGET): Define as NL_TARGET_d10v.
306
307Wed Sep 30 00:06:32 1998 Andrew Cagney <cagney@amy.cygnus.com>
308
309 * interp.c (xfer_mem): Missing break, instruction memory case
310 flowed into unified memory case.
311
312Wed Sep 30 10:14:18 1998 Nick Clifton <nickc@cygnus.com>
313
314 * simops.c: If load instruction with auto increment/decrement
315 addressing is used when the destination register is the same as
316 the address register, then ignore the auto increment/decrement.
317
318Tue Apr 28 18:33:31 1998 Geoffrey Noer <noer@cygnus.com>
319
320 * configure: Regenerated to track ../common/aclocal.m4 changes.
321
322Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
323
324 * configure: Regenerated to track ../common/aclocal.m4 changes.
325 * config.in: Ditto.
326
327Sun Apr 26 15:20:23 1998 Tom Tromey <tromey@cygnus.com>
328
329 * acconfig.h: New file.
330 * configure.in: Reverted change of Apr 24; use sinclude again.
331
332Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
333
334 * configure: Regenerated to track ../common/aclocal.m4 changes.
335 * config.in: Ditto.
336
337Fri Apr 24 11:20:06 1998 Tom Tromey <tromey@cygnus.com>
338
339 * configure.in: Don't call sinclude.
340
341Fri Apr 24 11:04:46 1998 Andrew Cagney <cagney@chook.cygnus.com>
342
343 * interp.c (struct hash_entry): OPCODE and MASK are unsigned.
344
345 * d10v_sim.h (remote-sim.h, sim-config.h): Include.
346
347Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
348
349 * configure: Regenerated to track ../common/aclocal.m4 changes.
350
351Wed Apr 1 12:59:17 1998 Andrew Cagney <cagney@b1.cygnus.com>
352
353 * simops.c (trace_input_func): Use move_from_cr / CREGS to obtain
354 up-to-date CR value.
355 (OP_OP_1000000, add3): Trace inputs before performing add.
356 (OP_5F00, <*>): Trace input registers before making system call.
357 (OP_5F00, <kill>): Trace R0, R1 not REGn.
358 (OP_5F00, <getpid>): Always return 47.
359
360 * d10v_sim.h (SLOT, SLOT_NR, SLOT_PEND_MASK, SLOT_PEND,
361 SLOT_DISCARD, SLOT_FLUSH): Define. An implementation of write
362 back slots.
363 (struct _state): Add struct slot slot to global state variable.
364 (struct _state): Delete fields SM, EA, DB, DM, IE, RP, MD, FX, ST,
365 F0, F1, C from global State variable.
366 (struct _state): Add struct trace to global State variable.
367 (GPR, SET_GPR): Define. SET_GPR uses SLOT_PEND.
368 (PSW*, SET_PSW*): Define. SET_PSW* uses SET_CREG.
369 (CREG, SET_CREG, SET_*): Define. SET_CREG uses func move_to_cr.
370 (INC_ADDR): Re-implement. Use SET_GPR to update registers.
371 (JMP): Re-implement. Use SET_* to update registers.
372
373 * interp.c: Use new SET_* et.al. macros to fetch / store
374 registers.
375 (get_operands): Squirrel away trace values at start of each
376 operand decode.
377 (do_2_short): Flush pending writes before issuing second
378 instruction.
379 (sim_resume): Flush pending writes at end of instruction cycle.
380 (sim_fetch_register, sim_store_register, sim_create_inferior):
381 After scheduling updates to registers using SET_*, flush updates.
382 (sim_resume): Re-order handling of RPT/repeat and IBA/hbreak so
383 that each sets pc using SET_* and last SET_* eventually winds out.
384
385 * simops.c: Use new SET_* et.al. macros to fetch / store
386 registers.
387 (move_to_cr): Add MASK argument for selective update of CREG bits.
388 Re-implement using new SET_* macros.
389 (trace_output_func, trace_output): Delete. Replace with.
390 (do_trace_output_flush, trace_output_finish, trace_output_40,
391 trace_output_32, trace_output_16, trace_output_void,
392 trace_output_flag): New functions. Handle specific trace cases.
393 (OP_*): Re-write tracing to use new trace_output_* functions.
394 (OP_*): Re-write to use new SET_* et.al. macros.
395 (FUNC, PARM[1-4], RETVAL, RETVAL32): Redo definition.
396 (RETVAL_HIGH, RETVAL_LOW): Delete, use RETVAL32.
397
398Wed Apr 1 12:55:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
399
400 * configure.in (SIM_AC_OPTION_WARNINGS): Add.
401 configure: Re-generate.
402
403Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
404
405 * configure: Regenerated to track ../common/aclocal.m4 changes.
406
407Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
408
409 * configure: Regenerated to track ../common/aclocal.m4 changes.
410
411Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
412
413 * configure: Regenerated to track ../common/aclocal.m4 changes.
414
415Tue Feb 17 12:38:42 1998 Andrew Cagney <cagney@b1.cygnus.com>
416
417 * interp.c (sim_store_register, sim_fetch_register): Pass in
418 length parameter. Return -1.
419
420Mon Oct 27 14:43:33 1997 Fred Fish <fnf@cygnus.com>
421
422 * (dmem_addr): If address is illegal or in I/O space, signal a bus
423 error. Allocate unified memory on demand. Fix DMEM address
424 calculations.
425
426Mon Feb 16 10:27:53 1998 Andrew Cagney <cagney@b1.cygnus.com>
427
428 * simops.c (OP_5F20): Implement "dbt".
429 (OP_5F60): Implement "rtd".
430
431 * d10v_sim.h (DPC_CR): Define enum.
432 (DBT_VECTOR_START): Define
433 (DPSW, DPC): Define.
434
435Fri Feb 13 15:15:58 1998 Andrew Cagney <cagney@b1.cygnus.com>
436
437 * simops.c (move_to_cr): Sync regs[SP_IDX] with State.sp according
438 to PSW:SM.
439
440 * d10v_sim.h (struct _state): Add sp, as holding area for SPI/SPU.
441 (SP_IDX): Define.
442
443Wed Feb 11 16:53:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
444
445 * simops.c (OP_5F00): Call error instead of abort for unknown
446 syscalls.
447
448 * d10v_sim.h (enum): Define DPSW_CR.
449
450 * simops.c (move_to_cr): Mask out hardwired zero bits in DPSW.
451
452Tue Feb 10 18:28:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
453
454 * interp.c (sim_write_phys): Delete.
455 (sim_load): Call sim_load_file with sim_write and LMA.
456
457Mon Feb 9 12:05:01 1998 Andrew Cagney <cagney@b1.cygnus.com>
458
459 * interp.c: Rewrite xfer_mem so that it translates addresses as -
460 0x00... - DMAP translated memory, 0x01... IMAP translated memory,
461 0x10... - on-chip data, 0x11... - on-chip insn, 0x12... - unified
462 memory.
463 (pc_addr): Delete.
464 (imem_addr): New function - translate IMEM address.
465 (sim_resume): Use imem_addr to translate insn address, abort if
466 translation failed.
467 (sim_create_inferior): Write ARGV to memory using sim_write. Pass
468 argc/argv using r0/r1 not r2/r3.
469 (sim_size): Do not initialize IMAP/DMAP here.
470 (sim_open): Call sim_create_inferior and sim_size to initialize
471 the system.
472 (sim_create_inferior): Initialize IMAP/DMAP to hardware reset
473 defaults.
474 (init_system): Delete.
475 (xfer_mem, sim_fetch_register, sim_store_register): Do not call
476 init_system.
477 (decode_pc): Check prog_bfd is defined before looking up .text
478 section.
479
480Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
481
482 * configure: Regenerated to track ../common/aclocal.m4 changes.
483
484Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
485
486 * configure: Regenerated to track ../common/aclocal.m4 changes.
487
488Sun Jan 25 22:23:01 1998 Michael Meissner <meissner@cygnus.com>
489
490 * interp.c (sim_stop_reason): Exit status is now in r0, not r2.
491
492Sat Jan 24 19:00:30 1998 Michael Meissner <meissner@cygnus.com>
493
494 * d10v_sim.h (DEBUG_TRAP): New debug flag.
495
496 * simops.c (OP_5F00): If DEBUG_TRAP is on, turn traps 0-14 into
497 printing the registers.
498
499Thu Jan 22 17:54:01 1998 Michael Meissner <meissner@cygnus.com>
500
501 * simops.c (op_types): New ABI, args are r0..r3, system call # is
502 in r4.
503 (trace_{in,out}put_func): Ditto.
504 (OP_4900): Ditto.
505 (OP_24800000): Ditto.
506 (OP_4D00): Ditto.
507 (OP_5F00): Ditto.
508
509Thu Jan 22 14:30:36 1998 Fred Fish <fnf@cygnus.com>
510
511 * interp.c (UMEM_SEGMENTS): New define, set to 128.
512 (sim_size): Use UMEM_SEGMENTS rather than hardwired constant.
513 (sim_close): Reset prog_bfd to NULL after closing it. Also
514 reset prog_bfd_was_opened_p after closing prog_bfd.
515 (sim_load): Reset prog_bfd_was_opened_p after closing prog_bfd.
516 (sim_create_inferior): Get start address from abfd not prog_bfd.
517 (xfer_mem): Do bounds checking on addresses and return zero length
518 read/write on bad addresses, rather than aborting. Prepare to
519 be able to handle xfers that cross segment boundaries, but not
520 yet implemented. Only emit debug message when d10v_debug is
521 set as well as DEBUG being defined.
522
523Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
524
525 * configure: Regenerated to track ../common/aclocal.m4 changes.
526
527Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
528
529 * configure: Regenerated to track ../common/aclocal.m4 changes.
530 * config.in: Ditto.
531
532Tue Dec 9 10:28:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
533
534 * d10v_sim.h (RPT_S): Index cregs with RPT_S_CR not RPT_E_CR.
535 (BPSW): Ditto for BPSW_CR and not PSW_CR.
536
537 * simops.c (OP_5F40): JMP to BPC instead of assigning PC directly.
538
539Mon Dec 8 12:58:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
540
541 * simops.c (OP_5F00): From Martin Hunt <hunt@cygnus.com>. Change
542 reserved trap from 0 to 15. Add trap emulation code for 0-14.
543
544 * interp.c (sim_resume): From Martin Hunt <hunt@cygnus.com>. Check
545 IBA for SDBT.
546
547 * d10v_sim.h (AE_VECTOR_START, RIE_VECTOR_START,
548 SDBT_VECTOR_START, TRAP_VECTOR_START): Define.
549
550 * simops.c (OP_5F00): For "trap", mask out all but SM bit in PSW,
551 use move_to_cr.
552 (OP_5F00): For "trap", update BPSW with move_to_cr.
553
554Fri Dec 5 15:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
555
556 * d10v_sim.h (enum): Enumerate CR register names.
557 (enum): Enumerate PSW bit values.
558 (PSW): Obtain value uing move_from_cr.
559 (MOD_S, MOD_E, BPSW): Make r-values.
560 (move_from_cr, move_to_cr): Declare functions.
561
562 * interp.c (sim_fetch_register, sim_store_register): Use
563 move_from_cr and move_to_cr for CR register transfers.
564
565 * simops.c (move_from_cr, move_to_cr): New functions.
566 (OP_5F40): Move BPSW to PSW using move_to_cr and move_from_cr.
567 (OP_5600): For "mvtc", use function move_to_cr.
568 (OP_5200): For "mvfc", use function move_from_cr.
569
570Fri Dec 5 13:33:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
571
572 * simops.c (OP_5600): For "mvtc" MOD_E and MOD_S, ensure that the
573 LSbit is zero.
574
575Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
576
577 * configure: Regenerated to track ../common/aclocal.m4 changes.
578
579Thu Dec 4 16:51:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
580
581 * d10v_sim.h (struct _state): Add DM - PSW debug mask.
582
583 * simops.c (OP_5600): For "mvtc", save PSW.DM.
584 (OP_5200): Ditto for "mvfc".
585
586Wed Dec 3 17:27:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
587
588 * d10v_sim.h (SEXT56): Define.
589
590 * simops.c (OP_4201): For "rac", sign extend 56 bit value before
591 it is shifted.
592
593 * d10v_sim.h (MAX32, MIN32, MASK32, MASK40): Re-define using
594 SIGNED64 macro.
595
596Tue Dec 2 15:38:34 1997 Fred Fish <fnf@cygnus.com>
597
598 * interp.c (sim_resume): Call do_2_short with LEFT_FIRST or
599 RIGHT_FIRST, as appropriate, instead of hardcoded ints that
600 don't match enum values.
601
602Tue Dec 2 15:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
603
604 * simops.c (OP_3A00): For "macu", perform multiply stage using 32
605 bit rather than 16 bit precision.
606 (OP_3C00): For "mulxu", store unsigned product in ACC.
607 (OP_3800): For "msbu", subtract unsigned product from ACC,
608 (OP_0): For "sub", compute carry by comparing inputs.
609
610Tue Dec 2 11:04:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
611
612 * simops.c (OP_1000): For "sub2w", compute carry by comparing
613 inputs.
614
615Mon Nov 17 20:57:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
616
617 * simops.c (OP_1): Use 32 bit unsigned arithmetic for subtract,
618 carry indicated by value > 0xffff.
619
620Fri Nov 14 12:51:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
621
622 * interp.c (sim_resume): Don't set up SIGINT handler using signal,
623 handled by client.
624 (sim_resume): Fix race condition of a direct assignment to
625 stop_simulator, conditionally call sim_stop.
626 (sim_stop_reason): Check stop_simulator returning SIGINT. Clear
627 stop_simulator ready for next sim_resume call.
628 (sim_ctrl_c): Delete function.
629
630Thu Nov 13 19:29:34 1997 Andrew Cagney <cagney@b1.cygnus.com>
631
632 * interp.c (sim_resume): For "REP", only check/update the PC when
633 a branch instruction has not been executed.
634
635Mon Nov 10 17:50:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
636
637 * simops.c (OP_4201): "rachi". Sign extend bit 40 of ACC. Sign
638 extend bit 44 all constants.
639 (OP_4201): Replace GCC specific 0x..LL with SIGNED64 macro.
640
641Fri Oct 24 10:26:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
642
643 * d10v_sim.h: Include sim-types.h.
644 (uint8, in816, uiny16, int32, uint32, int64, uint64): Typedef
645 using unsigned8 et.al. from sim-types.h.
646 (SEXT32, SEXT40, SEXT44, SEXT60): Replace GCC specific 0x..LL with
647 SIGNED64 macro.
648
649Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
650
651 * interp.c (sim_write_phys): New function, write to physical
652 instead of virtual memory.
653
654 * interp.c (sim_load): Pass lma_p and sim_write_phys to
655 sim_load_file.
656
657Mon Oct 13 10:55:07 1997 Fred Fish <cygnus.com>
658
659 * simops.c (OP_6A01): Change OP_POSTDEC to OP_POSTINC and move
660 exception generation code to OP_6E01.
661 (OP_6E01): Change OP_POSTINC to OP_POSTDEC and insert exception
662 generation code.
663
664Sat Oct 11 09:02:08 1997 Fred Fish <fnf@cygnus.com>
665
666 * simops.c (OP_6401): postdecrement on r15 is OK, remove exception.
667 (OP_6601): Ditto.
668
669Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
670
671 * configure: Regenerated to track ../common/aclocal.m4 changes.
672
673Sat Sep 27 12:51:34 1997 Fred Fish <fnf@cygnus.com>
674
675 * interp.c (pc_addr): Discard upper bit(s) of PC in case
676 IMAP1 selects unified memory.
677 * d10v_sim.h (INC_ADDR): Align MOD_E to increment before testing
678 for end condition.
679
680Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
681
682 * configure: Regenerated to track ../common/aclocal.m4 changes.
683
684Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
685
686 * configure: Regenerated to track ../common/aclocal.m4 changes.
687
688Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
689
690 * configure: Regenerated to track ../common/aclocal.m4 changes.
691
692Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
693
694 * configure: Regenerated to track ../common/aclocal.m4 changes.
695
696Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
697
698 * configure: Regenerated to track ../common/aclocal.m4 changes.
699
700Wed Sep 10 22:30:24 1997 Martin M. Hunt <hunt@cygnus.com>
701
702 * interp.c (sim_resume): Increment PC at end of rep
703 loop.
704
705 * simops.c (OP_4201): Fix rachi instruction.
706
707Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
708
709 * configure: Regenerated to track ../common/aclocal.m4 changes.
710
711Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
712
713 * configure: Regenerated to track ../common/aclocal.m4 changes.
714 * config.in: Ditto.
715
716Tue Aug 26 10:37:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
717
718 * interp.c (sim_kill): Delete.
719 (sim_create_inferior): Add ABFD argument.
720 (sim_load): Move setting of PC from here.
721 (sim_create_inferior): To here.
722 (start_address): Delete variable.
723
724Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
725
726 * configure: Regenerated to track ../common/aclocal.m4 changes.
727 * config.in: Ditto.
728
729Mon Aug 25 15:39:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
730
731 * interp.c (sim_open): Add ABFD argument.
732
733Tue May 20 10:14:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
734
735 * interp.c (sim_open): Add callback argument.
736 (sim_set_callbacks): Remove SIM_DESC argument.
737
738Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
739
740 * configure: Regenerated to track ../common/aclocal.m4 changes.
741
742Tue Apr 22 10:29:23 1997 Doug Evans <dje@canuck.cygnus.com>
743
744 * interp.c (sim_open): Undo patch to add -E support.
745
746Fri Apr 18 13:39:01 1997 Andrew Cagney <cagney@b1.cygnus.com>
747
748 * interp.c (sim_stop): New function.
749
750Thu Apr 17 02:42:00 1997 Doug Evans <dje@canuck.cygnus.com>
751
752 * Makefile.in (SIM_OBJS): Add sim-load.o.
753 * d10v_sim.h (exec_bfd): Rename to prog_bfd.
754 * interp.c: #include bfd.h.
755 (myname, sim_kind, start_address): New static locals.
756 (prog_bfd_was_opened_p, prog_bfd): New static locals.
757 (decode_pc): Update to use prog_bfd.
758 (sim_open): Set sim_kind, myname. Ignore -E arg.
759 (sim_close): Close prog_bfd if simulator opened it.
760 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
761 (sim_load): Return SIM_RC. New arg abfd. Set start address from bfd.
762 Call sim_load_file to load file into simulator.
763 * simops.c (trace_input_func): exec_bfd renamed to prog_bfd.
764
765Wed Apr 16 16:12:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
766
767 * simops.c (OP_5F00): Only provide system calls SYS_execv,
768 SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host.
769
770Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
771
772 * configure: Regenerated to track ../common/aclocal.m4 changes.
773 * config.in: Ditto.
774
775Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
776
777 * interp.c (sim_open): New arg `kind'.
778
779 * configure: Regenerated to track ../common/aclocal.m4 changes.
780
781Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
782
783 * configure: Regenerated to track ../common/aclocal.m4 changes.
784
785Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
786
787 * configure: Re-generate.
788
789Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
790
791 * configure: Regenerate to track ../common/aclocal.m4 changes.
792
793 * simops.c (OP_5F00): Remove old traps 1-3. Make trap 15 the same
794 as trap 0, which will be deprecated. Only set errno, if an error
795 in fact was returned.
796
797Thu Mar 13 12:41:20 1997 Doug Evans <dje@canuck.cygnus.com>
798
799 * interp.c: Delete redundant prototypes of sim_foo fns.
800 (sim_open): New SIM_DESC result. Argument is now in argv form.
801 (other sim_*): New SIM_DESC argument.
802
803Thu Mar 13 10:29:04 1997 Michael Meissner <meissner@cygnus.com>
804
805 * simops.c (trace_{input,output}_func): Call flush_stdout from the
806 callback functions.
807 (OP_5F00): Ditto.
808 (OP_6{4,6,C,A}01): Test for post decrement on the stack pointer.
809 (OP_{1200,1000000,201,5FE0,1003,17001002}): Fix problems in
810 setting the carry bit after an add or a subtract.
811
812Wed Feb 12 16:04:15 1997 Michael Meissner <meissner@cygnus.com>
813
814 * simops.c (OP_{1403,15002A02,3{0,4}0{0,1}}): Only use the bottom
815 40 bits of accumulators. Sign/zero extend as appropriate.
816
817Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
818
819 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
820 COMMON_{PRE,POST}_CONFIG_FRAG instead.
821 * configure.in: sinclude ../common/aclocal.m4.
822 * configure: Regenerated.
823
824Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
825
826 * configure configure.in Makefile.in: Update to new configure
827 scheme which is more compatible with WinGDB builds.
828 * configure.in: Improve comment on how to run autoconf.
829 * configure: Re-run autoconf to get new ../common/aclocal.m4.
830 * Makefile.in: Use autoconf substitution to install common
831 makefile fragment.
832
833Fri Dec 27 22:54:05 1996 Angela Marie Thomas (angela@cygnus.com)
834
835 * gencode.c: patch to not #include "d10v_sim.h" which
836 unecessarily includes bfd.h and causes wingdb configure
837 to fail.
838
839Mon Dec 16 13:39:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
840
841 * interp.c (xfer_mem): Change unified memory to 0x0.
842
843Thu Nov 28 20:42:56 1996 Michael Meissner <meissner@tiktok.cygnus.com>
844
845 * simops.c (OP_3E01): Fix tracing information.
846 (OP_300{0,1}): Do not propigate sign.
847
848Mon Nov 25 19:47:40 1996 Doug Evans <dje@canuck.cygnus.com>
849
850 * config.in (WORDS_BIGENDIAN): Add.
851 * configure: Regenerated.
852 * d10v_sim.h: #include "config.h"
853
854Sat Nov 23 09:34:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
855
856 * gencode.c (write_opcodes): Eliminate warnings when generated
857 table.c is compiled.
858
859Wed Nov 20 19:41:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
860
861 * interp.c (sim_open): Cast result of calloc, and make sure NULL
862 was not returned.
863 (dmem_addr): If address is illegal or in I/O space, signal a bus
864 error.
865 (pc_addr): Signal bus error, not illegal instruction for bogus
866 pc.
867
868Wed Nov 20 01:23:03 1996 Doug Evans <dje@canuck.cygnus.com>
869
870 * Makefile.in: Delete all stuff moved to ../common/Make-common.in.
871 (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
872 * configure.in: Simplify using macros in ../common/aclocal.m4.
873 Call AC_CHECK_HEADERS(unistd.h).
874 * configure: Regenerated.
875 * config.in: New file.
876 * interp.c: #include "callback.h".
877 * simops.c: #include "config.h". #include <unistd.h> if present.
878
879Fri Nov 8 16:19:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
880
881 * d10v-sim.h (simops): Add flag is_long.
882 (State): Add pc_changed. Instructions which update the PC should
883 use the JMP macro which sets this.
884 (JMP): New macro. Sets the PC and the pc_changed flag.
885
886 * gencode.c (write_opcodes): Add is_long field.
887
888 * interp.c (lookup_hash): If we blindly apply a short opcode's mask
889 to a long opcode we could get a false match. Check the opcode size.
890 (hash): Add a size field to the hash table.
891 (sim_open): Initialize size field in hash table.
892 (sim_resume): Change to logic for setting the PC. Used to increment the
893 PC if it had not been changed. This didn't allow single-instruction loops.
894 Now checks the flag State.pc_changed. Also now stops when ^C is received.
895 (dmem_addr): Fix translation of data segments to unified memory.
896 (sim_ctrl_c): New function. When ^C is received, set stop_simulator flag.
897
898 * simops.c: Changed all branch and jump instructions to use new JMP macro.
899 (OP_20000000): Corrected trace information to show this is a ldi.l, not
900 a ldi.s instruction.
901
902Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
903
904 * interp.c (sim_fetch_register, sim_store_register): Fix bug where
905 updating the accumulators was overwriting other parts of the global
906 State variable.
907
908Wed Oct 30 17:35:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
909
910 * interp.c (bfd.h) Don't include it here any more.
911 (text{,_start,_end}): Move here from simops.c and make extern.
912 (decode_pc): New function to return the PC as an address that the
913 debugger can use.
914 (dmem_addr): Print decoded PC in error message.
915 (pc_addr): Ditto.
916
917 * simops.c (bfd.h) Don't include it here any more.
918 (text{,_start,_end}): Move to simops.c.
919 (trace_input_func): Move decoding of PC, and looking up .text
920 start to decode_pc.
921
922 * d10v_sim.h (bfd.h): Include it here.
923 (text{,_start,_end}): Add external declarations.
924 (exec_bfd): Ditto.
925 (decode_pc): Ditto.
926
927Tue Oct 29 12:13:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
928
929 * interp.c (sim_size): Now allocates unified memory for imap segments
930 0,1,2, and 127. Initializes imap0 and imap1 to 0x1000. Initializes dmap to 0.
931 (sim_write): Just call xfer_mem().
932 (sim_read): Just call xfer_mem().
933 (xfer_mem): New function. Does appropriate memory mapping and copies bytes.
934 (dmem_addr): New function. Reads dmap register and translates data
935 addresses to local addresses.
936 (pc_addr): New function. Reads imap register and computes local address
937 corresponding to contents of the PC.
938 (sim_resume): Change to use pc_addr().
939 (sim_create_inferior): Change reinitialization code. Also reinitializes
940 imap[01] and dmap.
941 (sim_fetch_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
942 (sim_store_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
943
944 * simops.c (MEMPTR): Redefine to use dmem_addr().
945 (OP_5F00): Replace references to STate.imem with dmem_addr().
946
947 * d10v-sim.h (State): Remove mem_min and mem_max. Add umem[128].
948 (RB,SW,RW,SLW,RLW): Redefine to use dmem_addr().
949 (IMAP0,IMAP1,DMAP,SET_IMAP,SET_IMAP1,SET_DMAP): Define.
950
951Tue Oct 22 15:22:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
952
953 * d10v_sim.h (_ins_type): Reorganize, so that we can provide
954 better statistics, like not counting NOPS as parallel
955 instructions, and printing total cycles.
956 (ins_type_counters): Make unsigned long.
957 (left_nops,right_nops): Fold into ins_type_counters.
958
959 * simops.c (trace_input_func): Print new instruction types.
960 Handle OP_R2R3 as input types.
961 (OP_{38000000,7000}): Correctly sign extend bytes.
962 (OP_5E00): Don't count NOPs as parallel instructions.
963 (OP_460B): Remove unused variable.
964 (OP_5F00): Ditto.
965
966 * interp.c (ins_type_counters): Make unsigned long.
967 (left_nops,right_nops): Delete.
968 (most functions): Add prototypes.
969 (INLINE): If GCC and optimize define as __inline__.
970 ({,lookup_}hash,get_operands): Declare as INLINE.
971 (do_parallel): Count conditional operations.
972 (add_commas): New function, to add commas every 3 digits.
973 (sim_size): Call add_commas to print numbers.
974 (sim_{open,resume}): Delete unused variables.
975 (sim_info): Provide better statistics.
976 (sim_read): Add int return type.
977
978Mon Oct 21 16:16:26 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
979
980 * interp.c (sim_resume): Change the way single-stepping and exceptions
981 are handled so single-stepping works again.
982
983Thu Oct 17 12:24:16 1996 Michael Meissner <meissner@tiktok.cygnus.com>
984
985 * endian.c: Optimize simulated loads/stores on x86, AIX, and big
986 endian hosts.
987
988 * configure.in (--enable-sim-bswap): New switch to enable using
989 the BSWAP instruction on x86's.
990 * configure: Regenerate.
991
992 * Makefile.in ({SWAP,CONFIG}_CFLAGS): Add --enable-sim-bswap
993 support.
994
995Wed Oct 16 13:50:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
996
997 * endian.c: New file. Move endian functions here from interp.c.
998 Optimize code, and make it work as either inline functions or as a
999 separate file.
1000
1001 * interp.c: Move endian functions from here to endian.c.
1002
1003 * Makefile.in (INCLUDE): Add endian.c.
1004 (run,libsim.a): Add dependency on endian.o.
1005 (endian.o): Add dependency.
1006
1007 * d10v_sim.h (read/write support): Always go through the machine
1008 independent endian functions. If compiling with GCC and
1009 optimizing, include endian.c so the endian functions are inlined.
1010
1011 * simops.c (OP_5F00): Correct tracing of accumulators.
1012
1013Tue Oct 15 10:57:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1014
1015 * simops.c (OP_5F00): Add support for getpid, kill system calls.
1016
1017 * interp.c (do_{2_short,parallel}): If an exception is raised,
1018 don't execute the second instruction.
1019
1020Sat Oct 12 22:17:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1021
1022 * simops.c (OP_{31000000,6601,6201,6200}): Store address in a
1023 temporary in case the register is overriden when loading.
1024 (OP_6200): Output type is OP_DREG for tracing.
1025
1026Fri Oct 4 23:46:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1027
1028 * d10v_sim.h (struct _state): Add mem_{min,max} fields.
1029
1030 * interp.c (sim_size): Initialize mem_{min,max} fields.
1031 (sim_write): Update mem_{min,max} fields.
1032 (sim_resume): If PC is not in the minimum/maximum memory range,
1033 abort.
1034 (sim_create_inferior): Preserve mem_{min,max} fields.
1035
1036Fri Sep 27 13:11:58 1996 Mark Alexander <marka@cygnus.com>
1037
1038 * simops.c (OP_5F00): Add support for time() system call.
1039
1040Wed Sep 25 16:31:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1041
1042 * simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being
1043 stored if tracing.
1044 (OP_5F00,trace_{in,out}put_func): Add finer grain tracing for
1045 system calls.
1046
1047Mon Sep 23 17:55:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1048
1049 * simops.c (op_types): Add OP_{CONSTANT8,R2,R3}.
1050 (trace_input_func): Add support for OP_{CONSTANT8,R2,R3}.
1051 (OP_{4900,24800000,4800,4A00,4B00,4D00,4C00}): Add OP_R2 and OP_R3
1052 to call/subroutine returns to trace the first two arguments and
1053 the return value. For small jumps, use CONSTANT8, not CONSTANT16.
1054
1055Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1056
1057 * interp.c (sim_create_inferior): Reinitialize State every time
1058 sim_create_inferior() is called.
1059
1060Thu Sep 19 21:38:20 1996 Michael Meissner <meissner@wogglebug.ziplink.net>
1061
1062 * simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right
1063 on comparisons.
1064 (OP_401): Fix tracing information.
1065
1066Thu Sep 19 10:30:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1067
1068 * simops.c (SIZE_{PC,LINE_NUMBER}): New default sizes for output.
1069 (trace_input_func): Use them.
1070 (trace_input_func): Make sure there is a trailing space after the
1071 instruction.
1072 (OP_6200): Fix tracing info.
1073
1074 * Makefile.in (run): Add dependencies on libbfd.a and
1075 libiberity.a.
1076
1077Wed Sep 18 09:13:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1078
1079 * d10v_sim.h (DEBUG_INSTRUCTION): New debug value to include line
1080 numbers and function names in debug trace.
1081 (DEBUG): If not defined, set to DEBUG_TRACE, DEBUG_VALUES, and
1082 DEBUG_LINE_NUMBER.
1083 (SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction
1084 and exit system call trap being executed.
1085
1086 * interp.c (sim_stop_reason): Set exit code correctly for stop
1087 instruction and exit system call trap.
1088
1089 * configure.in (--enable-sim-cflags): Remove trace case.
1090 (--enable-sim-debug): New switch to set the debug values.
1091 * configure: Regenerate.
1092
1093 * simops.c (trace_{input,output}_func): Rename from
1094 trace_{input,output}.
1095 (trace_{input,output}): Call trace_{input,output}_func if
1096 d10v_debug is non-zero.
1097 (SIZE_INSTRUCTION): Cut down to 8.
1098 (SIZE_OPERANDS): Cut down to 18.
1099 (SIZE_LOCATION): New value for size of line number, function name
1100 field.
1101 (init_text_p,text{,_start,_end}): New static variables for
1102 printing line number and function name.
1103 (exec_bfd): New external that run.c sets.
1104 (trace_input_func): Print line number and function name if
1105 available and if desired.
1106 (OP_4E09): Don't print out DBT message.
1107 (OP_5FE0): Set exception field to SIG_D10V_STOP.
1108 (OP_5F00): Set exception field to SIG_D10V_EXIT.
1109
1110Sat Sep 14 22:18:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1111
1112 * interp.c (do_2_short): If the instruction encodes jump->ins,
1113 don't do the second instruction if the jump succeeds.
1114
1115Fri Sep 13 22:35:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1116
1117 * simops.c (OP_5F00): Use unknown traps to print all GPRs,
1118 accumulators, PC, and F0/F1/C flags.
1119
1120Thu Sep 12 12:50:11 1996 Mark Alexander <marka@cygnus.com>
1121
1122 * simops.c (OP_5F00): Fix problems with system calls.
1123
1124Thu Sep 12 12:19:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1125
1126 * simops.c (OP_5F00): Correct tracing information for trap.
1127
1128Wed Sep 11 18:55:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1129
1130 * Makefile.in (CSEARCH): Correctly find opcodes directory.
1131
1132Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1133
1134 * simops.c (trace_output): Properly align accumulator output.
1135 (OP_3{0,2,4}00): Properly parenthesize test expression. Add error
1136 if shift count is too high.
1137 (OP_4E{00,02,04,20,22,40,42}): Make tests agree with book.
1138 (OP_4E09): Make cpfg properly trace the input flags.
1139 (op_types): Add OP_FLAG_OUTPUT.
1140 (trace_{input,output}): Support OP_FLAG_OUTPUT.
1141 (OP_31000000): This ld2w varient is a 16-bit memory reference, not
1142 an 8-bit memory reference instruction for tracing purposes.
1143 (OP_201): Addi needs to set the carry.
1144
1145Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1146
1147 * simops.c (OP_2600, OP_2601): Changed min and max comparisons
1148 to use signed register values.
1149
1150Wed Sep 4 11:35:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1151
1152 * d10v_sim.h (DEBUG_*): Add bit flags for controlling debug
1153 output.
1154 (_ins_type): New enumeration to specify which container an
1155 instruction is in, and whether it is part of a parallel operation.
1156 (_state): Add ins_type field.
1157 ({,u}int{8,16,32,64}): Use limits.h to size the appropriate types.
1158 (ins_type_counters): Counters for the various instruction types.
1159 ({left,right}_nops): Counters for the number of nops in each
1160 container.
1161 (d10v_debug): New variable to indicate whether debugging is turned
1162 on.
1163
1164 * simops.c: (all functions): Change all #ifdef DEBUG code so that
1165 the input and output values can be traced, along with the
1166 instruction type. Make the -t option enable tracing.
1167 (all functions): Change printf calls to use the printf_filtered
1168 function in the callback table.
1169
1170 * interp.c (_leftright): New enumeration to say whether 2 short
1171 instructions are done left first or right first.
1172 (do_{long,2_short,parallel}): Indicate in the machine state which
1173 type of instruction this is. Count each of the types of
1174 instructions executed.
1175 (sim_size): Only print the memory sizes if DEBUG_MEMSIZE debug
1176 flag is set.
1177 (sim_resume): Pass left/right indication to do_2_short.
1178 (all functions): Change printf calls to use the printf_filtered
1179 function in the callback table.
1180 (sim_trace): Turn on debug flag if DEBUG was defined, and call
1181 sim_resume.
1182 (sim_info): Print out statistics on instructions.
1183 (sim_{trace,create_inferior}): Eliminate extraneous output unless
1184 debugging.
1185 (sim_open): If args == -t and DEBUG was defined, set d10v_debug.
1186 Only initialize the hash table the first time sim_open is called.
1187
1188 * Makefile.in: Make objects depend on d10v_sim.h.
1189 ({,SIM_}CFLAGS): Include configure dependent switches. Setting
1190 CFLAGS does not override host/target defines or SIM_CFLAGS.
1191 (CC_FOR_BUILD,gencode): Use CC_FOR_BUILD to compile gencode.
1192 (run): By default, the math library is not needed to be linked
1193 in.
1194 ({BFD,LIBIBERTY}_LIB): Define as variables so they can be
1195 overridden.
1196 (VPATH): Don't set to anything but @srcdir@ to work with non-GNU
1197 makes.
1198 ({run,callback}.o): Provide explicit paths to their appropriate
1199 source directories.
1200 (gencode{,.o},d10v-opc.o): Split compilation into creating object
1201 and linking. Instead of linking in libopcodes.a, just compile
1202 d10v-opc.o directly to handle canadian cross.
1203 (CSEARCH): Add opcodes directory.
1204
1205 * configure.in (--enable-sim-cflags): New switch to allow user to
1206 set the defaults.
1207 (CC_FOR_BUILD): Deal with canadian crosses.
1208 * configure: Regenerate.
1209
1210Wed Sep 04 04:45:34 1996 Mark Alexander <marka@cygnus.com>
1211
1212 * simops.c: Include correct syscall.h for d10v, not host's.
1213 Fix #ifdef SYS_stat.
1214
1215Tue Sep 3 14:00:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1216
1217 * simops.c (OP_5F00): Wrap all SYS_xxx traps with #ifdef.
1218 Add trap 2 to be printf and trap 3 to be putchar.
1219
1220Wed Aug 28 21:42:34 1996 Mark Alexander <marka@cygnus.com>
1221
1222 * Makefile.in, d10v_sim.h, interp.c, simops.c: Add support
1223 for low-level system calls.
1224
1225Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1226
1227 * Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
1228
1229Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1230
1231 * d10v_sim.h (SEXT32): Added.
1232 * interp.c: Commented out printfs.
1233 * simops.c: Fixed error in sb and st2w.
1234
1235Thu Aug 15 13:30:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1236
1237 * Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining
1238 DSP instructions. Added modulo addressing.
1239
1240Sun Aug 11 12:57:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1241
1242 * Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot.
1243
1244Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1245
1246 * d10v_sim.h, simops.c: Snapshot.
1247
1248Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1249
1250 * ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h,
1251 gencode.c, interp.c, simops.c: Created.
1252