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