]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - sim/ppc/ChangeLog
Change profiling so that it is enabled by default. Re-generate everything.
[thirdparty/binutils-gdb.git] / sim / ppc / ChangeLog
index 075ff3c732fb9bf4893b346e578d02a18a5dcf5d..fc0af62790580f0e7c67553f612c598788f6f74f 100644 (file)
@@ -1,8 +1,516 @@
+Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Fri Apr 28 15:59:27 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * events.c (event_queue_process): Call update_time_from_event
+       every time an event is removed from the queue.
+       (update_time_from_event): Delete assertion that a negative
+       time_from_event implies an empty event queue.
+
+Fri Apr 28 15:53:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * interrupts.c (deliver_hardware_interrupt): Print time trace in
+       decimal.
+       * events.c (event_queue_process): Cleanup trace message.
+       (update_time_from_event): Trace full event queue.
+
+2000-03-25  Geoff Keating  <geoffk@cygnus.com>
+
+       * ppc-instructions (Disabled_Exponent_Underflow): Increment
+       the exponent when denormalizing.
+
+Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+1999-05-08  Felix Lee  <flee@cygnus.com>
+
+        * configure.in: Use AC_EXEEXT instead of AM_EXEEXT.
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+       
+1999-04-02  Keith Seitz  <keiths@cygnus.com>
+
+       * sim_calls.c (POLL_QUIT_INTERVAL): Define. Used to tweak
+       the frequency at which the poll_quit callback is called.
+       (poll_quit_count): New global.
+       (sim_io_poll_quit): Only call the poll_quit callback
+       after the specified POLL_QUIT_INTERVAL.
+
+1999-02-22  Jim Lemke  <jlemke@cygnus.com>
+
+       * dc-complex: Force expansion on all bits of field BO.
+       Previously, the least-significant (prediction) bit was ignored.
+       * ppc-instructions (conditional branches): Implement mpc860c0 option.
+       * igen.c (gen_semantics_[ch]): Setup for mpc860c0 option.
+       * psim.c (is_num, psim_options): Added parsing for mpc860c0 option.
+       * interrupts.h: Added "mpc860c0_instruction_program_interrupt".
+       * interrupts.c (program_interrupt): Added handling for above interrupt.
+
+1999-02-01  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       Make the simulator compatible with the MPC750.  It would be nicer
+       to make this a real multi-sim, but that's more work than we have
+       time for.
+       * emul_generic.c (emul_add_tree_options): Only require strict
+       alignment if it was explicitly requested at configuration time.
+       Don't make it the default for little-endian machines.
+       * ppc-spr-table (UMMCR0, UMMCR1, UPMC1, UPMC2, USIA, UPMC3, UPMC4,
+       MMCR0, PMC1, PMC2, SIA, MMCR1, PMC3, PMC4, L2CR, ICTC, THRM1,
+       THRM2, THRM3): Plop in the MPC750 SPR registers.
+       (DABR): This is weird.  This was HID5, but the PPC spec says this
+       should be DABR; why did some random processor use it for something
+       else?  The HID5 entry dates back to the original checkin of the
+       simulator code in 1995, so remove it.
+       * sim_calls.c (register_names): Delete this; since the user can
+       now change GDB's list of register names dynamically, we can't
+       pretend there's a static mapping here.
+       (sim_fetch_register, sim_store_register): Call GDB's REGISTER_NAME
+       function to get the register name.  That ought to be accurate.
+       However, we're changing a compile-time dependency (using the
+       REGISTER_NAMES macro) into a link- and run-time dependency
+       (calling REGISTER_NAME, which happens to be a function call on the
+       PPC).
+
+1999-01-22  Jim Lemke <jlemke@cygnus.com>
+
+       * igen.c(gen_semantics_[ch]): setup/use of new option
+       (-o mpc860c0[=n]).
+       interrupts.[ch](mpc860c0_instruction_program_interrupt): added.
+       ppc-instructions(the four branch insn groups): detect problematic br's.
+       psim.c(is_num - added, psim_options): Parse and init new option.
+       These changes are currently under #ifdef WITH_OPTION_MPC860C0.
+
+1998-12-01  Ken Raeburn  <raeburn@cygnus.com>
+
+       * hw_nvram.c (hw_nvram_bcd): Force value to fit in 0..99.
+
+Fri Nov 20 12:17:28 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * main.c (sim_io_poll_quit): Stub function.
+
+       * events.c (SIM_EVENTS_POLL_RATE): Define.
+       (sim_events_poll): Copy function from common/sim-events.c.
+       (event_queue_init): Copy scheduling of sim_events_poll from same.
+
+       * sim_callbacks.h, sim_calls.c (sim_io_poll_quit): New function,
+       poll the external environment.
+
+1998-11-19  Michael Meissner  <meissner@cygnus.com>
+
+       * ppc-instructions (is_{NaN,inf}): Use unsigned64 to get the
+       fractional type, so that quiet NaN's aren't treated like
+       Infinities.
+
+Mon Sep 28 09:42:45 1998  Drew Moseley  <dmoseley@cygnus.com>
+
+       * table.c (table_open): For cygwin hosts, we need to use the
+       return value from the read routine as the number of bytes to
+       process.  This apparently is due to text-mode vs binary-mode.  If
+       the mounts are done text-mode, then the size returnedby fstat()
+       may be different than the number of bytes "read" in text mode.
+
+Sun Oct  4 00:50:47 1998  Felix Lee  <flee@cygnus.com>
+
+       * emul_netbsd.c (do_open): fix order-of-evaluation problem.
+       (do_close): ditto.
+       (do_fstat): ditto.
+       (do_lstat): ditto.
+
+1998-09-03  Michael Meissner  <meissner@cygnus.com>
+
+       * emul_{netbsd,unix}.c: Update copyright year.
+
+Mon Jun 29 10:57:36 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
+
+       * sim_calls.c (sim_fetch_register, sim_store_register):
+       return zero when nothing to do.
+
+1998-06-26  Michael Meissner  <meissner@cygnus.com>
+
+       * configure.in (AC_CHECK_HEADERS): Don't check for sys/mount.h.
+       * configure: Regenerate.
+       * emul_{netbsd,unix}.c (toplevel): No longer try to include
+       sys/mount.h. It conflicts on Linux when gnu libc2 is used.
+
+Tue May 12 12:10:33 PDT 1998  James Ingham  <jingham@leda.cygnus.com>
+
+       * Makefile.in: The run target depended on a target psim$(EXEEXT),
+       but there was no such target, only plain psim.  So I changed the
+       run target to depend on psim.
+
+Sat May  2 01:10:12 1998  Stu Grossman  <grossman@babylon-5.cygnus.com>
+
+       * aclocal.m4:  Remove defs of AM_EXEEXT and AM_CYGWIN32.  These are
+       now defined in ../common/aclocal.m4, and the double definition causes
+       problems with AC_SUBST of EXEEXT.
+       * configure:  Regenerate.
+       
+Wed Apr 29 15:44:52 1998  Geoffrey Noer  <noer@cygnus.com>
+
+       * aclocal.m4: new file for AM_EXEEXT macro
+       * configure.in: call AM_EXEEXT
+       * configure: regenerate with autoconf 2.12.1.
+       * Makefile.in: add EXEEXT support
+
+Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+       * config.in: Ditto.
+
+Sun Apr 26 15:19:51 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * acconfig.h: New file.
+       * configure.in: Reverted change of Apr 24; use sinclude again.
+       Don't call AC_C_CROSS.
+
+Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+       * config.in: Ditto.
+
+Fri Apr 24 11:18:46 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * Makefile.in (top_builddir): New macro.
+       (INTLLIBS): New macro.
+       (INTLDEPS): Likewise.
+       (psim): Depend on INTLDEPS; link against INTLLIBS.
+       * configure.in: Call CY_GNU_GETTEXT.
+
+Wed Apr 22 14:28:48 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * configure: Regenerate with autoconf 2.12.1.
+
+Fri Mar 13 09:25:58 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * psim.c (psim_read_register, psim_write_register): Handle updates
+       for FPSCR.
+
+       * registers.c (register_description): Reconize "FPSCR".
+
+       * emul_netbsd.c (emul_netbsd_create): When FP available, enable
+       MSR FP exception mode. Do not enable FPSCR bits.
+       * emul_unix.c (emul_unix_create): Ditto.
+
+Tue Feb 17 12:48:58 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_store_register, sim_fetch_register): Pass in
+       length parameter.  Return -1.
+
+Mon Feb  9 14:13:14 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * ppc-instructions (fdiv, fdivs): Check for divide by zero.
+       (is_invalid_zero_divide, invalid_zero_divide_operation): New
+       functions.
+       
+Wed Dec 10 17:38:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_load): Do not parse PROG using buildargv, use
+       raw value instead.
+
+1997-11-05  Felix Lee  <flee@cygnus.com>
+
+       * emul_chirp.c: #ifdef HAVE_UNISTD_H
+
+Wed Oct 15 08:50:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * corefile.c (core_attach): Pad out allocated memory regions so
+       that they are always correctly aligned.
+       (struct _core_mapping, core_map_attach, core_init,
+       new_core_mapping): Change free_buffer to type void*.
+
+Mon Oct  6 18:09:26 1997  Michael Meissner  <meissner@cygnus.com>
+
+       * sim_calls.c (zfree): Call free correctly.
+
+Mon Sep 29 10:05:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (zfree): Use free, not mfree.
+       (sim_io_flush_stdoutput): Replace gdb_flush with callback ->
+       flush_stdout.
+
+Fri Sep 26 09:50:29 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * ppc-instructions (sraw, slw, srw): From Charles Lefurgy, Fix
+       mask extracting shift amount. Correctly condition for setting XER
+       in sraw.
+       (ldhau): From Johannes Reisinger, update rA after load.
+
+Tue Sep  9 22:13:23 1997  Felix Lee  <flee@cygnus.com>
+
+       * basics.h (CONCAT*): token-pasting macros, if ALMOST_STDC,
+       for MSVC.
+       * words.h: __int64 instead of long long for MSVC.
+
+Wed Aug 27 10:24:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_create_inferior): Check the simulator was
+       initialized before creating inferior.
+
+       * idecode_expression.h (ALU_END): From Charles Lefurgy - Extract
+       sign bit using 64 bit and not a 32 bit mask.
+
+Wed Aug 27 10:15:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_load): From Ian Lance Taylor - free argv after
+       it has been used, not before.
+       
+Tue Aug 26 10:41:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_kill): Delete.
+       (sim_create_inferior): Add ABFD argument.
+       (entry_point): Delete variable.
+       (sim_load): Move setting of PC from here.
+       (sim_create_inferior): To here.
+
+Mon Aug 25 16:17:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_open): Add ABFD argument.
+
+Thu Jul  3 10:18:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * ppc-instructions (PPC_INSN_INT): From Michael Thies - Monitoring
+       CR register updates dependant on RC value had logic backwards.
+
+       * ppc-instructions (Load String Word Immediate): From Brad Parker
+       - sense of wrap test in check for overwriting RA wrong.
+       (Load String Word Indexed): Ditto.
+       
+       * configure.in: From Erik Landry - set sim_default_model not
+       sim_model for sim-default-model option.
+       * configure: Regenerate.
+       
+       * interrupts.c (check_masked_interrupts): Schedule a hardware
+       interrupt delivery when FP interrupts get enabled.
+       (program_interrupt): Generate FP exceptions instead of aborting.
+       (deliver_hardware_interrupt): Deliver a FP exception if so
+       enabled.
+
+       * registers.h: Add definition of fpscr_vx_bits.
+
+       * idecode_expression.h (FPSCR_END): Always update FEX and VX bits
+       in FPSCR.
+       (FPSCR_END): Explicitly check for possible floating point
+       exception conditions.
+       (FPSCR_BEGIN): Simplify.
+       
+       * ppc-instructions (Move From FPSCR): Enable.
+       (Move To FPSCR Bit 1): Ditto.
+       (Move To FPSCR Bit 0): Ditto.
+       (Move To FPSCR Field Immediate): Ditto.
+       (Move to Condition Register from FPSCR): Simplify.
+       (invalid_arithemetic_operation): Generate a QNaN when invalid
+       operation exception disabled.
+       
+Tue May 20 10:22:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_open): Add callback argument.
+       (sim_set_callbacks): Delete.
+
+Tue Apr 22 22:36:57 1997  Mike Meissner  <meissner@cygnus.com>
+
+       * sim_callbacks.h (error): Make declaration match gdb's.
+       * main.c (error): Ditto.
+
+Fri Apr 18 17:03:09 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_stop_reason): Simplify.  Was running implies
+       stopped/SIGINT. Exit implies a status code.
+
+       * psim.c (cntrl_c_simulation): From main.c.  Event function that
+       halts the simulator.
+       (psim_stop): New. Asynchronously schedule a stop simulator event.
+       (psim_run_until_stop): Delete. Made redundant by psim_stop.
+
+       * main.c (cntrl_c): Update.
+       (cntrl_c_simulation): Moved to psim.c.
+
+       * sim_calls.c (sim_stop): New function. Use psim_stop which
+       schedules a stop event.
+       (sim_resume): Drop SIGINT handler, now in gdb/main.c.
+       (sim_resume): Use psim_run as stop variable no longer needed.
+
+Fri Apr 18 17:03:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * psim.c (psim_options): Handle -E option correctly.
+       (psim_usage): Document.
+
+Thu Apr 17 03:28:03 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * psim.c (psim_options): Ignore -E option (sets endianness).
+       * sim_calls.c: #include bfd.h.
+       (entry_point): 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 14:57:18 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in (INSTALL): Set to @INSTALL@.
+       (INSTALL_XFORM, INSTALL_XFORM1): Remove.
+       (install): Depend upon installdirs.  Use $(program_transform_name)
+       directly, rather than using $(INSTALL_XFORM).
+       (installdirs): New target.
+
+Fri Apr  4 17:54:36 1997  Jim Wilson  <wilson@cygnus.com>
+
+       * Makefile.in (tmp-hw, tmp-pk): Use for loop to eliminate duplicates
+       rather than the non-portable cat -n.
+
+Mon Apr 14 16:29:51 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in (INSTALL): Change install.sh to install-sh.
+
+Tue Apr  1 18:15:14 1997  Jim Wilson  <wilson@cygnus.com>
+
+       * ppc-instructions: Change milhwu to mulhwu.
+
+Wed Apr  2 15:38:08 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * sim_calls.c (sim_open): New arg `kind'.
+
+Wed Apr  2 14:51:17 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+       * COPYING: Update FSF address.
+
+Tue Mar 25 16:17:59 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * main.c (sim_io_read_stdin): Only compile unbuffered IO code if
+       all the required features are supported by the host OS.
+
+Tue Mar 25 12:13:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * emul_bugapi.c (emul_bugapi_create): Guard against NULL images.
+
+       * configure.in (enable-sim-endain): Correct typo in usage (from
+       Erik Landry <landry@ENGR.ORST.EDU>).
+       * configure: Re-generate.
+
+Fri Mar 14 18:23:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * Makefile.in (targ-vals.def): Re-do rule so that it works with
+       FreeBSD's make.  Didn't like $<.
+
+Thu Mar 13 12:55:48 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * sim_calls.c (sim_open): New SIM_DESC result.  Argument is now
+       in argv form.
+       (other sim_*): New SIM_DESC argument.
+
+Thu Feb 13 10:35:14 1997  Andrew Cagney  <cagney@phydeaux.cygnus.com>
+
+       * ppc-opcode-simple-array, ppc-opcode-simple-goto,
+       ppc-opcode-simple-switch, ppc-opcode-complex-array,
+       ppc-opcode-complex-goto, ppc-opcode-complex-switch,
+       ppc-opcode-jump, ppc-opcode-goto, ppc-opcode-flat: Delete,
+       superseeded by --sim-decode-mechanism option.
+
+       * ppc-opcode-simple, dc-simple: Rename to be 8.3
+       * ppc-opcode-complex, dc-complex: Ditto.
+       * ppc-opcode-stupid, dc-stupid: Ditto.
+       * ppc-opcode-test-1, dc-test.01: Ditto.
+       * ppc-opcode-test-2, dc-test.02: Ditto.
+
+       * configure.in (--enable-sim-opcode): Change prefix to dc- instead
+       of ppc-opcode-.
+
+Wed Feb 12 19:33:45 1997  Andrew Cagney  <cagney@phydeaux.cygnus.com>
+
+       * Many of the ppc-opcode-* files are identical baring the type of
+       lookup table.  Instead of having multiple tables, igen can do this
+       via an additional option.
+       
+       * ld-decode.h, ld-decode.c (force_decode_gen_type): New function,
+       allow the type of generated table specified in the decode file to
+       be overridden.
+
+       * ld-decode.c (load_decode_table): Allow the table type to be
+       overridden.
+
+       * igen.c (main): Add -T <mechanism> option so that an overriding
+       instruction decode mechanism can be specified.
+
+       * configure.in: New option --sim-decode-mechanism to control
+       igen's new -T <mechanism> flag.
+       * Makefile.in (IGEN_FLAGS): Add IGEN_IDECODE_MECHANISM set by the
+       configure script.
+       * configure: Regenerate.
+       
+Tue Feb 11 13:49:10 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * events.c (event_queue_create): Don't use NULL to initialize an
+       integer field.
+       (even_queue_{init,schedule_after_signal,tick}): Conditionalize use
+       of sigprocmask to appropriate autoconf test.
+
+       * main.c ({cntrl_c,main}): Use RETSIGTYPE for signal return type,
+       don't assume void.
+       * sim_calls.c (sim_{ctrl_c,resume}): Ditto.
+
+       * Makefile.in (callback.o): Define HAVE_CONFIG_H, so callback.c
+       includes our config.h.
+
 Tue Feb  4 13:42:59 1997  Doug Evans  <dje@canuck.cygnus.com>
 
        * configure.in: Fix typo in test for callback.c.
        * configure: Regenerated.
 
+Fri Feb  7 10:04:25 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * emul_chirp.c (emul_chirp_create): Handle a virtbase of -1 being
+       found in the device tree.
+
+Wed Feb  5 10:56:27 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * Property create/initialization still wasn't correctly ordered.
+       Should be delaying everything related to ihandle creation until
+       after the rest of the tree has been established.
+       
+       * device.c (device_find_ihandle_runtime_property): Update.
+       (device_add_ihandle_runtime_property): Update.
+
+       * tree.c (parse_ihandle_property): Delay lookup of the device to
+       be opened until the ihandle initialization phase.
+       * tree.c (print_properties): Update.
+
+Wed Feb  5 10:56:27 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+       
+       * gen-icache.c (print_icache_extraction): Add a reason parameter.
+       Augment each extracted field with a comment citing the codes
+       origin.  Should simplify tracking down incorrect cache
+       extractions.
+
+Tue Feb  4 17:44:51 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * gen-icache.c: Generalize code handling XXX_is_NNN so that it
+       works for normal and boolean table entries.
+
+       * psim.c (psim_write_memory): last_cpu == -1 or nr_cpus is now
+       valid.  Handle this just like *_{read,write}_register now handles
+       it.
+
+Mon Feb  3 17:18:16 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * events.c (insert_event_entry): Correct loop termination
+       assertions.
+
+Fri Jan 31 16:20:26 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * psim.c (psim_options): Add new option -c for max-iterations or
+       count.
+       (psim_usage): Document.
+       (psim_max_iterations_exceeded): New function, abort simulation if
+       max iterations exceeded.
+
+       * gen-idecode.c: Re-work the table lookup code so that it assumes
+       that the entry is a leaf by default.  Simplify the boolean table
+       entry code so that it involves a mask + test instead of shift +
+       shift + mask + test.
+
+       * gen-idecode.c: Correct generated igen body so that it no drops
+       or doubles clock interrupts.
+
+       
 Thu Jan 30 11:23:20 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
 
        * Makefile.in (BUILT_SRC_WO_CONFIG): Change targ-vals.* to
@@ -26,6 +534,86 @@ Wed Jan 29 12:32:41 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
        (targ-map.o): Add dependency.
        (clean): Remove gentmap.
 
+Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * igen wasn't aborting if the opcode table contained no valid
+       fields.
+       
+       * misc.c (name2i): Possibly abort if an invalid name is
+       encountered.
+       * ld-decode.c: Abort if the table type isn't found.
+
+Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * When performance monitoring is disabled, it is still possible to
+       determine the simulation speed by looking at the number of elapsed
+       ticks recorded by the event queue.
+       
+       * psim.c (psim_write_register, psim_read_register): Force the cpu
+       to zero when it is either of `-1' or `nr_cpus'.  In both cases the
+       next cpu would be zero any way.
+
+       * mon.c (mon_print_info): If possible, print the system cycle
+       performance.  This is an indication of the number of instructions
+       per second.
+
+Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * The code to allow an event queue to be updated during a signal
+       was missing.  For main.c, a cntrl-c simulation termination wasn't
+       handled cleanly.
+       
+       * The simulation would not correctly restart if an event requested
+       that the simulation be halted.
+       
+       * psim.c (psim_options): Add hack to -i option to optionally
+       include a level vis -i2.
+       (psim_usage): Document.
+
+       * main.c (cntrl_c, cntrl_c_simulation): New functions.  When a
+       cntrl-c occures schedule an event to halt the simulation.
+       (main): Catch CNTRL-C signals with the function cntrl_c.
+
+       * events.c (event_queue_process): Mask interrupts while
+       manipulating the async event queue.
+       (event_queue_init): Ditto.
+       (event_queue_schedule_after_signal): Ditto.
+
+       * events.c (event_queue_process): Mark the event queue as being in
+       the processing state when processing has started.  Adjust code
+       so that it is tolerant of halts.
+       (event_queue_init): Start the event queue out with processing
+       false.
+       (event_queue_tick): Check that processing isn't still being
+       performed.
+       
+       * gen-idecode.c (print_run_until_stop_body): Call
+       event_queue_process_events to clear possibly pending events before
+       starting a simulation run.  Re-arange main loop so that simulator
+       is correctly restarted when an event halts the simulation.
+
+       * psim.c (psim_halt): Handle an event halting the simulation.
+       * psim.c (psim_init): Adjust initial cpu - == -1 - to match
+       reworked idecode.
+
+Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * ppc-opcode-complex: Correct typo - was expanding ORA instead of
+       RA.  Based on instruction frequency stats, expand additional
+       instructions.
+       * ppc-instructions: Change all `RA == 0' to RA_is_0.
+       
+       * ppc-opcode-stupid: Move all but the basic table in -complex into
+       here.  Update to new format.
+       
+       * Makefile.in (tmp-defines): New target. Force defines.h to always
+       be built.  Hence get ppc-opcode-goto to build.
+
+Tue Jan 28 13:00:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
+
+       * hw_com.c (hw_com_instance_read, hw_com_instance_write):
+       Implement.
+       
 Thu Jan 23 09:07:26 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
 
        * hw_trace.c (hw_trace_init_data): Delete.  The trace options need