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