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