oops, wrong branch - cvs mistake
[external/binutils.git] / sim / erc32 / ChangeLog
1 1999-01-25  Hugo Tyson  <hmt@cygnus.co.uk>
2
3         * interf.c (run_sim): Fix a bug in the main loop's handling of
4         annulled delay slot instructions.  There is precedent for this
5         change; the _other_ main loop in sis.c gets it right according to
6         my reading of the code.
7
8         The bug is: if an interrupt happens when the next instruction
9         (at sregs->pc) is annulled, the trap is taken (by execute_trap())
10         with the current values of PC and NPC, so when the trap returns,
11         the annulled instruction is indeed executed.  Another giveaway is
12         that the annul flag is cleared in execute_trap(): the information
13         is demonstrably discarded.
14
15         The solution is: perform annulling before looking for traps, in
16         fact it's neater to do annulling, see if there's an interrupt and
17         if not, do the instruction, then handle traps be they generated by
18         interrupts pending or by the instruction we might just have done.
19         That's what the sis.c one does.
20
21 1999-01-20  Hugo Tyson  <hmt@cygnus.co.uk>
22
23         * sis.h: Add asr17 register for support of SparcLITE (at least the
24         Hitachi ones I find before me)
25
26         * exec.c (dispatch_instruction): Case WRY: Allow write of asr17 if
27         sparclite.  Other ASR numbers than 17 or 0 (Y) trap out.
28         Case RDY: Allow read of asr17 if sparclite.  Other ASRs ditto.
29         (execute_trap): Do single-vector-trapping if asr17 bit 0 is set.
30         (init_regs): Initialize y and asr17.
31         NB: In instruction-set space, the Y register is asr0; the
32         instructions have different names for human reasons only.
33
34         * sis.c:
35         * interf.c: Set boolean mode variable dumbio if invoked with
36         argument "-dumbio" and mention it of verbose.
37         * erc32.c: if "dumbio" is set, do not assume that there is a
38         terminal type device attached to stdin/stdout.  Do not set
39         buffering or mess with tcsetattr or do any read operations in
40         order to make UART interrupts; not input data is supported.
41         This is necessary to allow the sim to be used within the eCos
42         testing infrastructure where stdin/stdout are pipes to a TCL
43         program; the sim hangs otherwise.
44
45 Thu Jul 23 07:17:03 1998  Mark Alexander  <marka@cygnus.com>
46
47         * exec.c (dispatch_instruction): Add SPARClite 'scan' instruction.
48
49 Tue Jul  7 21:12:41 1998  Mark Alexander  <marka@cygnus.com>
50
51         * func.c (bfd_load): Add special handling of a.out executables.
52
53 Sat Jun 13 08:33:25 1998  Mark Alexander  <marka@cygnus.com>
54
55         * func.c (bfd_load): Print correct endianness.
56         * interf.c (run_sim): Print debugging information if verbosity level
57         is greater than 2.
58         (sim_open): Repeated -v options now increment verbosity level.
59         (sim_store_register): Handle little-endian case.
60         (flush_window): Print debugging information if verbosity level
61         is greater then 2.
62
63 Tue Jun  2 15:20:35 1998  Mark Alexander  <marka@cygnus.com>
64
65         * interf.c (sim_open): Use revamped memory_read, which makes
66         byte-swapping unnecessary.  Add -sparclite-board option for
67         emulating RAM found on typical SPARClite boards.  Print
68         error message for unrecognized option.
69         * erc32.c: Change RAM address and size from constants to variables,
70         to allow emulation of SPARClite board RAM.
71         (fetch_bytes, store_bytes): New helper functions for revamped
72         mememory_read and memory_write.
73         (memory_read, memory_write): Rewrite to store bytes in target
74         byte order instead of storing words in host byte order; this
75         greatly simplifies support of little-endian programs.
76         (get_mem_ptr): Remove unnecessary byte parameter.
77         (sis_memory_write, sis_memory_read): Store words in target
78         byte order instead of host byte order.
79         (byte_swap_words): Remove, no longer needed.
80         * sis.h ((byte_swap_words): Remove declaration, no longer needed.
81         (memory_read): Add new sz parameter.
82         * sis.c (run_sim): Use revamped memory_read, which makes
83         byte-swapping unnecessary.
84         * exec.c (dispatch_instruction): Use revamped memory_read, which
85         makes byte-swapping and double-word fetching unnecessary.
86         * func.c (sparclite_board): Declare new variable.
87         (get_regi): Handle little-endian data.
88         (bfd_load): Recognize little-endian SPARClite as having
89         little-endian data.
90         
91 Fri May 22 14:23:16 1998  Mark Alexander  <marka@cygnus.com>
92
93         * erc32.c (port_init): Print messages only if sis_verbose is true.
94         * func.c (bfd_load): Ditto.
95         * interf.c (sim_open): Ditto.
96
97 Thu May 14 23:10:48 1998  Mark Alexander  <marka@cygnus.com>
98
99         * sis.h (uint64, int64): Define.
100         * exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes.
101         * (mul64): Simplify calculation of negative result.
102         * (div64): New helper function for 64-bit division.
103         * (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV,
104         and UDIVCC.
105         
106 Wed May 13 14:59:54 1998  Mark Alexander  <marka@cygnus.com>
107
108         * erc32.c (close_port): Don't close stdin; it kills GDB.
109         (byte_swap_words): New function.
110         * sis.h: (byte_swap_words): Declare.
111         * interf.c (run_sim): Always fetch instructions as big-endian.
112         * sis.c (run_sim): Ditto.
113
114 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
115
116         * configure: Regenerated to track ../common/aclocal.m4 changes.
117
118 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
119
120         * configure: Regenerated to track ../common/aclocal.m4 changes.
121         * config.in: Ditto.
122
123 Sun Apr 26 15:20:17 1998  Tom Tromey  <tromey@cygnus.com>
124
125         * acconfig.h: New file.
126         * configure.in: Reverted change of Apr 24; use sinclude again.
127
128 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
129
130         * configure: Regenerated to track ../common/aclocal.m4 changes.
131         * config.in: Ditto.
132
133 Fri Apr 24 11:19:52 1998  Tom Tromey  <tromey@cygnus.com>
134
135         * configure.in: Don't call sinclude.
136
137 Sat Apr 18 12:00:16 1998  Mark Alexander  <marka@cygnus.com>
138
139         * func.c (disp_fpu): Fix build problem on big-endian hosts.
140
141 Wed Apr  8 19:33:34 1998  Mark Alexander  <marka@cygnus.com>
142
143         * erc32.c (sim_stop): Handle SIGINT gracefully.
144         * interf.c (sim_open): Don't catch SIGINT; GDB will do that for us.
145
146 Wed Apr  8 18:29:40 1998  Mark Alexander  <marka@cygnus.com>
147
148         * exec.c (dispatch_instruction): Change how carry out is calculated
149         in DIVSCC.  Add emulation of SMULCC, UMUL, and UMULCC.
150
151 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
152
153         * configure: Regenerated to track ../common/aclocal.m4 changes.
154
155 Wed Apr  1 21:19:18 1998  Mark Alexander  <marka@cygnus.com>
156
157         * end.c: Update to version 2.7.5, fix compiler warnings and bugs.
158         * erc32.c: Ditto.
159         * exec.c: Ditto.
160         * float.c: Ditto.
161         * func.c: Ditto.
162         * help.c: Ditto.
163         * interf.c: Ditto.
164         * sis.c: Ditto.
165         * sis.h: Ditto.
166
167 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
168
169         * configure: Regenerated to track ../common/aclocal.m4 changes.
170
171 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
172
173         * configure: Regenerated to track ../common/aclocal.m4 changes.
174
175 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
176
177         * configure: Regenerated to track ../common/aclocal.m4 changes.
178
179 Tue Feb 17 12:41:11 1998  Andrew Cagney  <cagney@b1.cygnus.com>
180
181         * interf.c (sim_store_register, sim_fetch_register): Pass in
182         length parameter.  Return -1.
183
184 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
185
186         * configure: Regenerated to track ../common/aclocal.m4 changes.
187
188 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
189
190         * configure: Regenerated to track ../common/aclocal.m4 changes.
191
192 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
193
194         * configure: Regenerated to track ../common/aclocal.m4 changes.
195
196 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
197
198         * configure: Regenerated to track ../common/aclocal.m4 changes.
199         * config.in: Ditto.
200
201 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
202
203         * configure: Regenerated to track ../common/aclocal.m4 changes.
204
205 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
206
207         * configure: Regenerated to track ../common/aclocal.m4 changes.
208
209 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
210
211         * configure: Regenerated to track ../common/aclocal.m4 changes.
212
213 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
214
215         * configure: Regenerated to track ../common/aclocal.m4 changes.
216
217 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
218
219         * configure: Regenerated to track ../common/aclocal.m4 changes.
220
221 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
222
223         * configure: Regenerated to track ../common/aclocal.m4 changes.
224
225 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
226
227         * configure: Regenerated to track ../common/aclocal.m4 changes.
228
229 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
230
231         * configure: Regenerated to track ../common/aclocal.m4 changes.
232         * config.in: Ditto.
233
234 Tue Aug 26 10:38:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
235
236         * float.c (__setfpucw): Compile on any i386 target.  Not just NT.
237
238         * interf.c (sim_kill): Delete.
239         (sim_create_inferior): Add ABFD argument.  Initialize PC from ABFD
240         argument.
241         (sim_load): Don't save start address.
242         (start_address): Delete variable.
243
244 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
245
246         * configure: Regenerated to track ../common/aclocal.m4 changes.
247         * config.in: Ditto.
248
249 Mon Aug 25 16:19:49 1997  Andrew Cagney  <cagney@b1.cygnus.com>
250
251         * interf.c (sim_open): Add ABFD argument. Change ARGV to PARGV.
252
253 Mon Jun 30 11:45:25 1997  Doug Evans  <dje@canuck.cygnus.com>
254
255         * Makefile.in (install-sis): Change $(srcdir)/sis to sis.
256
257 Wed May 28 09:46:13 1997  Andrew Cagney  <cagney@b1.cygnus.com>
258
259         * interf.c (sim_set_callbacks): Drop SD argument - not applicable.
260         (sim_open): Add callback arg, save it.
261
262 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
263
264         * configure: Regenerated to track ../common/aclocal.m4 changes.
265
266 Tue Apr 22 11:05:01 1997  Doug Evans  <dje@canuck.cygnus.com>
267
268         * interf.c (sim_open): Undo patch to add -E support.
269
270 Thu Apr 17 03:03:56 1997  Doug Evans  <dje@canuck.cygnus.com>
271
272         * interf.c (sim_open): Ignore -E arg.
273         (start_address): New static local.
274         (sim_load): Return SIM_RC.  New arg abfd.  Set start_address from bfd.
275         (sim_create_inferior): Return SIM_RC.  Delete arg start_address.
276
277 Tue Apr 15 15:16:11 1997  Ian Lance Taylor  <ian@cygnus.com>
278
279         * Makefile.in (install-sis): Depend upon installdirs.  Use
280         $(program_transform_name) directly, rather than using
281         $(INSTALL_XFORM).
282
283 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
284
285         * configure: Regenerated to track ../common/aclocal.m4 changes.
286         * config.in: Ditto.
287
288 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
289
290         * interf.c (sim_open): New arg `kind'.
291
292         * configure: Regenerated to track ../common/aclocal.m4 changes.
293
294 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
295
296         * configure: Regenerated to track ../common/aclocal.m4 changes.
297
298 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
299
300         * configure: Re-generate.
301
302 Thu Mar 13 12:46:04 1997  Doug Evans  <dje@canuck.cygnus.com>
303
304         * interf.c (sim_open): New SIM_DESC result.  Argument is now in
305         argv form.
306         (other sim_*): New SIM_DESC argument.
307
308 Tue Feb  4 13:35:20 1997  Doug Evans  <dje@canuck.cygnus.com>
309
310         * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
311         COMMON_{PRE,POST}_CONFIG_FRAG instead.
312         * configure.in: sinclude ../common/aclocal.m4.
313         * configure: Regenerated.
314
315 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
316
317         * configure configure.in Makefile.in:  Update to new configure
318         scheme which is more compatible with WinGDB builds.
319         * configure.in:  Improve comment on how to run autoconf.
320         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
321         * Makefile.in:  Use autoconf substitution to install common
322         makefile fragment.
323
324 Wed Dec  4 18:25:04 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
325
326         * interf.c (run_sim): Stop the simulator and reset the stdio after
327         breakpoints.
328
329 Tue Dec  3 11:54:37 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
330
331         * configure.in: Look for libtermcap.a.
332         * Makefile.in: Only link in -ltermcap if it exists.
333         * erc32.c: Update to version 2.6a. Fix uart handling.
334         * exec.c: Update to version 2.6a. Add sparclite support.
335         * float.c: Update to version 2.6a. Convert comments to
336         preprocessor warnings. Add __setfpucw() for i385 hosts so floating
337         point exceptions work on win32.
338         * func.c: Update to version 2.6a. Fix uart handling, add support
339         for user error traps.
340         * help.c: Update to version 2.6a. Add help note on user error
341         traps.
342         * interf.c: Update to version 2.6a. Fix uart handling, and add
343         sparclite support.
344         * examples/gccx: Use sparclite cross compiler, not native gcc.
345         * examples/srt0.S: Use "mov" rather than "wr" for manipulating
346         the psr register.
347
348 Mon Nov 25 08:28:10 1996  Fred Fish  <fnf@cygnus.com>
349
350         * Makefile.in (run.o): Remove this rule, it hides the one in
351         ../common/Make-common.in that correctly references the source
352         in the sibling ../common directory.
353
354 Wed Nov 20 01:30:12 1996  Doug Evans  <dje@canuck.cygnus.com>
355
356         * Makefile.in: Delete stuff moved to ../common/Make-common.in.
357         (SIM_{OBJS,EXTRA_LIBS,EXTRA_LIBDEPS,EXTRA_ALL,EXTRA_INSTALL}): Define.
358         (SIM_{EXTRA_CLEAN,EXTRA_CFLAGS}): Define.
359         * configure.in: Simplify using macros in ../common/aclocal.m4.
360         Call AC_CHECK_HEADERS(stdlib.h).
361         * configure: Regenerated.
362         * config.in: New file.
363         * func.c (sim_set_callbacks): Delete, moved to
364         * interf.c (sim_set_callbacks): here.
365         (sim_callback): New global.
366         Rewrite all calls to printf_filtered to go through callback.
367         (sim_size,sim_trace): New functions.
368         (sim_{insert,remove}_breakpoint): #if 0 out.
369         * sis.c: #include "config.h".  #include <stdlib.h> if present.
370         (main): Coerce fprintf arg to INIT_DISASSEMBLE_INFO to fprintf_ftype.
371         * sis.h: #include "callback.h".
372         * run.c: Deleted, using one in ../common now.
373
374 Thu Oct  3 16:12:03 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
375
376         * Makefile.in (clean): Move config.log to distclean.
377
378 Wed Oct  2 16:57:57 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
379
380         * Makefile.in (clean): Also remove config.log.
381
382 Sat Sep 14 00:00:46 1996  Ian Lance Taylor  <ian@cygnus.com>
383
384         * Makefile.in (CC_FOR_BUILD): New variable.
385         (AR, AR_FLAGS, BISON, MAKEINFO): Remove duplicate variables.
386         (RANLIB, CC): Likewise.
387         (end): Use $(CC_FOR_BUILD), not $(CC).
388         * configure.in: Set CC_FOR_BUILD.
389         * configure: Rebuild.
390
391 Sun Sep  8 14:04:37 1996  Stu Grossman  (grossman@critters.cygnus.com)
392
393         * erc32.c (port_init):  Disable this for __GO32__ (got no pty's
394         there either...).
395
396 Mon Aug 12 17:04:58 1996  Stu Grossman  (grossman@critters.cygnus.com)
397
398         * erc32.c:  Don't include sys/ioctl.h or sys/file.h.  They aren't
399         necessary.
400         * (port_init):  Don't even *try* to open pty's under _WIN32.
401         * Use SIM_ADDR, not caddr_t for declaring vars that hold addresses.
402         * float.c:  Get rid of #warning.  Makes Microsoft C barf.
403         * interf.c (sim_open):  Cast fprintf to (fprintf_ftype) to fix
404         compiler warning.
405         * (sim_load sim_create_inferior sim_read):  Use prototypes only in
406         decls, not defs.
407         * Get rid of enum sim_stop.  It's defined in remote-sim.h.
408         * (sim_stop_reason):  Define SIGTRAP if _WIN32.
409         * sis.h:  Include ansidecl.h and remote-sim.h.
410
411 Wed Jul  3 16:05:23 1996  Stu Grossman  (grossman@critters.cygnus.com)
412
413         * erc32.c (mec_reset mec_read mec_write memory_read memory_write),
414         sis.h:  Get rid of all uses of long long's.
415         * (close_port read_uart write_uart uarta_tx):  Don't seg fault
416         when can't open pty's.
417         * exec.c:  Add two new instructions: smul, and divscc.
418         * interf.c (flush_windows):  New routine to flush the register
419         windows out to the stack just before returning to GDB.  Makes
420         backtraces work much better.
421
422 Wed Jun 26 12:19:11 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
423
424         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
425         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
426         (docdir, oldincludedir): Removed.
427         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
428         (AC_PROG_INSTALL): Added.
429         * configure: Rebuilt.
430
431 Mon Jun 24 14:19:07 1996  Ian Lance Taylor  <ian@cygnus.com>
432
433         * configure.in: Call AC_PROG_CC before running configure.host.
434         * configure: Rebuild with autoconf 2.10.
435
436 Tue Jun  4 10:37:12 1996  Tom Tromey  <tromey@csk3.cygnus.com>
437
438         * Makefile.in (install): Don't check to see if tooldir exists.
439         Make $(tooldir) and $(tooldir)/bin.
440
441 Mon Jun  3 12:33:38 1996  Ian Lance Taylor  <ian@cygnus.com>
442
443         * Makefile.in (end.h): Use explicit ./ when running end.
444
445 Sun May 19 21:05:31 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
446
447         * func.c(bfd_load): Don't try to print the filename if the pfbd is
448         NULL.
449         * interf.c(sim_load): Pass the whole string, not just the first
450         byte.
451
452 Version 2.1 26-02-96
453 --------------------
454  
455 * Fixed bug in "go" command.
456  
457 version 2.0 05-02-96
458 --------------------
459
460 * Fixed bug in interrupt force register (erc32.c).
461
462 * Change file load function to use bfd_openr.
463
464 * SIS should now be endian independent.
465
466 version 1.8 24-11-95
467 --------------------
468
469 * Fixed FPU timing - some sequences of FPU instructions did not calculate
470   the resource dependencies right.
471
472 * Corrected STDFQ when qne = 0 (again!). The ftt is set to sequence_error
473   but no FPU trap is generated.
474
475 version 1.7.1 31-10-95
476 --------------------
477
478 * Corrected STDFQ when qne = 0. Now, a trap is immidiately generated but
479   the FPU stays in execute mode.
480
481 * Corrected JMPL and RETT timing (these instructions takes two cycles).
482
483
484 version 1.7 25-10-95
485 --------------------
486
487 * Interrupt during annuled instruction corrupted return address - fixed.
488
489
490 version 1.6.2 25-10-95
491 --------------------
492
493 * Added -DFAST_UART to Makefile
494  
495
496 version 1.6.1 24-10-95
497 --------------------
498  
499 * Fixed bug in STDFQ which caused bus error
500
501
502 version 1.6 02-10-95
503 --------------------
504  
505 * Modified srt0.s to include code that initiates registers in IU and FPU
506   and initializes the data segment. The simulator 'load' command does not
507   longer initialize the data segment!
508
509 * Corrected MEC timer operation; scalers now divide the frequency by 
510   (scaler_value + 1).
511
512 * MEC breakpoints are not checked during store operation
513
514
515 version 1.5 14-09-95
516 --------------------
517
518 * Fixed some bugs in the cycle counting for IU & FPU instructions.
519
520 * Fixed bug that allowed an annuled instruction to cause memory exception.
521
522 * The *ws parameter in mem.c should now contain the number of waitstates
523   required by the memory access (was total number of cycles).
524
525 * The supplied srt0.s now clears the BSS (thanks Joel).
526
527 version 1.4 22-08-95
528 --------------------
529
530 * Added a '-g' switch to enable/disable the GNU readline(), which cause
531 some problems on solaris 2.x machines.
532
533 * Enabled MEC watchpoint and breakpoint function to mem.c. Performance 
534 may suffer a bit ...
535
536 NOTE: The UARTs are now connected to /dev/ttypc and /dev/ttypd.
537
538 version 1.3 26-07-95
539 --------------------
540
541 * Fixed bug in mulscc instruction (how could that ever have worked?)
542
543 * Fixed bug in UART B (flushed characters on UART A), thanks Paul.
544
545 version 1.2 13-07-95
546 --------------------
547
548 * Fixed bug in interrupt handling (wrong interrupt selected when more that
549 one interrupt pending)
550
551 * Fixed updating of condition codes during logical instructions (carry and
552 overflow were not reset)
553
554 * Fixed bug in WRTBR (tt field was wrongly over-written)
555
556 version 1.1 07-07-95
557 --------------------
558
559 * Fixed several bugs in the interrupt handler and callback routines.
560 (reported by Paul Warren, Alsys)