]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/d10v/ChangeLog
Ensure zero-hardwired bits in DPSW remain zero.
[thirdparty/binutils-gdb.git] / sim / d10v / ChangeLog
CommitLineData
19431a02
AC
1Wed Feb 11 16:53:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
2
3 * d10v_sim.h (enum): Define DPSW_CR.
4
5 * simops.c (move_to_cr): Mask out hardwired zero bits in DPSW.
6
7Tue Feb 10 18:28:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
8
9 * interp.c (sim_write_phys): Delete.
10 (sim_load): Call sim_load_file with sim_write and LMA.
11
12Mon Feb 9 12:05:01 1998 Andrew Cagney <cagney@b1.cygnus.com>
13
14 * interp.c: Rewrite xfer_mem so that it translates addresses as -
15 0x00... - DMAP translated memory, 0x01... IMAP translated memory,
16 0x10... - on-chip data, 0x11... - on-chip insn, 0x12... - unified
17 memory.
18 (pc_addr): Delete.
19 (imem_addr): New function - translate IMEM address.
20 (sim_resume): Use imem_addr to translate insn address, abort if
21 translation failed.
22 (sim_create_inferior): Write ARGV to memory using sim_write. Pass
23 argc/argv using r0/r1 not r2/r3.
24 (sim_size): Do not initialize IMAP/DMAP here.
25 (sim_open): Call sim_create_inferior and sim_size to initialize
26 the system.
27 (sim_create_inferior): Initialize IMAP/DMAP to hardware reset
28 defaults.
29 (init_system): Delete.
30 (xfer_mem, sim_fetch_register, sim_store_register): Do not call
31 init_system.
32 (decode_pc): Check prog_bfd is defined before looking up .text
33 section.
34
35Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
36
37 * configure: Regenerated to track ../common/aclocal.m4 changes.
38
412c4e94
AC
39Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
40
41 * configure: Regenerated to track ../common/aclocal.m4 changes.
42
629cfff0
MM
43Sun Jan 25 22:23:01 1998 Michael Meissner <meissner@cygnus.com>
44
45 * interp.c (sim_stop_reason): Exit status is now in r0, not r2.
46
88f7d309
MM
47Sat Jan 24 19:00:30 1998 Michael Meissner <meissner@cygnus.com>
48
49 * d10v_sim.h (DEBUG_TRAP): New debug flag.
50
51 * simops.c (OP_5F00): If DEBUG_TRAP is on, turn traps 0-14 into
52 printing the registers.
53
8831cb01
MM
54Thu Jan 22 17:54:01 1998 Michael Meissner <meissner@cygnus.com>
55
56 * simops.c (op_types): New ABI, args are r0..r3, system call # is
57 in r4.
58 (trace_{in,out}put_func): Ditto.
59 (OP_4900): Ditto.
60 (OP_24800000): Ditto.
61 (OP_4D00): Ditto.
62 (OP_5F00): Ditto.
63
cee68738
FF
64Thu Jan 22 14:30:36 1998 Fred Fish <fnf@cygnus.com>
65
66 * interp.c (UMEM_SEGMENTS): New define, set to 128.
67 (sim_size): Use UMEM_SEGMENTS rather than hardwired constant.
68 (sim_close): Reset prog_bfd to NULL after closing it. Also
69 reset prog_bfd_was_opened_p after closing prog_bfd.
70 (sim_load): Reset prog_bfd_was_opened_p after closing prog_bfd.
71 (sim_create_inferior): Get start address from abfd not prog_bfd.
72 (xfer_mem): Do bounds checking on addresses and return zero length
73 read/write on bad addresses, rather than aborting. Prepare to
74 be able to handle xfers that cross segment boundaries, but not
75 yet implemented. Only emit debug message when d10v_debug is
76 set as well as DEBUG being defined.
77
462cfbc4
DE
78Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
79
80 * configure: Regenerated to track ../common/aclocal.m4 changes.
81
82Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
83
84 * configure: Regenerated to track ../common/aclocal.m4 changes.
85 * config.in: Ditto.
86
38d0ccc2
AC
87Tue Dec 9 10:28:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
88
89 * d10v_sim.h (RPT_S): Index cregs with RPT_S_CR not RPT_E_CR.
462cfbc4 90 (BPSW): Ditto for BPSW_CR and not PSW_CR.
38d0ccc2 91
462cfbc4
DE
92 * simops.c (OP_5F40): JMP to BPC instead of assigning PC directly.
93
bc6df23d
AC
94Mon Dec 8 12:58:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
95
96 * simops.c (OP_5F00): From Martin Hunt <hunt@cygnus.com>. Change
97 reserved trap from 0 to 15. Add trap emulation code for 0-14.
98
99 * interp.c (sim_resume): From Martin Hunt <hunt@cygnus.com>. Check
100 IBA for SDBT.
101
102 * d10v_sim.h (AE_VECTOR_START, RIE_VECTOR_START,
103 SDBT_VECTOR_START, TRAP_VECTOR_START): Define.
104
105 * simops.c (OP_5F00): For "trap", mask out all but SM bit in PSW,
106 use move_to_cr.
107 (OP_5F00): For "trap", update BPSW with move_to_cr.
108
109Fri Dec 5 15:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
110
111 * d10v_sim.h (enum): Enumerate CR register names.
112 (enum): Enumerate PSW bit values.
113 (PSW): Obtain value uing move_from_cr.
114 (MOD_S, MOD_E, BPSW): Make r-values.
115 (move_from_cr, move_to_cr): Declare functions.
116
117 * interp.c (sim_fetch_register, sim_store_register): Use
118 move_from_cr and move_to_cr for CR register transfers.
119
120 * simops.c (move_from_cr, move_to_cr): New functions.
121 (OP_5F40): Move BPSW to PSW using move_to_cr and move_from_cr.
122 (OP_5600): For "mvtc", use function move_to_cr.
123 (OP_5200): For "mvfc", use function move_from_cr.
124
125Fri Dec 5 13:33:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
126
127 * simops.c (OP_5600): For "mvtc" MOD_E and MOD_S, ensure that the
128 LSbit is zero.
129
6e51f990
DE
130Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
131
132 * configure: Regenerated to track ../common/aclocal.m4 changes.
133
7f48c9fe
AC
134Thu Dec 4 16:51:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
135
136 * d10v_sim.h (struct _state): Add DM - PSW debug mask.
137
138 * simops.c (OP_5600): For "mvtc", save PSW.DM.
139 (OP_5200): Ditto for "mvfc".
140
aa49c64f
AC
141Wed Dec 3 17:27:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
142
143 * d10v_sim.h (SEXT56): Define.
144
145 * simops.c (OP_4201): For "rac", sign extend 56 bit value before
146 it is shifted.
147
148 * d10v_sim.h (MAX32, MIN32, MASK32, MASK40): Re-define using
149 SIGNED64 macro.
150
193e528c
FF
151Tue Dec 2 15:38:34 1997 Fred Fish <fnf@cygnus.com>
152
153 * interp.c (sim_resume): Call do_2_short with LEFT_FIRST or
154 RIGHT_FIRST, as appropriate, instead of hardcoded ints that
155 don't match enum values.
156
ae558075
AC
157Tue Dec 2 15:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
158
159 * simops.c (OP_3A00): For "macu", perform multiply stage using 32
160 bit rather than 16 bit precision.
9420287e 161 (OP_3C00): For "mulxu", store unsigned product in ACC.
d294a657 162 (OP_3800): For "msbu", subtract unsigned product from ACC,
193e528c 163 (OP_0): For "sub", compute carry by comparing inputs.
ae558075 164
51b057f2 165Tue Dec 2 11:04:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
70ee56c5 166
51b057f2
AC
167 * simops.c (OP_1000): For "sub2w", compute carry by comparing
168 inputs.
70ee56c5
AC
169
170Mon Nov 17 20:57:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
171
172 * simops.c (OP_1): Use 32 bit unsigned arithmetic for subtract,
173 carry indicated by value > 0xffff.
174
175Fri Nov 14 12:51:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
176
177 * interp.c (sim_resume): Don't set up SIGINT handler using signal,
178 handled by client.
179 (sim_resume): Fix race condition of a direct assignment to
180 stop_simulator, conditionally call sim_stop.
181 (sim_stop_reason): Check stop_simulator returning SIGINT. Clear
182 stop_simulator ready for next sim_resume call.
183 (sim_ctrl_c): Delete function.
184
185Thu Nov 13 19:29:34 1997 Andrew Cagney <cagney@b1.cygnus.com>
186
187 * interp.c (sim_resume): For "REP", only check/update the PC when
188 a branch instruction has not been executed.
189
87192c63
AC
190Mon Nov 10 17:50:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
191
192 * simops.c (OP_4201): "rachi". Sign extend bit 40 of ACC. Sign
193 extend bit 44 all constants.
194 (OP_4201): Replace GCC specific 0x..LL with SIGNED64 macro.
195
1315b4cb
AC
196Fri Oct 24 10:26:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
197
198 * d10v_sim.h: Include sim-types.h.
199 (uint8, in816, uiny16, int32, uint32, int64, uint64): Typedef
200 using unsigned8 et.al. from sim-types.h.
201 (SEXT32, SEXT40, SEXT44, SEXT60): Replace GCC specific 0x..LL with
202 SIGNED64 macro.
203
9e03a68f
AC
204Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
205
206 * interp.c (sim_write_phys): New function, write to physical
207 instead of virtual memory.
208
b5da31ac 209 * interp.c (sim_load): Pass lma_p and sim_write_phys to
9e03a68f
AC
210 sim_load_file.
211
1155e06e
FF
212Mon Oct 13 10:55:07 1997 Fred Fish <cygnus.com>
213
214 * simops.c (OP_6A01): Change OP_POSTDEC to OP_POSTINC and move
215 exception generation code to OP_6E01.
216 (OP_6E01): Change OP_POSTINC to OP_POSTDEC and insert exception
217 generation code.
218
93f0cb69
FF
219Sat Oct 11 09:02:08 1997 Fred Fish <fnf@cygnus.com>
220
221 * simops.c (OP_6401): postdecrement on r15 is OK, remove exception.
222 (OP_6601): Ditto.
223
224Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
225
226 * configure: Regenerated to track ../common/aclocal.m4 changes.
227
823f2df4
FF
228Sat Sep 27 12:51:34 1997 Fred Fish <fnf@cygnus.com>
229
230 * interp.c (pc_addr): Discard upper bit(s) of PC in case
231 IMAP1 selects unified memory.
5f90b21e
FF
232 * d10v_sim.h (INC_ADDR): Align MOD_E to increment before testing
233 for end condition.
823f2df4
FF
234
235Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
236
237 * configure: Regenerated to track ../common/aclocal.m4 changes.
238
92f91d1f
AC
239Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
240
241 * configure: Regenerated to track ../common/aclocal.m4 changes.
242
794e9ac9
AC
243Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
244
245 * configure: Regenerated to track ../common/aclocal.m4 changes.
246
b45caf05
AC
247Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
248
249 * configure: Regenerated to track ../common/aclocal.m4 changes.
250
251Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
252
253 * configure: Regenerated to track ../common/aclocal.m4 changes.
254
30d81984
MH
255Wed Sep 10 22:30:24 1997 Martin M. Hunt <hunt@cygnus.com>
256
257 * interp.c (sim_resume): Increment PC at end of rep
258 loop.
259
260 * simops.c (OP_4201): Fix rachi instruction.
261
6fea4763
DE
262Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
263
264 * configure: Regenerated to track ../common/aclocal.m4 changes.
265
88117054
AC
266Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
267
268 * configure: Regenerated to track ../common/aclocal.m4 changes.
269 * config.in: Ditto.
270
7230ff0f
AC
271Tue Aug 26 10:37:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
272
273 * interp.c (sim_kill): Delete.
fafce69a
AC
274 (sim_create_inferior): Add ABFD argument.
275 (sim_load): Move setting of PC from here.
276 (sim_create_inferior): To here.
277 (start_address): Delete variable.
7230ff0f 278
247fccde
AC
279Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
280
281 * configure: Regenerated to track ../common/aclocal.m4 changes.
282 * config.in: Ditto.
283
284Mon Aug 25 15:39:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
285
286 * interp.c (sim_open): Add ABFD argument.
287
288Tue May 20 10:14:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
289
290 * interp.c (sim_open): Add callback argument.
291 (sim_set_callbacks): Remove SIM_DESC argument.
292
293Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
294
295 * configure: Regenerated to track ../common/aclocal.m4 changes.
296
81f46481
DE
297Tue Apr 22 10:29:23 1997 Doug Evans <dje@canuck.cygnus.com>
298
299 * interp.c (sim_open): Undo patch to add -E support.
300
8517f62b
AC
301Fri Apr 18 13:39:01 1997 Andrew Cagney <cagney@b1.cygnus.com>
302
303 * interp.c (sim_stop): New function.
304
04885cc3
DE
305Thu Apr 17 02:42:00 1997 Doug Evans <dje@canuck.cygnus.com>
306
307 * Makefile.in (SIM_OBJS): Add sim-load.o.
308 * d10v_sim.h (exec_bfd): Rename to prog_bfd.
309 * interp.c: #include bfd.h.
310 (myname, sim_kind, start_address): New static locals.
311 (prog_bfd_was_opened_p, prog_bfd): New static locals.
312 (decode_pc): Update to use prog_bfd.
313 (sim_open): Set sim_kind, myname. Ignore -E arg.
314 (sim_close): Close prog_bfd if simulator opened it.
315 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
316 (sim_load): Return SIM_RC. New arg abfd. Set start address from bfd.
317 Call sim_load_file to load file into simulator.
318 * simops.c (trace_input_func): exec_bfd renamed to prog_bfd.
319
87e43259
AC
320Wed Apr 16 16:12:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
321
322 * simops.c (OP_5F00): Only provide system calls SYS_execv,
323 SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host.
324
325Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
326
327 * configure: Regenerated to track ../common/aclocal.m4 changes.
328 * config.in: Ditto.
329
fbda74b1
DE
330Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
331
8020feac
DE
332 * interp.c (sim_open): New arg `kind'.
333
fbda74b1
DE
334 * configure: Regenerated to track ../common/aclocal.m4 changes.
335
a35e91c3
AC
336Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
337
338 * configure: Regenerated to track ../common/aclocal.m4 changes.
339
340Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
341
342 * configure: Re-generate.
343
601fb8ae
MM
344Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
345
346 * configure: Regenerate to track ../common/aclocal.m4 changes.
347
348 * simops.c (OP_5F00): Remove old traps 1-3. Make trap 15 the same
eb312eff
MM
349 as trap 0, which will be deprecated. Only set errno, if an error
350 in fact was returned.
601fb8ae 351
395adcff
DE
352Thu Mar 13 12:41:20 1997 Doug Evans <dje@canuck.cygnus.com>
353
354 * interp.c: Delete redundant prototypes of sim_foo fns.
355 (sim_open): New SIM_DESC result. Argument is now in argv form.
356 (other sim_*): New SIM_DESC argument.
357
fd435e9f
MM
358Thu Mar 13 10:29:04 1997 Michael Meissner <meissner@cygnus.com>
359
360 * simops.c (trace_{input,output}_func): Call flush_stdout from the
361 callback functions.
362 (OP_5F00): Ditto.
f4b022d3
MM
363 (OP_6{4,6,C,A}01): Test for post decrement on the stack pointer.
364 (OP_{1200,1000000,201,5FE0,1003,17001002}): Fix problems in
365 setting the carry bit after an add or a subtract.
fd435e9f
MM
366
367Wed Feb 12 16:04:15 1997 Michael Meissner <meissner@cygnus.com>
368
369 * simops.c (OP_{1403,15002A02,3{0,4}0{0,1}}): Only use the bottom
370 40 bits of accumulators. Sign/zero extend as appropriate.
371
19c5af72
DE
372Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
373
374 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
375 COMMON_{PRE,POST}_CONFIG_FRAG instead.
376 * configure.in: sinclude ../common/aclocal.m4.
377 * configure: Regenerated.
378
295dbbe4
SG
379Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
380
381 * configure configure.in Makefile.in: Update to new configure
382 scheme which is more compatible with WinGDB builds.
383 * configure.in: Improve comment on how to run autoconf.
384 * configure: Re-run autoconf to get new ../common/aclocal.m4.
385 * Makefile.in: Use autoconf substitution to install common
386 makefile fragment.
387
388Fri Dec 27 22:54:05 1996 Angela Marie Thomas (angela@cygnus.com)
389
390 * gencode.c: patch to not #include "d10v_sim.h" which
391 unecessarily includes bfd.h and causes wingdb configure
392 to fail.
393
dbdae3de
MH
394Mon Dec 16 13:39:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
395
396 * interp.c (xfer_mem): Change unified memory to 0x0.
397
398Thu Nov 28 20:42:56 1996 Michael Meissner <meissner@tiktok.cygnus.com>
399
400 * simops.c (OP_3E01): Fix tracing information.
401 (OP_300{0,1}): Do not propigate sign.
402
72eeb006
DE
403Mon Nov 25 19:47:40 1996 Doug Evans <dje@canuck.cygnus.com>
404
405 * config.in (WORDS_BIGENDIAN): Add.
406 * configure: Regenerated.
407 * d10v_sim.h: #include "config.h"
408
409Sat Nov 23 09:34:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
410
411 * gencode.c (write_opcodes): Eliminate warnings when generated
412 table.c is compiled.
413
24cbf0a4
MM
414Wed Nov 20 19:41:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
415
416 * interp.c (sim_open): Cast result of calloc, and make sure NULL
417 was not returned.
418 (dmem_addr): If address is illegal or in I/O space, signal a bus
419 error.
420 (pc_addr): Signal bus error, not illegal instruction for bogus
421 pc.
422
cee402dd
DE
423Wed Nov 20 01:23:03 1996 Doug Evans <dje@canuck.cygnus.com>
424
425 * Makefile.in: Delete all stuff moved to ../common/Make-common.in.
426 (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
427 * configure.in: Simplify using macros in ../common/aclocal.m4.
428 Call AC_CHECK_HEADERS(unistd.h).
429 * configure: Regenerated.
430 * config.in: New file.
431 * interp.c: #include "callback.h".
432 * simops.c: #include "config.h". #include <unistd.h> if present.
433
434Fri Nov 8 16:19:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
435
436 * d10v-sim.h (simops): Add flag is_long.
437 (State): Add pc_changed. Instructions which update the PC should
438 use the JMP macro which sets this.
439 (JMP): New macro. Sets the PC and the pc_changed flag.
440
441 * gencode.c (write_opcodes): Add is_long field.
442
443 * interp.c (lookup_hash): If we blindly apply a short opcode's mask
444 to a long opcode we could get a false match. Check the opcode size.
445 (hash): Add a size field to the hash table.
446 (sim_open): Initialize size field in hash table.
447 (sim_resume): Change to logic for setting the PC. Used to increment the
448 PC if it had not been changed. This didn't allow single-instruction loops.
449 Now checks the flag State.pc_changed. Also now stops when ^C is received.
450 (dmem_addr): Fix translation of data segments to unified memory.
451 (sim_ctrl_c): New function. When ^C is received, set stop_simulator flag.
452
453 * simops.c: Changed all branch and jump instructions to use new JMP macro.
454 (OP_20000000): Corrected trace information to show this is a ldi.l, not
455 a ldi.s instruction.
456
5c839c67
MH
457Thu Oct 31 19:13:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
458
459 * interp.c (sim_fetch_register, sim_store_register): Fix bug where
460 updating the accumulators was overwriting other parts of the global
461 State variable.
462
b30cdd35
MM
463Wed Oct 30 17:35:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
464
465 * interp.c (bfd.h) Don't include it here any more.
466 (text{,_start,_end}): Move here from simops.c and make extern.
467 (decode_pc): New function to return the PC as an address that the
468 debugger can use.
469 (dmem_addr): Print decoded PC in error message.
470 (pc_addr): Ditto.
471
472 * simops.c (bfd.h) Don't include it here any more.
473 (text{,_start,_end}): Move to simops.c.
474 (trace_input_func): Move decoding of PC, and looking up .text
475 start to decode_pc.
476
477 * d10v_sim.h (bfd.h): Include it here.
478 (text{,_start,_end}): Add external declarations.
479 (exec_bfd): Ditto.
480 (decode_pc): Ditto.
481
c422ecc7
MH
482Tue Oct 29 12:13:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
483
484 * interp.c (sim_size): Now allocates unified memory for imap segments
485 0,1,2, and 127. Initializes imap0 and imap1 to 0x1000. Initializes dmap to 0.
486 (sim_write): Just call xfer_mem().
487 (sim_read): Just call xfer_mem().
488 (xfer_mem): New function. Does appropriate memory mapping and copies bytes.
489 (dmem_addr): New function. Reads dmap register and translates data
490 addresses to local addresses.
491 (pc_addr): New function. Reads imap register and computes local address
492 corresponding to contents of the PC.
493 (sim_resume): Change to use pc_addr().
494 (sim_create_inferior): Change reinitialization code. Also reinitializes
495 imap[01] and dmap.
496 (sim_fetch_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
497 (sim_store_register): Add fake registers 32,33,34 for imap0, imap1, and dmap.
498
499 * simops.c (MEMPTR): Redefine to use dmem_addr().
500 (OP_5F00): Replace references to STate.imem with dmem_addr().
501
502 * d10v-sim.h (State): Remove mem_min and mem_max. Add umem[128].
503 (RB,SW,RW,SLW,RLW): Redefine to use dmem_addr().
504 (IMAP0,IMAP1,DMAP,SET_IMAP,SET_IMAP1,SET_DMAP): Define.
505
506Tue Oct 22 15:22:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
507
508 * d10v_sim.h (_ins_type): Reorganize, so that we can provide
509 better statistics, like not counting NOPS as parallel
510 instructions, and printing total cycles.
511 (ins_type_counters): Make unsigned long.
512 (left_nops,right_nops): Fold into ins_type_counters.
513
514 * simops.c (trace_input_func): Print new instruction types.
515 Handle OP_R2R3 as input types.
516 (OP_{38000000,7000}): Correctly sign extend bytes.
517 (OP_5E00): Don't count NOPs as parallel instructions.
518 (OP_460B): Remove unused variable.
519 (OP_5F00): Ditto.
520
521 * interp.c (ins_type_counters): Make unsigned long.
522 (left_nops,right_nops): Delete.
523 (most functions): Add prototypes.
524 (INLINE): If GCC and optimize define as __inline__.
525 ({,lookup_}hash,get_operands): Declare as INLINE.
526 (do_parallel): Count conditional operations.
527 (add_commas): New function, to add commas every 3 digits.
528 (sim_size): Call add_commas to print numbers.
529 (sim_{open,resume}): Delete unused variables.
530 (sim_info): Provide better statistics.
531 (sim_read): Add int return type.
532
eca43eb1
MH
533Mon Oct 21 16:16:26 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
534
535 * interp.c (sim_resume): Change the way single-stepping and exceptions
536 are handled so single-stepping works again.
537
55116079
MM
538Thu Oct 17 12:24:16 1996 Michael Meissner <meissner@tiktok.cygnus.com>
539
540 * endian.c: Optimize simulated loads/stores on x86, AIX, and big
541 endian hosts.
542
543 * configure.in (--enable-sim-bswap): New switch to enable using
544 the BSWAP instruction on x86's.
545 * configure: Regenerate.
546
547 * Makefile.in ({SWAP,CONFIG}_CFLAGS): Add --enable-sim-bswap
548 support.
549
11ec4de6
MM
550Wed Oct 16 13:50:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
551
5c255669
MM
552 * endian.c: New file. Move endian functions here from interp.c.
553 Optimize code, and make it work as either inline functions or as a
554 separate file.
555
556 * interp.c: Move endian functions from here to endian.c.
557
558 * Makefile.in (INCLUDE): Add endian.c.
559 (run,libsim.a): Add dependency on endian.o.
560 (endian.o): Add dependency.
561
562 * d10v_sim.h (read/write support): Always go through the machine
563 independent endian functions. If compiling with GCC and
564 optimizing, include endian.c so the endian functions are inlined.
565
11ec4de6
MM
566 * simops.c (OP_5F00): Correct tracing of accumulators.
567
57bc1a72
MM
568Tue Oct 15 10:57:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
569
570 * simops.c (OP_5F00): Add support for getpid, kill system calls.
571
572 * interp.c (do_{2_short,parallel}): If an exception is raised,
573 don't execute the second instruction.
574
8918b3a7
MM
575Sat Oct 12 22:17:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
576
577 * simops.c (OP_{31000000,6601,6201,6200}): Store address in a
578 temporary in case the register is overriden when loading.
579 (OP_6200): Output type is OP_DREG for tracing.
580
581Fri Oct 4 23:46:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
582
583 * d10v_sim.h (struct _state): Add mem_{min,max} fields.
584
585 * interp.c (sim_size): Initialize mem_{min,max} fields.
586 (sim_write): Update mem_{min,max} fields.
587 (sim_resume): If PC is not in the minimum/maximum memory range,
588 abort.
589 (sim_create_inferior): Preserve mem_{min,max} fields.
590
591Fri Sep 27 13:11:58 1996 Mark Alexander <marka@cygnus.com>
592
593 * simops.c (OP_5F00): Add support for time() system call.
594
a18cb100
MM
595Wed Sep 25 16:31:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
596
597 * simops.c (OP_{6E01,6A01,6E1F,6A00}): Print both words being
598 stored if tracing.
8918b3a7
MM
599 (OP_5F00,trace_{in,out}put_func): Add finer grain tracing for
600 system calls.
a18cb100
MM
601
602Mon Sep 23 17:55:30 1996 Michael Meissner <meissner@tiktok.cygnus.com>
603
604 * simops.c (op_types): Add OP_{CONSTANT8,R2,R3}.
605 (trace_input_func): Add support for OP_{CONSTANT8,R2,R3}.
606 (OP_{4900,24800000,4800,4A00,4B00,4D00,4C00}): Add OP_R2 and OP_R3
607 to call/subroutine returns to trace the first two arguments and
608 the return value. For small jumps, use CONSTANT8, not CONSTANT16.
609
c58a1ec2
MH
610Fri Sep 20 15:36:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
611
612 * interp.c (sim_create_inferior): Reinitialize State every time
613 sim_create_inferior() is called.
614
c12f5c67
MM
615Thu Sep 19 21:38:20 1996 Michael Meissner <meissner@wogglebug.ziplink.net>
616
617 * simops.c (OP_{401,2000000,601,3000000,23000000}): Get sign right
618 on comparisons.
619 (OP_401): Fix tracing information.
620
74473ea1
MM
621Thu Sep 19 10:30:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
622
891513ee
MM
623 * simops.c (SIZE_{PC,LINE_NUMBER}): New default sizes for output.
624 (trace_input_func): Use them.
f061ddf6
MM
625 (trace_input_func): Make sure there is a trailing space after the
626 instruction.
addb61a5 627 (OP_6200): Fix tracing info.
891513ee 628
74473ea1
MM
629 * Makefile.in (run): Add dependencies on libbfd.a and
630 libiberity.a.
631
a49a15ad
MM
632Wed Sep 18 09:13:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
633
634 * d10v_sim.h (DEBUG_INSTRUCTION): New debug value to include line
635 numbers and function names in debug trace.
636 (DEBUG): If not defined, set to DEBUG_TRACE, DEBUG_VALUES, and
637 DEBUG_LINE_NUMBER.
638 (SIG_D10V_{STOP,EXIT}): Values to represent the stop instruction
639 and exit system call trap being executed.
640
641 * interp.c (sim_stop_reason): Set exit code correctly for stop
642 instruction and exit system call trap.
643
644 * configure.in (--enable-sim-cflags): Remove trace case.
645 (--enable-sim-debug): New switch to set the debug values.
646 * configure: Regenerate.
647
648 * simops.c (trace_{input,output}_func): Rename from
649 trace_{input,output}.
650 (trace_{input,output}): Call trace_{input,output}_func if
651 d10v_debug is non-zero.
652 (SIZE_INSTRUCTION): Cut down to 8.
653 (SIZE_OPERANDS): Cut down to 18.
654 (SIZE_LOCATION): New value for size of line number, function name
655 field.
656 (init_text_p,text{,_start,_end}): New static variables for
657 printing line number and function name.
0535fa1a 658 (exec_bfd): New external that run.c sets.
a49a15ad
MM
659 (trace_input_func): Print line number and function name if
660 available and if desired.
661 (OP_4E09): Don't print out DBT message.
662 (OP_5FE0): Set exception field to SIG_D10V_STOP.
663 (OP_5F00): Set exception field to SIG_D10V_EXIT.
664
215ac953
MM
665Sat Sep 14 22:18:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
666
667 * interp.c (do_2_short): If the instruction encodes jump->ins,
668 don't do the second instruction if the jump succeeds.
669
19d44375
MM
670Fri Sep 13 22:35:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
671
672 * simops.c (OP_5F00): Use unknown traps to print all GPRs,
673 accumulators, PC, and F0/F1/C flags.
674
65c0d7de
MA
675Thu Sep 12 12:50:11 1996 Mark Alexander <marka@cygnus.com>
676
677 * simops.c (OP_5F00): Fix problems with system calls.
678
a5719092
MM
679Thu Sep 12 12:19:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
680
681 * simops.c (OP_5F00): Correct tracing information for trap.
682
5ceef1b5
MM
683Wed Sep 11 18:55:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
684
685 * Makefile.in (CSEARCH): Correctly find opcodes directory.
686
069398aa
MM
687Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
688
689 * simops.c (trace_output): Properly align accumulator output.
690 (OP_3{0,2,4}00): Properly parenthesize test expression. Add error
691 if shift count is too high.
293c76a3 692 (OP_4E{00,02,04,20,22,40,42}): Make tests agree with book.
60fc5b72
MM
693 (OP_4E09): Make cpfg properly trace the input flags.
694 (op_types): Add OP_FLAG_OUTPUT.
695 (trace_{input,output}): Support OP_FLAG_OUTPUT.
308f64d3
MM
696 (OP_31000000): This ld2w varient is a 16-bit memory reference, not
697 an 8-bit memory reference instruction for tracing purposes.
2254cd90 698 (OP_201): Addi needs to set the carry.
069398aa 699
ea2155e8
MH
700Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
701
702 * simops.c (OP_2600, OP_2601): Changed min and max comparisons
703 to use signed register values.
704
87178dbd
MM
705Wed Sep 4 11:35:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
706
707 * d10v_sim.h (DEBUG_*): Add bit flags for controlling debug
708 output.
709 (_ins_type): New enumeration to specify which container an
710 instruction is in, and whether it is part of a parallel operation.
711 (_state): Add ins_type field.
7eebfc62
MM
712 ({,u}int{8,16,32,64}): Use limits.h to size the appropriate types.
713 (ins_type_counters): Counters for the various instruction types.
714 ({left,right}_nops): Counters for the number of nops in each
715 container.
716 (d10v_debug): New variable to indicate whether debugging is turned
717 on.
718
719 * simops.c: (all functions): Change all #ifdef DEBUG code so that
720 the input and output values can be traced, along with the
721 instruction type. Make the -t option enable tracing.
722 (all functions): Change printf calls to use the printf_filtered
723 function in the callback table.
87178dbd
MM
724
725 * interp.c (_leftright): New enumeration to say whether 2 short
726 instructions are done left first or right first.
727 (do_{long,2_short,parallel}): Indicate in the machine state which
7eebfc62
MM
728 type of instruction this is. Count each of the types of
729 instructions executed.
87178dbd
MM
730 (sim_size): Only print the memory sizes if DEBUG_MEMSIZE debug
731 flag is set.
732 (sim_resume): Pass left/right indication to do_2_short.
7eebfc62
MM
733 (all functions): Change printf calls to use the printf_filtered
734 function in the callback table.
735 (sim_trace): Turn on debug flag if DEBUG was defined, and call
736 sim_resume.
737 (sim_info): Print out statistics on instructions.
738 (sim_{trace,create_inferior}): Eliminate extraneous output unless
739 debugging.
1eaaf305
MM
740 (sim_open): If args == -t and DEBUG was defined, set d10v_debug.
741 Only initialize the hash table the first time sim_open is called.
7eebfc62
MM
742
743 * Makefile.in: Make objects depend on d10v_sim.h.
1eaaf305
MM
744 ({,SIM_}CFLAGS): Include configure dependent switches. Setting
745 CFLAGS does not override host/target defines or SIM_CFLAGS.
746 (CC_FOR_BUILD,gencode): Use CC_FOR_BUILD to compile gencode.
747 (run): By default, the math library is not needed to be linked
748 in.
9b86c7e2 749 ({BFD,LIBIBERTY}_LIB): Define as variables so they can be
1eaaf305 750 overridden.
9b86c7e2
MM
751 (VPATH): Don't set to anything but @srcdir@ to work with non-GNU
752 makes.
753 ({run,callback}.o): Provide explicit paths to their appropriate
754 source directories.
755 (gencode{,.o},d10v-opc.o): Split compilation into creating object
756 and linking. Instead of linking in libopcodes.a, just compile
757 d10v-opc.o directly to handle canadian cross.
758 (CSEARCH): Add opcodes directory.
7eebfc62
MM
759
760 * configure.in (--enable-sim-cflags): New switch to allow user to
761 set the defaults.
1eaaf305 762 (CC_FOR_BUILD): Deal with canadian crosses.
7eebfc62 763 * configure: Regenerate.
87178dbd 764
8719be26
MA
765Wed Sep 04 04:45:34 1996 Mark Alexander <marka@cygnus.com>
766
767 * simops.c: Include correct syscall.h for d10v, not host's.
768 Fix #ifdef SYS_stat.
769
770Tue Sep 3 14:00:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
771
772 * simops.c (OP_5F00): Wrap all SYS_xxx traps with #ifdef.
773 Add trap 2 to be printf and trap 3 to be putchar.
774
775Wed Aug 28 21:42:34 1996 Mark Alexander <marka@cygnus.com>
776
777 * Makefile.in, d10v_sim.h, interp.c, simops.c: Add support
778 for low-level system calls.
779
d70b4d42
MH
780Wed Aug 28 17:33:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
781
782 * Makefile.in, d10v_sim.h, interp.c: Fix byte-order problems.
783
784Mon Aug 26 18:30:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
785
786 * d10v_sim.h (SEXT32): Added.
787 * interp.c: Commented out printfs.
788 * simops.c: Fixed error in sb and st2w.
789
790Thu Aug 15 13:30:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
791
792 * Makefile.in, d10v_sim.h, interp.c, simops.c: Added remaining
793 DSP instructions. Added modulo addressing.
794
795Sun Aug 11 12:57:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
796
797 * Makefile.in, d10v_sim.h, interp.c, simops.c: Snapshot.
798
4c38885c
MH
799Fri Aug 2 17:44:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
800
801 * d10v_sim.h, simops.c: Snapshot.
802
2934d1c9
MH
803Thu Aug 1 17:05:24 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
804
805 * ChangeLog, Makefile.in, configure, configure.in, d10v_sim.h,
806 gencode.c, interp.c, simops.c: Created.
807