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