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