+Tue Sep 9 21:46:46 1997 Felix Lee <flee@cygnus.com>
+
+ * sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
+ illegal zero-sized array.
+ * sim-core.c (sim_core_xor_read_buffer): same.
+
+Tue Sep 9 11:20:35 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * nltvals.def: Regenerate.
+
+Tue Sep 9 02:10:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-fpu.c (DP_FRACHIGH2): Define LL using SIGNED64.
+
+Mon Sep 8 12:22:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-bits.c (MASKED): Delete.
+ (EXTRACTED): Delete.
+ (LSEXTRACTED, MSEXTRACTED): New functions.
+
+ * sim-n-bits.h (MASKEDn): Delete, define as MSMASKED or LSMASKED.
+ (MSMASKEDn, LSMASKEDn): Add last argument.
+ (MSMASK*): Ditto.
+
+ * sim-bits.h (EXTEND8, EXTEND16): Define.
+ (EXTRACTED64): Define as 64 bit extract, not 32 bit.
+
+ * sim-run.c (sim_engine_run): Use CPU_CIA macro.
+
+ * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use CPU_CIA to get at
+ current instruction address.
+
+ * sim-inline.h (*_ENGINE): Define.
+
+Fri Sep 5 08:39:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-core.c (sim_core_attach): Fix checks of modulo/mask.
+
+ * sim-watch.c (delete_watchpoint): Delete by ident and type.
+ (watch_option_handler): Call delete_watchpoint with ident or type.
+ (sim_watchpoint_install): Create interrupt specific watchpoint
+ commands on the fly.
+ (do_watchpoint_create): New function, create a watch point using
+ type/int-nr info encoded in the option nr.
+ (do_watchpoint_info): New function. List active watchpoints.
+
+ * sim-watch.h: Change data structure to a list.
+
+ * sim-memopt.c (memory_option_handler): Require explicit "all"
+ before deleting all memory regions.
+
+ * sim-utils.c (sim_do_commandf): New function, printf version of
+ sim_do_command.
+
+ * sim-basics.h (asprintf, vasprintf): Hack, define for CYGWIN32.
+
+ * sim-alu.h (ALU64_ADD): Use explicit MSEXTRACTED64, do not assume
+ bit endianness.
+ (SIGNED64, UNSIGNED64): Delete.
+ (ALU64_ADD): Don't rely on bit endianness.
+ (ALU64_BEGIN): Define.
+
+ * sim-n-bits.h (MSEXTRACTEDn, LSEXTRACTED): New functions.
+ (EXTRACTEDn): Delete, define as either LSEXTRACTED or MSEXTRACTED.
+
+ * sim-types.h (SIGNED64, UNSIGNED64): New macros, attach relevant
+ suffix - u64, LL - to 64 bit constants.
+
+Thu Sep 4 09:27:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-config.c (sim_config): Add assert for SIM_MAGIC_NUMBER.
+
+ * sim-utils.h (NZALLOC): Define - zalloc * N.
+
+ * sim-hrw.c (sim_read, sim_write): New file. Provide generic
+ implementation of read/write functions.
+
+ * Make-common.in (sim-hrw.o): New target.
+
+ * sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add
+ memory.
+
+ * sim-memopt.c (memory_option_handler): Implement memory-size
+ command. Implement memory-alias command. Let memory-delete delete
+ all memory regions.
+ (add_memopt): New function. Add a memory region.
+ (do_memopt_delete): New function. Delete a memory region.
+
+ * sim-utils.c (sim_elapsed_time_get): Never return zero.
+
+ * sim-core.c (sim_core_detach): New function.
+ (sim_core_map_detach): New function. Perform the actual detach.
+ (sim_core_init): Move initialization code from here.
+ (sim_core_install): To here.
+ (sim_core_uninstall): And here.
+
+ * sim-module.c: Add memopt module.
+
+ * sim-base.h (STATE_MEMOPT, STATE_MEMOPT_P): Add memopt to
+ simulator base type.
+
+ * Make-common.in (sim_main_headers): Add sim-memopt.h
+ (sim-memopt.o): New target.
+
+ * sim-core.c (sim_core_install): Add core_options to the option
+ table.
+
+ * sim-watch.c (watch_options): Make --delete-watch a synonym for
+ --watch-delete.
+
+ * sim-config.h (WITH_MODULO_MEMORY): Define as 0. Update
+ comments.
+
+ * sim-core.h (struct _sim_core_mapping): Change nr_bytes to type
+ address_word, add mask member.
+
+ * sim-core.h, sim-core.c (sim_core_attach): Make nr_bytes of type
+ address_word, allow for 64bit targets in 32bit host. Add modulo
+ argument.
+ (sim_core_map_attach): Ditto.
+ (new_sim_core_mapping): Ditto.
+ (sim_core_translate): Mask address when modulo memory.
+
+Wed Sep 3 17:32:54 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
+
+ * gdbinit.in: New file.
+ * aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
+ * Make-common.in (distclean): Delete .gdbinit.
+ (.gdbinit): Add rule for.
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+ * Make-common.in (cgen-run.o): Add rule for.
+
+Wed Sep 3 10:08:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-resume.c (sim_resume): Suspend/resume the simulator.
+
+ * sim-events.c (sim_watch_valid): Compute total elapsed time from
+ both resumed and previous elapsed time.
+ (sim_events_init): Set initial_wallclock and current_wallclock to
+ zero.
+ (sim_events_install): Install sim_events_suspend and
+ sim_events_resume.
+ (sim_events_watch_clock): Allow for suspended simulator when
+ computing the time of the clock event.
+
+ * sim-events.h (struct _sim_event): Add resume_wallclock, rename
+ initial_wallclock to elapsed_wallclock, set both to zero.
+ (sim_events_init, sim_events_uninstall): Delete prototypes.
+
+ * sim-module.h (MODULE_SUSPEND_FN, MODULE_RESUME_FN): Define types.
+
+ * sim-module.c(sim_module_resume, sim_module_suspend): New
+ functions.
+
+Wed Sep 3 10:08:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-core.c (sim_core_map_attach): Clarify memory overlap error
+ message.
+
+Tue Sep 2 14:57:06 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
+ * Make-common.in (TAGS): Likewise.
+ * sim-n-bits.h: Add TAGS comments for all functions.
+ * sim-n-core.h: Likewise.
+ * sim-n-endian.h: Likewise.
+
+Mon Sep 1 10:50:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and
+ kind.
+
+ * sim-base.h (sim_state_alloc): Add callback and kind arguments.
+
+ * sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default
+ definition.
+
+Sat Aug 30 09:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-fpu.c (DP_GARDMSB, ...): Make unsigned.
+ (DP_FRACHIGH, DP_FRACHIGH2, ..): Use MSMASK to avoid LL.
+
+Fri Aug 29 13:37:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-core.c (sim_core_map_attach): Cast attach enum to int.
+ (sim_core_xor_read_buffer, sim_core_xor_write_buffer): Make
+ nr_transfered and nr_this_transfer unsigned.
+
+ * sim-events.c (sim_events_tickn): N is signed, as limited to
+ MAXINT.
+
+ * sim-n-endian.h (offset_N): Change size to unsigned.
+
+ * callback.c (os_poll_quit): Add prototypes for kbhit and getkey.
+
+Fri Aug 29 10:10:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-utils.c (sim_copy_argv): Delete, replaced by dupargv.
+
+ * sim-options.c (sim_parse_args): Use dupargv.
+
+Thu Aug 28 10:36:34 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-options.c (standard_option_handler): Use xstrdup, not strdup.
+
+Thu Aug 28 12:09:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-base.h (STATE_ARCHITECTURE, STATE_TARGET): Add to simulator
+ base type.
+
+ * sim-options.c (standard_options): Add --architecture=MACHINE and
+ --target=TARGET options.
+ (OPTION_ARCHITECTURE, OPTION_TARGET): Define.
+ (standard_option_handler): Handle architecture and target options.
+ (bfd.h): Include.
+
+ * sim-utils.c (sim_analyze_program): Pass STATE_TARGET to
+ bfd_openr.
+ (sim_analyze_program): Set prog_bfd architecture from
+ STATE_ARCHITECTURE if known.
+
+Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+ * config.in: Ditto.
+
+Wed Aug 27 18:11:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * aclocal.m4 (enable-sim-warnings): Remove comment stating
+ that option does not apply to certain files.
+
+Wed Aug 27 15:13:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-bits.h (LSBIT8, LSBIT16, LSBIT32, LSBIT64, LSBIT, MSBIT8,
+ MSBIT16, MSBIT32, MSBIT64, MSBIT): New macros - single bit as
+ offset from MSB/LSB.
+
+ * sim-endian.h (A1_8, A2_8, A4_8, A1_4, A2_4, A1_2): New macro,
+ access address of sub word quantity of a hosts 16, 32, 64 bit word
+ type.
+ (V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values.
+ (U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values.
+ (V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument,
+ return N*2 byte value with argument in Hi/Lo word. Renamed from
+ V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8.
+
+ * sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit.
+ (ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT
+ so that bit offset is explicit.
+
+Wed Aug 27 11:55:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-utils.c (sim_analyze_program): Add prog_name argument.
+ Update STATE_PROG_BFD when needed with a dup'd copy of the
+ program.
+
+ * sim-config.c (sim_config): Delete ABFD argument, use
+ STATE_PROG_BFD directly.
+
+Tue Aug 26 12:55:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * run.c (main): Pass the open ABFD to sim_create_inferior.
+
+ * nrun.c (main): Determine prog_bfd. Pass to sim_create_inferior
+ and sim_load.
+ (bfd.h): Include.
+
+ * sim-hload.c (sim_load): New file. Implement generic sim_load for
+ hardware only simulator targets.
+
+ * Make-common.in (sim-hload.o): Add rule.
+
+Wed Aug 27 09:51:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-utils.c (sim_copy_argv): Rewrite to match malloc strategy
+ used by copyargv and freeargv.
+
+ * sim-options.c (sim_parse_args): Save a copy of PROG-ARGS in
+ STATE_PROG_ARGV, not just a pointer.
+
+Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+ * config.in: Ditto.
+
+Mon Aug 25 12:11:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * aclocal.m4 (sim-endian): Add second argument to
+ SIM_AC_OPTION_ENDIAN. First is hardwired endian, second is
+ default endian when not hardwired.
+
+ * sim-config.h (WITH_DEFAULT_TARGET_BYTE_ORDER): New macro, if all
+ else failes value for target byte order.
+
+ * sim-config.c (sim_config): Add abfd arguments. Set
+ STATE_PROG_BFD accordingly. Determine prefered_target_byte_order
+ from same.
+ (sim_config): Return SIM_RC, don't abort.
+ (bfd.h): Include.
+
+ * run.c (main): Update call to sim_open - add ABFD argument.
+ * nrun.c (main): Add NULL ABFD argument.
+
+Thu Aug 14 12:48:57 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * callback.c (os_poll_quit): Make static.
+ Call sim_cb_eprintf, not p->eprintf.
+ (sim_cb_printf, sim_cb_eprintf): New functions.
+ * sim-utils.h (sim_cb_printf, sim_cb_eprintf): Declare.
+
+ * sim-basics.h (zalloc,zfree,sim_add_commas,SIM_ELAPSED_TIME,
+ sim_elapsed_time_get,sim_elapsed_time_since): Move decls to
+ sim-utils.h. #include sim-utils.h.
+ * sim-utils.h: Above decls moved here.
+ (sim_analyze_program,sim_load_file): Use `struct _bfd', not `bfd'.
+
+ * sim-watch.c (action_watchpoint): Fix thinkos.
+
+Thu Jul 24 08:48:05 1997 Stu Grossman (grossman@critters.cygnus.com)
+
+ * sim-types.h: Fix defs of 64 bit data types for MSVC.
+
+Tue Jul 22 10:35:37 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-n-core.h (sim_core_write_unaligned_N): Add missing break
+ to FORCED_ALIGNMENT case.
+
+Thu Jun 5 13:48:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * callback.c (target_to_host_open): Handle hosts with O_BINARY.
+
+Thu Jun 5 08:47:10 1997 Jeffrey A Law (law@cygnus.com)
+
+ * Make-common.in (libsim.a): Fix typo.
+
+Thu Jun 5 13:48:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * nrun.c (main): Verify the structure returned before using it.
+
+Wed Jun 4 11:44:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-config.h (WITH_ENGINE): Enable the sim-engine module by
+ default.
+
+ * sim-engine.c (sim_engine_install): New function. Install the
+ engine init functions.
+ (sim_engine_init): [Re]initialize the simulator engine.
+
+ * sim-module.c: Add sim_engine to list of modules that always
+ install.
+
+Tue Jun 3 04:52:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint
+ to remove the old watchpoint, not delete_watchpoint.
+ (watch_option_handler): Action the correct watchpoint, not just
+ cycles.
+
+Wed May 28 14:47:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output
+ both low and high word.
+ (sim_core_write_aligned_N): Ditto.
+
+ * sim-trace.c (set_trace_options): Delete code explicitly setting
+ core->trace.
+
+ * sim-options.c (sim_print_help): Call the list commands if not a
+ standalone simulator.
+ (sim_print_help): Advise that some options may not be applicable.
+
+ * sim-trace.c (set_trace_options): Assume core present.
+
+ * sim-events.c (sim_events_schedule_after_signal): Overflow signal
+ buffer when full not almost full.
+
+Tue May 27 14:32:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-events.c (sim_events_process): Don't blat the event queue
+ when processing watchpoints.
+
+ * sim-watch.h: Make arg unsigned long - stop sign extension.
+
+ * sim-events.c (sim_watch_valid): rewrite so debugable.
+
+ * sim-config.h (WITH_XOR_ENDIAN): Default to zero.
+
+ * sim-watch.c (schedule_watchpoint): Add is_within option so that
+ inequality test is possible.
+ (handle_watchpoint): Re-pass is_within arg.
+ (watch_option_handler): When `!' prefix to pc-watchpoint arg pass
+ 0 to schedule_watchpoint's is_within arg.
+ (sim_watchpoint_init): Re-pass is_within arg.
+
+ * sim-options.c (sim_print_help): Add is_command argument. Don't
+ include -- prefix when called from the command line interpreter.
+
+ * sim-watch.c (schedule_watchpoint): Pass true is_within argument.
+
+ * sim-events.c (sim_events_watch_sim): Add is_within argument,
+ zero indicates that the test should be reversed.
+ (sim_events_watch_core): Ditto.
+ (WATCH_CORE): Compare range against is_within.
+ (WATCH_SIM): Ditto.
+
+Tue May 27 12:48:03 1997 Andrew Cagney <cagney@b2.cygnus.com>
+
+ * sim-events.c (WATCH_CORE): Pass NULL cpu argument to
+ sim_core_read_buffer. Check nr-bytes transfered.
+
+ * sim-core.h (sim_core_common): Define a new struct that contains
+ the common data. to sd and cpu structures.
+ * sim-core.c (sim_core_attach): Update.
+ (sim_core_init): Update. Remember to copy initialized data to each
+ cpu.
+ (sim_core_find_mapping): Ditto.
+
+ * sim-core.c (sim_core_read_buffer): Add cpu argument.
+ (sim_core_write_buffer): Ditto.
+
+ * sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned
+ transfer use xor version of read buffer.
+ (sim_core_write_unaligned_N): Ditto for write.
+
+ * sim-core.c (sim_core_xor_read_buffer): New function implement
+ xor-endian data read breaking transfer up into xor-endian sized
+ blocks.
+ (sim_core_xor_write_buffer): Ditto for write.
+ (reverse_n): Reverse order of arbitrary number of bytes in buffer
+ - needed for xor-endian transfers.
+
+Fri May 23 14:24:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-inline.h: Review description.
+
+ * sim-core.h, sim-core.c: Reduce number of functions being inlined
+ to just those involved in data transfers and configuration.
+
+ * sim-xcat.h (XSTRING): New macro, map macro definition onto
+ string.
+ * sim-n-core.h (sim_core_read_aligned_N): Use.
+ (sim_core_read_unaligned_N): Ditto.
+ (sim_core_read_unaligned_N): Ditto..
+ (sim_core_write_unaligned_N): Ditto.
+
+ * sim-core.h: Add xor endian bitmap to main structure. *
+
+ sim-n-core.h (sim_core_write_aligned_N): Add suport for xor
+ endian.
+ (sim_core_read_aligned_N): Ditto.
+
+ * sim-core.c (sim_core_set_xor_endian): New function.
+ (sim_core_attach): Don't overwrite the per-cpu xor map when
+ cloning the global core.
+
+Fri May 23 10:53:13 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-engine.h: Update below so that it is using an enumerated
+ type.
+
+Thu May 22 09:12:16 1997 Gavin Koch <gavin@cygnus.com>
+
+ * sim-engine.c (sim_engine_restart):
+ * sim-resume.c (sim_resume): Change longjmp param/setjmp
+ return value used for simulator restart from 0 to 2.
+
+Wed May 21 08:47:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * cgen-scache.c (scache_option_handler): Add is_command arg.
+
+ * sim-model.c (model_option_handler): Add is_command argument.
+
+ * sim-profile.c (profile_option_handler): Add is_command arg.
+
+ * sim-events.c (sim_watch_valid): Use ub64, lb64 when 64bit value
+ involved.
+
+ * sim-module.c (sim_module_add_init_fn): Call init fn in the same
+ order that they are registered.
+
+ * sim-options.h (OPTION_HANDLER): Add argument to differentiate
+ between option and command line processing.
+
+ * sim-options.c: Include stdlib.h, ctype.h.
+
+ * Make-common.in (sim-watch.o): Add rule.
+ (sim_main_headers): Assume sim-assert.h included.
+ (sim-*.o): Simplify make rule.
+
+ * sim-module.c: Add sim_watch_install to module list.
+
+Tue May 20 14:15:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-base.h (STATE_LOADED_P): New predicate. Set once everything
+ has been loaded.
+
+ * sim-trace.c (trace_install): Check magic. Include sim-assert.h.
+ * sim-events.c (sim_events_install): Ditto.
+ * sim-core.c (sim_core_install): Ditto.
+ * sim-model.c (model_install): Ditto.
+ * sim-options.c (standard_install): Ditto.
+ * sim-profile.c (profile_install): Ditto.
+ * sim-reason.c (sim_stop_reason): Ditto.
+ * sim-run.c (sim_engine_run): Ditto.
+ * sim-utils.c (sim_analyze_program): Ditto.
+
+ * sim-module.c (modules): Make profile_install and trace_install
+ optional.
+
+ * sim-base.h (STATE_MEM_BASE): Define for flat memory systems.
+
+ * sim-options.c (standard_option_handler): Set the byte order.
+
+ * sim-events.c (sim_events_process): Allow multi tick processing.
+ (sim_events_tickn): New function - multi cycle tick.
+
+ * sim-events.h (sim_events_tickn, sim_events_timewarp): Add
+ prototypes. Under development.
+ (sim_events): Replace processing with nr_ticks_to_process.
+
+Tue May 20 09:39:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * nrun.c (main): Pass callbacks to sim_open instead of using
+ sim_set_callbacks.
+
+ * run.c (main): Ditto.
+
+Mon May 19 12:07:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-events.c (sim_events_zalloc): Signal save memory allocator -
+ stop tk interrupting malloc calls.
+ (sim_events_zalloc): Converse.
+
+ * Make-common.in (sim_main_headers): Add sim-events.h.
+
+ * sim-events.c (sim_events_schedule_after_signal): Change return
+ type to void - signal events are strictly internal.
+ (sim_events_init): Allocate a finite buffer for signal events.
+ (sim_events_schedule_after_signal): Enter signal events into the
+ signal buffer.
+
+ * sim-engine.c (sim_engine_halt): Check SIM_DESC magic.
+ (sim_engine_restart): Ditto.
+ (sim_engine_abort): Ditto.
+ * sim-stop.c (sim_stop): Ditto.
+ (control_c_simulation): Ditto.
+ * sim-resume.c (sim_resume): Ditto.
+ (has_stepped): Ditto.
+ * sim-abort.c (sim_engine_abort): Ditto.
+
+ * sim-basics.h (transfer_type): New type.
+
+ * sim-core.c (sim_core_signal): New function. Print core signal
+ information.
+ (sim_core_find_mapping): Add transfer argument.
+
+ * sim-n-core.h (sim_core_{write,write}_unaligned_N): Call
+ SIM_CORE_SIGNAL if a recoverable abort.
+ * sim-core.c (sim_core_find_mapping): Ditto.
+
+Fri May 16 15:13:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-core.c (sim_core_find_mapping): Replace calls to
+ sim_io_error to more resiliant sim_engine_abort.
+
+ * sim-n-core.h (sim_core_read_unaligned_N): Ditto.
+ (sim_core_write_unaligned_N): Ditto.
+
+Tue May 13 13:50:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-module.c: Add sim_events_install to list.
+
+ * sim-events.c (sim_events_install, sim_events_uninstall): Clonse
+ from sim_core_*.
+ (sim_events_init): Now returns SIG_RC.
+
+ * sim-run.c: New file. Generic sim_engine_run.
+ * sim-reason.c: New file. Generic sim_stop_reason.
+ * sim-stop.c: New file. Generic sim_stop.
+ * sim-resume.c: New file. Generic sim_resume.
+
+ * Make-common.in (sim-engine.o): Add rule.
+ (sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto.
+
+ * sim-engine.h, sim-engine.c: New file. Provide generic
+ implementation of sim_engine_halt, sim_engine_error. et.al.
+
+ * sim-base.h (sim_state_base): Add member halt.
+ (sim-engine.h): Include.
+
+ * sim-events.h (sim_event_handler): Always pass SIM_DESC to event
+ handlers.
+ * sim-events.c (sim_events_poll): Update event handler.
+
+Tue May 13 09:57:49 1997 Andrew Cagney <cagney@b2.cygnus.com>
+
+ * sim-events.h, sim-events.c (sim_events_watch_clock): New
+ function.
+ (sim_events_watch_sim): New function.
+ (sim_events_watch_core): New function.
+ (sim_watch_valid): New function.
+ (sim_events_preprocess): New function.
+ (sim_events_process): Process the watchpoints as well as the timer
+ queue.
+ (sim_events_tick): Check WORK_PENDING instead of the hold queue.
+ (sim_events_deschedule): Check all the queues when removing an
+ event.
+ (sim_events_init): Ditto for cleaning.
+
+Mon May 19 12:07:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-fpu.c (is_ufpu_number): Comment out - currently unused.
+
+Mon May 19 11:23:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * callback.c (os_open): Type of arg flags is int.
+
+Fri May 16 22:26:43 1997 Michael Meissner <meissner@cygnus.com>
+
+ * sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities
+ just like normal numbers as per IEEE rules.
+
+Wed May 14 21:20:38 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * callback.c (os_close): Mark the descriptor as being
+ available if the close succeeded.
+ (os_open): Pass 0644 as the mode of the file being created.
+
+Thu May 15 10:58:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a
+ float.
+
+ * sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_.
+ * sim-lnline.h: Update.
+
+ * sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp
+ conversion functions.
+ (sim_fpu_to{32,64}[iu]): New fp2int functions.
+
+ * sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp
+ compare functions. Replacing.
+ (sim_fpu_cmp): This. Delete.
+
+Mon May 12 14:49:05 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-core.c (sim_core_find_mapping): Call engine_error not
+ sim_io_error when possible.
+
+Mon May 12 08:55:07 1997 Andrew Cagney <cagney@b2.cygnus.com>
+
+ * sim-endian.h (V1_H2): Add macro's to insert a word into a
+ high/low double word.
+
+ * sim-trace.h: Remove definition of attribute - defined in
+ sim_basics.h.
+
+Mon May 12 08:55:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-options.h (struct OPTION): Add doc_opt as the documenting
+ name of the option - or family of options.
+
+ * sim-options.c (sim_args_command): Match command `a-b c' with
+ option `--a-b-c' from option table.
+
+Thu May 8 12:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-options.c (sim_print_help): For optional arguments, wrap
+ them in [].
+
+ * sim-trace.c (set_trace_options): New function, handle optional
+ argument and multiple assignment.
+ (trace_option_handler): Update.
+
+ * sim-trace.c (trace_option_handler): Trace branch and not fpu
+ when branch tracing selected.
+
+Wed May 7 15:19:58 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-trace.c (trace_one_insn): Make a va-args function.
+
+ * sim-trace.c (trace_vprintf): New function, va-arg version of
+ trace_printf.
+
+Tue May 6 16:38:16 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-trace.c (trace_uninstall): Don't close a file twice.
+ * sim-profile.c (profile_uninstall): Likewise.
+
+Tue May 6 06:14:01 1997 Mike Meissner <meissner@cygnus.com>
+
+ * sim-trace.c (toplevel): Include bfd.h.
+ (trace_options): Note that --trace-linenum also turns on
+ --trace-insn. Add --trace-{branch,semantics}.
+ (trace_option_handler): If --trace-linenum, also turn on
+ --trace-insn. Add --trace-branch support. If --trace-semantics,
+ turn on ALU, FPU, branch, and memory tracing.
+ (trace_one_insn): New function to trace an instruction. Support
+ --trace-linenum.
+ (OPTION_TRACE_*): Use an enum, rather than lots of defines.
+
+ * sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros.
+ (MAX_TRACE_VALUES): Use 32, not 12 by default.
+ (TRACE_branch): Add new mask.
+ (TRACE_*_P): Define all possible trace_p macros.
+ (trace_one_insn): Declare function.
+
+Mon May 5 14:08:34 1997 Mike Meissner <meissner@cygnus.com>
+
+ * sim-trace.h (__attribute__): Define as nothing if not GNU C or
+ GNU C doesn't support __attributes__.
+ ({trace,debug}_printf): Add attribute's so -Wformat can check the
+ format strings.
+
+Mon May 5 11:16:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-config.h (FORCED_ALIGNMENT): New alignment option -
+ addresses are masked forcing them to be correctly aligned.
+ (WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default.
+ * sim-config.c (config_alignment_to_a): Update.
+
+ * sim-core.h (sim_cpu_core): New data type contains cpu specific
+ core data.
+ * sim-base.h (CPU_CORE): Add cpu specific core data to cpu base
+ type.
+ * sim-core.c (sim_core_attach): Add CPU argument. Ready for
+ processor specific core maps.
+ (sim_core_map_attach): Copy the core map data to each of the
+ processor specific core data structures.
+ * sim-core.c (sim_core_find_mapping): Update.
+
+ * sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename.
+ (sim_core_write_aligned_N, sim_core_write_aligned_N): New names.
+ (sim_core_write_unaligned_N, sim_core_write_unaligned_N): New
+ alternatives that handle unaligned addresses.
+ (sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace
+ with just CPU arg.
+ * cgen-utils.c (sim_disassemble_insn): Update.
+
+Mon May 5 13:19:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific
+ tracing.
+
+ * sim-fpu.h, sim-fpu.c: New files - prototype for generic target
+ fpu support.
+
+ * sim-inline.h, sim-inline.c: Add support for SIM_FPU.
+
+Fri May 2 17:59:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-core.c (sim_core_map_to_str): New function ascii equivalent
+ to map type.
+
+ * sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace
+ statement.
+
+Fri May 2 17:28:02 1997 Andrew Cagney <cagney@b2.cygnus.com>
+
+ * cgen-trace.c: Prepend additional trace_printf argument.
+
+ * cgen-utils.c (sim_disassemble_insn): Add additional core
+ arguments.
+
+Fri May 2 11:40:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * nrun.c (main): Catch/report errorenous simulator states.
+
+ * sim-module.c: #include "libiberty.h" so that xmalloc is defined.
+ * sim-trace.c: #include string.h/strings.h so that memset is
+ defined.
+ * sim-utils.c: Ditto.
+ * sim-profile.c: Ditto. And stdlib.h.
+ (print_bar): Only define when used by instruction or memory profiler.
+
+ * sim-options.c (standard_option_handler): Make ul more local.
+
+ * sim-load.c (sim_load_file): Make the name constant.
+ (sim_load_file): Passify gcc.
+
+ * sim-utils.h: New file, pre-declare utilites in corresponding .c
+ file.
+ * sim-utils.c, sim-load.c: Include sim-utils.h.
+
+ * sim-base.h (sim_cpu): Pre define here so available to all.
+
+ * sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N):
+ Restore the sim_cpu and instruction_address arguments so that full
+ information is available to the abort function.
+ * sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto.
+ * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
+
+ * sim-trace.h, sim-trace.c (trace_option_handler): Add interim
+ tracing support for sim-events and sim-core.
+ (trace_option_handler): Convert #if to if where possible so always
+ compiled/checked by C compiler.
+ * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
+
+ * sim-base.h: Adjust comment documenting how to define the cpu
+ structure.
+ (sim_state_base): Add sim_core and sim_events to simulator base
+ object.
+
+ * sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument.
+ * sim-core.c (sim_core_init, sim_core_attach,
+ sim_core_find_mapping): Update.
+ * sim-events.c (ETRACE, sim_events_init, sim_events_time,
+ update_time_from_event, insert_sim_event,
+ sim_events_schedule_after_signal, sim_events_deschedule,
+ sim_events_tick): Ditto.
+
+ * sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h,
+ sim-model.h): Move #includes from here.
+ * sim-base.h: To here.
+ (sim-core.h, sim-events.h, sim-io.h): Include also
+
+Wed Apr 30 15:37:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * callback.c (default_callback): Missing initialisers.
+
+Thu May 1 10:40:47 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-utils.c (sim_add_commas): New function.
+ * sim-basics.h (sim_add_commas): Add prototype.
+ * cgen-scache.c (scache_print_profile): Print commas in numbers.
+ * sim-profile.c (COMMAS): New macro.
+ (print_*): Use it to print commas in numbers.
+
+ * configure: Regenerated.
+
+ * cgen-sim.h (sim_signal_type): Add SIM_SIGINT.
+ (cgen_state): New member run_fast_p.
+ (cgen_init): Add prototype.
+ (sim_disassemble_insn): New arg `cpu'.
+ * cgen-trace.c (trace_insn): Update call to sim_disassemble_insn.
+ * cgen-utils.c (cgen_init): New function.
+ (sim_disassemble_insn): New arg `cpu'. Rewrite fetching of insn.
+ * genmloop.sh: Call engine_halt if loop exits.
+
+ * Makefile.in (sim-options_h): Define.
+ (sim-{module,options,trace,profile,utils}.o): Clean up dependencies.
+ (sim-model.o): Add new rule.
+ (cgen-{scache,trace,utils}.o): Add new rules.
+ * aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add.
+ * cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'.
+ Indent output by 2 spaces.
+ * cgen-scache.h (scache_print_profile): Update.
+ * cgen-trace.c (trace_insn_fini): Indent output by 2 spaces.
+ Use trace_printf, not fprintf.
+ (trace_extract): Use trace_printf, not cgen_trace_printf.
+ * genmloop.sh (!FAST case): Increment `insn_count'.
+ * sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE.
+ (sim_cpu_base): Rename member `sd' to `state' to be consistent with
+ access macro's name.
+ * sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it.
+ Change return type to SIM_RC.
+ (sim_core_{install,uninstall}): New functions.
+ * sim-core.h (sim_core_{install,uninstall}): Declare.
+ (sim_core_init): Use EXTERN_SIM_CORE to define it.
+ Change return type to SIM_RC.
+ * sim-model.h (models,machs,model_install): Declare.
+ * sim-module.c (modules): Add scache_install, model_install.
+ (sim_post_argv_init): Set cpu->state backlinks.
+ * sim-options.c (standard_options): Delete --simcache-size,--max-insns.
+ (standard_option_handler): Likewise.
+ * sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to
+ sim-profile.h.
+ (*): Assume ANSI C.
+ (profile_options): Delete --profile-simcache.
+ (profile_option_handler): Likewise.
+ (profile_print_insn): Change `sd' arg to `cpu'. Indent output 2
+ spaces.
+ (profile_print_{memory,model}): Likewise.
+ (profile_print_simcache): Delete.
+ (profile_print_speed): New function.
+ (profile_print): Rewrite.
+ * sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache.
+ (WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P.
+ (PROFILE_DATA): Delete members simcache_{hits,misses}.
+ (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete.
+ (PROFILE_{CALLBACK,CPU_CALLBACK}): New types.
+ (profile_print): Update prototype.
+
+Wed Apr 30 11:34:14 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen-scache.[ch], cgen-sim.h: New files.
+ * cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
+ * sim-model.c: New file.
+
+ * Make-common.in (clean targets): Undo patch of Apr. 22.
+
+Fri Apr 25 15:28:32 1997 Mike Meissner <meissner@cygnus.com>
+
+ * sim-n-bits.h (signed): If we have a standard compiler, undef
+ signed, so that signedN is defined correctly.
+
+Thu Apr 24 00:00:07 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-module.h, sim-model.h, sim-profile.h: New files.
+ * sim-module.c, sim-profile.c: New files.
+ * Make-common.in (SIM_PROFILE): Define
+ (CONFIG_CFLAGS): Add $(SIM_PROFILE).
+ (sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h.
+ (sim_module.o,sim-profile.o): Add rules for.
+ * aclocal.m4 (--enable-sim-trace): Allow symbolic arguments.
+ (--enable-sim-profile): Add.
+ * configure: Regenerated.
+ * sim-base.h (sim_state_base): New members init_list, uninstall_list,
+ model. Move trace and profile support to sim-{trace,profile}.h.
+ New members trace_data, profile_data.
+ * sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h.
+ * sim-config.h: Provide default definition of WITH_PROFILE.
+ (WITH_TRACE): Change default to -1.
+ (MAX_NR_PROCESSORS): Always define.
+ * sim-options.c: Move trace and profile support to
+ sim-{trace,profile}.h.
+ (sim_pre_argv_init): Moved to sim-model.c.
+ (standard_install): New function.
+ * sim-options.h (sim_pre_argv_init): Move decl to sim-model.c.
+ (standard_install): Declare.
+ * sim-trace.c: Tracing option handling moved here from sim-options.c.
+ (trace_install, trace_uninstall): New functions.
+ (trace_printf): Update reference to TRACE_FILE.
+ * sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h.
+ (TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace.
+ (WITH_TRACE_FOO_P): Define.
+ (trace_install): Declare.
+ (TRACE_DATA): New struct.
+
+Wed Apr 23 17:23:15 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * run.c: Undo last exec_bfd patch.
+ (main): Only pass -E ifdef SIM_HAVE_BIENDIAN.
+
+Wed Apr 23 17:54:27 1997 Mike Meissner <meissner@cygnus.com>
+
+ * run.c (exec_bfd): Add back in.
+ (main): Set exec_bfd.
+
+Tue Apr 22 14:43:46 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-load.c (sim_load_file): #include <stdio.h> for NULL.
+
+Wed Apr 23 02:55:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-events.c (insert_sim_event): Call sim_io_error instead of
+ less well defined engine_error.
+ * sim-core.c: Ditto.
+
+Tue Apr 22 08:48:16 1997 Stu Grossman (grossman@critters.cygnus.com)
+
+ * Make-common.in: Change clean targets to use :: so that other
+ Makefiles can have their own clean targets.
+ * sim-load.c (xprintf eprintf): Use ANSI_PROTOTYPES instead of
+ __STDC__ to control use of stdarg vs. varargs syntax. Some
+ systems can't use __STDC__, but require stdarg.
+
+Fri Apr 18 11:14:43 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sim-options.c (standard_options): Add --endian.
+ (standard_option_handler): Likewise.
+
+ * nrun.c: #include <signal.h>.
+ (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
+ handler that calls sim_stop ().
+
Fri Apr 18 13:11:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
* run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT