X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=sim%2Ferc32%2FChangeLog;h=b908a501bb992b296c8e531c968fed7452e0e42e;hb=c906108c21474dfb4ed285bcc0ac6fe02cd400cc;hp=bf18bc9d43cb37412037a61e5968989582c93fe7;hpb=a665caa644857954b195eed35957f0d4af86106f;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/erc32/ChangeLog b/sim/erc32/ChangeLog index bf18bc9d43..b908a501bb 100644 --- a/sim/erc32/ChangeLog +++ b/sim/erc32/ChangeLog @@ -1,3 +1,347 @@ +1999-02-11 Hugo Tyson + + * exec.c (dispatch_instruction): + Correct the sense of the + if (!sparclite) { + sregs->trap = TRAP_UNIMP; + break; + } + clause that has been pasted around: it's correct in the SCAN and + DIVScc (divide step) cases (where it was probably originally + written?), but reversed in the SDIV, SDIVcc, UDIV, UDIVcc cases + ie. instructions only in the SPARC V8 or SPARClite 86x + architectures. It was also present when not required for SMUL, + SMULcc, UMUL, UMULcc instructions that are present in all + architectures. + +1999-01-25 Hugo Tyson + + * interf.c (run_sim): Fix a bug in the main loop's handling of + annulled delay slot instructions. There is precedent for this + change; the _other_ main loop in sis.c gets it right according to + my reading of the code. + + The bug is: if an interrupt happens when the next instruction + (at sregs->pc) is annulled, the trap is taken (by execute_trap()) + with the current values of PC and NPC, so when the trap returns, + the annulled instruction is indeed executed. Another giveaway is + that the annul flag is cleared in execute_trap(): the information + is demonstrably discarded. + + The solution is: perform annulling before looking for traps, in + fact it's neater to do annulling, see if there's an interrupt and + if not, do the instruction, then handle traps be they generated by + interrupts pending or by the instruction we might just have done. + That's what the sis.c one does. + +1999-01-20 Hugo Tyson + + * sis.h: Add asr17 register for support of SparcLITE (at least the + Hitachi ones I find before me) + + * exec.c (dispatch_instruction): Case WRY: Allow write of asr17 if + sparclite. Other ASR numbers than 17 or 0 (Y) trap out. + Case RDY: Allow read of asr17 if sparclite. Other ASRs ditto. + (execute_trap): Do single-vector-trapping if asr17 bit 0 is set. + (init_regs): Initialize y and asr17. + NB: In instruction-set space, the Y register is asr0; the + instructions have different names for human reasons only. + + * sis.c: + * interf.c: Set boolean mode variable dumbio if invoked with + argument "-dumbio" and mention it of verbose. + * erc32.c: if "dumbio" is set, do not assume that there is a + terminal type device attached to stdin/stdout. Do not set + buffering or mess with tcsetattr or do any read operations in + order to make UART interrupts; not input data is supported. + This is necessary to allow the sim to be used within the eCos + testing infrastructure where stdin/stdout are pipes to a TCL + program; the sim hangs otherwise. + +Thu Jul 23 07:17:03 1998 Mark Alexander + + * exec.c (dispatch_instruction): Add SPARClite 'scan' instruction. + +Tue Jul 7 21:12:41 1998 Mark Alexander + + * func.c (bfd_load): Add special handling of a.out executables. + +Sat Jun 13 08:33:25 1998 Mark Alexander + + * func.c (bfd_load): Print correct endianness. + * interf.c (run_sim): Print debugging information if verbosity level + is greater than 2. + (sim_open): Repeated -v options now increment verbosity level. + (sim_store_register): Handle little-endian case. + (flush_window): Print debugging information if verbosity level + is greater then 2. + +Tue Jun 2 15:20:35 1998 Mark Alexander + + * interf.c (sim_open): Use revamped memory_read, which makes + byte-swapping unnecessary. Add -sparclite-board option for + emulating RAM found on typical SPARClite boards. Print + error message for unrecognized option. + * erc32.c: Change RAM address and size from constants to variables, + to allow emulation of SPARClite board RAM. + (fetch_bytes, store_bytes): New helper functions for revamped + mememory_read and memory_write. + (memory_read, memory_write): Rewrite to store bytes in target + byte order instead of storing words in host byte order; this + greatly simplifies support of little-endian programs. + (get_mem_ptr): Remove unnecessary byte parameter. + (sis_memory_write, sis_memory_read): Store words in target + byte order instead of host byte order. + (byte_swap_words): Remove, no longer needed. + * sis.h ((byte_swap_words): Remove declaration, no longer needed. + (memory_read): Add new sz parameter. + * sis.c (run_sim): Use revamped memory_read, which makes + byte-swapping unnecessary. + * exec.c (dispatch_instruction): Use revamped memory_read, which + makes byte-swapping and double-word fetching unnecessary. + * func.c (sparclite_board): Declare new variable. + (get_regi): Handle little-endian data. + (bfd_load): Recognize little-endian SPARClite as having + little-endian data. + +Fri May 22 14:23:16 1998 Mark Alexander + + * erc32.c (port_init): Print messages only if sis_verbose is true. + * func.c (bfd_load): Ditto. + * interf.c (sim_open): Ditto. + +Thu May 14 23:10:48 1998 Mark Alexander + + * sis.h (uint64, int64): Define. + * exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes. + * (mul64): Simplify calculation of negative result. + * (div64): New helper function for 64-bit division. + * (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV, + and UDIVCC. + +Wed May 13 14:59:54 1998 Mark Alexander + + * erc32.c (close_port): Don't close stdin; it kills GDB. + (byte_swap_words): New function. + * sis.h: (byte_swap_words): Declare. + * interf.c (run_sim): Always fetch instructions as big-endian. + * sis.c (run_sim): Ditto. + +Tue Apr 28 18:33:31 1998 Geoffrey Noer + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Sun Apr 26 15:31:55 1998 Tom Tromey + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Ditto. + +Sun Apr 26 15:20:17 1998 Tom Tromey + + * acconfig.h: New file. + * configure.in: Reverted change of Apr 24; use sinclude again. + +Fri Apr 24 14:16:40 1998 Tom Tromey + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Ditto. + +Fri Apr 24 11:19:52 1998 Tom Tromey + + * configure.in: Don't call sinclude. + +Sat Apr 18 12:00:16 1998 Mark Alexander + + * func.c (disp_fpu): Fix build problem on big-endian hosts. + +Wed Apr 8 19:33:34 1998 Mark Alexander + + * erc32.c (sim_stop): Handle SIGINT gracefully. + * interf.c (sim_open): Don't catch SIGINT; GDB will do that for us. + +Wed Apr 8 18:29:40 1998 Mark Alexander + + * exec.c (dispatch_instruction): Change how carry out is calculated + in DIVSCC. Add emulation of SMULCC, UMUL, and UMULCC. + +Sat Apr 4 20:36:25 1998 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Apr 1 21:19:18 1998 Mark Alexander + + * end.c: Update to version 2.7.5, fix compiler warnings and bugs. + * erc32.c: Ditto. + * exec.c: Ditto. + * float.c: Ditto. + * func.c: Ditto. + * help.c: Ditto. + * interf.c: Ditto. + * sis.c: Ditto. + * sis.h: Ditto. + +Fri Mar 27 16:15:52 1998 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Mar 25 12:35:29 1998 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Mar 18 12:38:12 1998 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Tue Feb 17 12:41:11 1998 Andrew Cagney + + * interf.c (sim_store_register, sim_fetch_register): Pass in + length parameter. Return -1. + +Sun Feb 1 16:47:51 1998 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Sat Jan 31 18:15:41 1998 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Jan 19 22:26:29 1998 Doug Evans + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Dec 15 23:17:11 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Ditto. + +Thu Dec 4 09:21:05 1997 Doug Evans + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Fri Oct 3 09:28:00 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Sep 24 17:38:57 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Tue Sep 23 11:04:38 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Sep 22 11:46:20 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Fri Sep 19 17:45:25 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Sep 15 17:36:15 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Aug 27 18:13:22 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Ditto. + +Tue Aug 26 10:38:20 1997 Andrew Cagney + + * float.c (__setfpucw): Compile on any i386 target. Not just NT. + + * interf.c (sim_kill): Delete. + (sim_create_inferior): Add ABFD argument. Initialize PC from ABFD + argument. + (sim_load): Don't save start address. + (start_address): Delete variable. + +Mon Aug 25 17:50:22 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Ditto. + +Mon Aug 25 16:19:49 1997 Andrew Cagney + + * interf.c (sim_open): Add ABFD argument. Change ARGV to PARGV. + +Mon Jun 30 11:45:25 1997 Doug Evans + + * Makefile.in (install-sis): Change $(srcdir)/sis to sis. + +Wed May 28 09:46:13 1997 Andrew Cagney + + * interf.c (sim_set_callbacks): Drop SD argument - not applicable. + (sim_open): Add callback arg, save it. + +Thu Apr 24 00:39:51 1997 Doug Evans + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Tue Apr 22 11:05:01 1997 Doug Evans + + * interf.c (sim_open): Undo patch to add -E support. + +Thu Apr 17 03:03:56 1997 Doug Evans + + * interf.c (sim_open): Ignore -E arg. + (start_address): New static local. + (sim_load): Return SIM_RC. New arg abfd. Set start_address from bfd. + (sim_create_inferior): Return SIM_RC. Delete arg start_address. + +Tue Apr 15 15:16:11 1997 Ian Lance Taylor + + * Makefile.in (install-sis): Depend upon installdirs. Use + $(program_transform_name) directly, rather than using + $(INSTALL_XFORM). + +Mon Apr 7 15:45:02 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + * config.in: Ditto. + +Wed Apr 2 15:06:28 1997 Doug Evans + + * interf.c (sim_open): New arg `kind'. + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Mar 17 15:10:07 1997 Andrew Cagney + + * configure: Re-generate. + +Thu Mar 13 12:46:04 1997 Doug Evans + + * interf.c (sim_open): New SIM_DESC result. Argument is now in + argv form. + (other sim_*): New SIM_DESC argument. + +Tue Feb 4 13:35:20 1997 Doug Evans + + * Makefile.in (@COMMON_MAKEFILE_FRAG): Use + COMMON_{PRE,POST}_CONFIG_FRAG instead. + * configure.in: sinclude ../common/aclocal.m4. + * configure: Regenerated. + +Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com) + + * configure configure.in Makefile.in: Update to new configure + scheme which is more compatible with WinGDB builds. + * configure.in: Improve comment on how to run autoconf. + * configure: Re-run autoconf to get new ../common/aclocal.m4. + * Makefile.in: Use autoconf substitution to install common + makefile fragment. + +Wed Dec 4 18:25:04 1996 Rob Savoye + + * interf.c (run_sim): Stop the simulator and reset the stdio after + breakpoints. + Tue Dec 3 11:54:37 1996 Rob Savoye * configure.in: Look for libtermcap.a.