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