blob: 87bc0ee2f27980601929617db9da3f3edfa802f7 [file] [log] [blame]
2007-10-11 Jesper Nilsson <>
* callback.c (cb_is_stdin, cb_is_stdout, cb_is_stderr): Add functions.
* syscall.c (cb_syscall): Test for stdin/out/err, not just fd 0/1/2.
2007-08-10 Nick Clifton <>
* sim-memopt.c (memory_options): Mention that the
--memory-size switch accepts suffixes.
(parse_size): Handle a suffix on the size value.
* sim-options.c (standard_options): Mention that the mem-size
switch accepts suffixes.
(standard_option_handler): Handle a suffix on the size value.
2006-12-21 Hans-Peter Nilsson <>
* acconfig.h: Remove.
* Regenerate.
2006-11-07 Thiemo Seufer <>
* gentmap.c: Fix compile time warning.
2006-11-07 Thiemo Seufer <>
* sim-base.h (text_start, text_end, start_addr): Use bfd_vma type
for bfd text addresses.
2006-08-29 Thiemo Seufer <>
Nigel Stephens <>
* sim-fpu.c (pack_fpu): Handle QUIET_NAN correctly for
2006-08-29 Nigel Stephens <>
* sim-profile.c (profile_pc_init): Initialise default profiling
frequency to a prime number.
(profile_print_pc): Convert gmon.out sample data into target
byte order.
2006-06-13 Richard Earnshaw <>
* aclocal.m4: Pass ../../intl to ZW_GNU_GETTEXT_SISTER_DIR.
* common.m4: Likewise.
* configure: Regenerated.
2006-06-05 Daniel Jacobowitz <>
* aclocal.m4: Use ZW_GNU_GETTEXT_SISTER_DIR.
* configure: Regenerated.
2006-05-31 Daniel Jacobowitz <>
and LIBINTL_DEP everywhere.
* aclocal.m4: Use ZW_GNU_GETTEXT_SISTER_DIR. Include new
gettext macros.
* configure: Regenerated.
2006-03-29 Hans-Peter Nilsson <>
* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Correct duplicate-
option-contents test.
2005-11-28 Mark Mitchell <>
* sim-signal.c (sim_signal_to_target): Fix typos.
* sim-reason.c (sim_stop_reason): Use
sim_signal_to_target, not sim_signal_to_host.
* sim-signal.c (sim_signal_to_host): Fix typo.
(sim_signal_to_target): New function.
2005-07-10 Hans-Peter Nilsson <>
* sim-load.c (xprintf, eprintf): Remove fallout from ANSI_PROTOTYPES
2005-07-08 Ian Lance Taylor <>
* sim-fpu.c (sim_fpu_abs): Always clear the sign bit.
* sim-fpu.c (pack_fpu): If SIM_QUIET_NAN_NEGATED is defined, use a
different fraction for a quiet NaN.
(unpack_fpu): Likewise.
2005-07-08 Ben Elliston <>
* callback.c: Remove ANSI_PROTOTYPES conditional code.
* sim-load.c: Likewise.
* syscall.c: Likewise.
2005-05-24 Corinna Vinschen <>
* (LIBDEPS): Correctly use INTLDEPS for dependency
2005-05-17 Daniel Jacobowitz <>
* (install-common, installdirs): Honor $DESTDIR.
2005-04-20 Manoj Iyer <>
* sim-types.h: Changed unsigned32 and unsigned64 to signed32
and signed64 for __ALPHA__.
2005-03-23 Mark Kettenis <>
* aclocal.m4 Include ../../gettext.m4.
* configure: Regenerate.
2005-02-28 Jim Blandy <>
* aclocal.m4 (SIM_AC_OPTION_WARNINGS): Don't include
-Wuninitialized in the default list of build warnings if CFLAGS is
set, and doesn't include -O. (Using -Wuninitialized without
optimization produces a warning, which interferes with compilation
with -Werror.)
2005-02-21 Jim Blandy <>
* callback.c (os_fstat): Don't declare 't' unless it's used.
2005-02-09 Jim Blandy <>
* (CGEN): Load guile.scm, and include a trailing
'-s' argument.
(CGEN_FLAGS_TO_PASS): Include single quotes around the reference
to $(CGEN), to ensure that the command substitution happens where
the variable is referenced in the submake, not when the submake's
arguments are expanded.
( Be prepared for the 'cgen' argument to contain spaces.
(arch, cpu, decode, cpu-decode, defs, desc): Place the name of the
application Scheme script directly after ${cgen}; don't precede it
with a -s.
2005-01-28 Hans-Peter Nilsson <>
* syscall.c (cb_syscall) <case CB_SYS_pipe>: New case.
* callback.c [HAVE_LIMITS_H]: Include limits.h.
Include libiberty.h.
(os_close, os_read, os_write, os_fstat, os_ftruncate): Support fd
being either end of a pipe.
(os_pipe, os_pipe_empty, os_pipe_nonempty): New functions.
(os_shutdown): Clear pipe state.
(default_callback): Initialize new members.
* callback.c (default_callback): Initialize target_endian.
(cb_store_target_endian): Renamed from store, new first parameter
host_callback *cb, drop last parameter big_p. Take endianness
from cb.
(cb_host_to_target_stat): Change to use cb_store_target_endian.
Remove variable big_p.
* nrun.c (main): Initialize default_callback.target_endian.
2005-01-14 Andrew Cagney <>
* Replace SIM_AC_COMMON with sinclude of common.m4.
Add explicit call to AC_CONFIG_HEADER.
* common.m4: Delete call to AC_CONFIG_HEADER, update usage.
* configure: Re-generate.
2005-01-12 Andrew Cagney <>
* common.m4: New file, based on of aclocal.m4.
2005-01-11 Andrew Cagney <cagney@localhost.localdomain>
* aclocal.m4 (SIM_AC_OUTPUT): Rewrite to use 2.59 macros.
* configure: Regenerated to track ../common/aclocal.m4 changes.
2005-01-07 Andrew Cagney <>
* Rename, require autoconf 2.59.
* aclocal.m4 (SIM_AC_COMMON): Delete call to AC_CONFIG_AUX_DIR.
* configure: Re-generate.
2004-12-15 Hans-Peter Nilsson <>
* syscall.c (cb_syscall) <case CB_SYS_truncate>
<case CB_SYS_ftruncate>: New cases.
2004-12-13 Hans-Peter Nilsson <>
* syscall.c (cb_syscall) <case CB_SYS_lstat>: New case.
(cb_syscall) <case CB_SYS_rename>: New case.
* callback.c (os_lstat): New function.
2004-12-08 Hans-Peter Nilsson <>
* run.1: Document --sysroot=filepath.
* sim-options.c (STANDARD_OPTIONS): New member OPTION_SYSROOT.
(standard_options): Support --sysroot=<path>.
(standard_option_handler): Handle OPTION_SYSROOT.
* syscall.c (simulator_sysroot): Define, initialized empty.
(get_path): Prepend simulator_sysroot to absolute file path.
[HAVE_STRING_H]: Include string.h.
[!HAVE_STRING_H && HAVE_STRINGS_H]: Include strings.h.
* nrun.c [HAVE_UNISTD_H]: Include unistd.h.
(main): If simulator_sysroot is not empty, chdir there.
* sim-config.h (simulator_sysroot): Declare.
* aclocal.m4 (SIM_AC_OUTPUT): Substitute @cgen_breaks@ for "break
cgen_rtx_error" in a CGEN-generated simulator.
* Break on sim_core_signal too. Have autoconf
replacement for CGEN-related breakpoints.
2004-12-07 Hans-Peter Nilsson <>
* (sim-basics_h): Add $(callback_h).
2004-12-03 Hans-Peter Nilsson <>
* (SIM_CHECK_MEMBERS): Call for struct stat members
st_dev, st_ino, st_mode, st_nlink, st_uid, st_gid, st_rdev,
st_size, st_blksize, st_blocks, st_atime, st_mtime and st_ctime.
(SIM_CHECK_MEMBERS): New macros.
* callback.c (cb_host_to_target_stat): Use temporary macro ST_x
for struct stat member test and write. Add ST_x calls for each
struct stat member tested in Wrap each ST_x call in
#ifdef of configure macro for that member.
* configure, Regenerate.
2004-12-01 Hans-Peter Nilsson <>
* New thirteenth parameter opcfile, defaulting to
<case desc>: Pass -OPC opcfile.
* (cgen-desc): Pass $(opcfile) as thirteenth
parameter to
2004-11-30 Richard Earnshaw <>
* (sim-basics_h): Correct dependencies on
cconfig.h and tconfig.h
(sim-load.o): Correct typo in sim-basics_h dependency.
2004-11-18 Richard Earnshaw <>
* (sim-*_h): Add macros for all sim headers listing
sub-dependencies for other sim files that they include.
(sim_main_headers): Use sim-*_h macros.
(sim-load.o): Depend on sim-basics_h, not sim_main_headers.
2004-11-16 Hans-Peter Nilsson <>
* sim-config.c (sim_config): Recognize when a bfd has unspecified
endian information.
* (sim-load.o): Depend on $(sim_main_headers) and
$(remote_sim_h) too.
(sim_main_headers): Add sim-utils.h.
2004-10-07 Kazuhiro Inaoka <>
* cgen-defs.h (ENDSWITCH): Changed to compile with gcc-3.4.2.
2004-07-26 Andrew Cagney <>
Problem from Olaf Hering <>.
* (install-man, installdirs): Add DESTDIR prefix.
2004-07-10 Ben Elliston <>
* hw-tree.c (parse_integer_property): Typo fix in comments.
* sim-options.c (sim_args_command): Likewise.
2004-06-28 Andrew Cagney <>
* run.c: Rename ui_loop_hook to deprecated_ui_loop_hook.
2004-06-27 J"orn Rennecke <>
* callback.c (os_shutdown): Fix bug in last change: actually
mark file descriptors as available on startup.
2004-06-25 J"orn Rennecke <>
[ include/gdb: * callback.h (host_callback_struct): Replace
members fdopen and alwaysopen with fd_buddy. ]
* callback.c: Changed all users.
2004-06-15 Alan Modra <>
* sim-load.c (sim_load_file): Use bfd_get_section_size
instead of bfd_get_section_size_before_reloc.
2004-05-18 Daniel Jacobowitz <>
* dv-glue.c (hw_glue_finish): Cast result of sizeof to long before
passing it to printf.
2004-05-10 Daniel Jacobowitz <>
* callback.c: Update copyright dates.
* run.c: Likewise.
* sim-basics.h: Likewise.
* sim-load.c: Likewise.
* syscall.c: Likewise.
2004-05-10 Maciej W. Rozycki <>
* callback.c: Include cconfig.h instead of config.h.
* run.c: Likewise.
* sim-basics.h: Likewise.
* sim-load.c: Likewise.
* syscall.c: Likewise.
2004-01-16 Ben Elliston <>
* (clean): Remove rm -f $(ALL), as $(ALL) is empty.
2003-12-19 Kazuhiro Inaoka <>
* sim-core.c (sim_core_trans_addr): Added for m32r-linux-run.
2003-11-22 Kazu Hirata <>
* sim-options.c (standard_options): Fix the names of H8
2003-10-30 Andrew Cagney <>
* sim-trace.c, sim-base.h: Replace "struct symbol_cache_entry"
with "struct bfd_symbol".
2003-10-21 Andrew Cagney <>
* callback.c (os_truncate): Call "truncate", and not "stat".
2003-10-20 Andrew Cagney <>
* sim-base.h: Replace "struct sec" with "struct bfd_section".
2003-10-15 J"orn Rennecke <>
* callback.c (os_ftruncate, os_truncate): New functions.
(default_callback): Initialize ftruncate and truncate members.
2003-09-08 Dave Brolley <>
On behalf of Doug Evans <>
* New arg archfile.
* (cgen-arch,cgen-cpu,cgen-defs,cgen-decode,
cgen-cpu-decode,cgen-desc): Update call to
2003-08-28 Andrew Cagney <>
* dv-glue.c (hw_glue_finish): Change %d to %ld to match sizeof.
* sim-options.c (print_help): Cast the format with specifier to
2003-08-20 Michael Snyder <>
Dave Brolley <>
* cgen-par.h (flags, word1): New target-specific
(CGEN_WRITE_QUEUE_ELEMENT_WORD1): New accessor macro.
* Add frv target.
* nltvals.def: Add frv target.
2003-06-23 Michael Snyder <>
* nrun.c (main): Delete h8/300 ifdef (sim now handles signals).
* sim-reg.c: Fix cut-and-paste bug in comment.
2003-06-22 Andrew Cagney <>
From matthew green <>:
* sim-fpu.h: Update copyright.
(sim_fpu_fraction, sim_fpu_guard): New prototypes.
* sim-fpu.c: Update copyright.
(sim_fpu_fraction, sim_fpu_guard): New inline functions.
2003-06-17 Frank Ch. Eigler <>
From Doug Evans <>:
* cgen-trace.h (sim_disasm_read_memory): Update args to be compatible
with disassemble_info:read_memory_func.
* cgen-trace.c (sim_disasm_read_memory): Ditto.
2003-06-04 Michael Snyder <>
* common/run.c (main): Remove SIM_H8300 ifdef.
(usage): Ditto.
* common/sim-options.c (STANDARD_OPTIONS): Add SIM_H8300SX.
(standard_options): Add '-x' for h8/300sx.
(standard_option_handler): Add case for SIM_H8300SX.
2003-04-13 Michael Snyder <>
* (sim-events.o, sim-config.o): Depend on sim-main.h.
2003-03-01 Andrew Cagney <>
* sim-engine.c (sim_engine_halt): If jmpbuf is invalid, abort.
(sim_engine_vabort): Ditto.
2003-02-27 Andrew Cagney <>
* sim-utils.h (sim_analyze_program, sim_load_file): Rename _bfd to bfd.
* sim-hload.c (sim_load), sim-base.h (sim_state_base): Ditto.
* nrun.c (main): Ditto.
2003-02-26 Andrew Cagney <>
* sim-engine.h (sim_engine_abort): Add noreturn attribute.
(sim_engine_vabort): Ditto.
(sim_engine_halt, sim_engine_restart): Ditto.
2003-02-20 Andrew Cagney <>
* (SIM_NEW_COMMON_OBJS): Remove sim-break.o
(sim-break_h): Delete macro.
(sim-break.o): Delete rule.
* sim-break.c: Delete file.
* sim-break.h: Delete file.
* sim-base.h [SIM_HAVE_BREAKPOINTS]: Don't include "sim-break.h".
(STATE_BREAKPOINTS): Delete macro.
(sim_state_base): Delete field breakpoints.
* sim-module.c (modules) [SIM_HAVE_BREAKPOINTS]: Don't add
sim_break_install to array.
2003-01-08 Kazu Hirata <>
* run.c (usage): Fix typos.
2002-11-27 Richard Sandiford <>
* sim-fpu.c (sim_fpu_inv): Use sim_fpu_div.
2002-11-22 Andrew Cagney <>
* dv-core.c: Update copyright. sim/common contributed to the FSF.
* dv-glue.c, dv-pal.c, hw-base.c, hw-base.h, hw-device.c: Ditto.
* hw-device.h, hw-handles.c, hw-handles.h: Ditto.
* hw-instances.c, hw-instances.h, hw-properties.c: Ditto.
* hw-properties.h, hw-tree.c, hw-tree.h, sim-alu.h: Ditto.
* sim-basics.h, sim-bits.c, sim-bits.h, sim-config.c: Ditto.
* sim-config.h, sim-core.c, sim-core.h, sim-endian.c: Ditto.
* sim-endian.h, sim-events.c, sim-events.h, sim-inline.c: Ditto.
* sim-inline.h, sim-io.c, sim-io.h, sim-n-bits.h: Ditto.
* sim-n-core.h, sim-n-endian.h, sim-types.h: Ditto.
2002-11-13 Andrew Cagney <>
* run.c (main): Remove SIM_HAVE_ENVIRONMENT from #endif.
2002-11-06 Richard Sandiford <>
(distclean): Depend on it.
2002-10-14 Alan Modra <>
* cgen-trace.h: Test __BFD_H_SEEN__ rather than BFD_VERSION.
2002-08-29 Dave Brolley <>
* (CGEN_READ_SCM): Remove ../../cgen/stamp-cgen.
2002-07-17 Andrew Cagney <>
* run-sim.h: Add #ifdef RUN_SIM_H wrapper.
(sim_set_callbacks, sim_size, sim_trace)
(sim_set_trace, sim_set_profile_size, sim_kill): Declare. Moved
to here from "gdb/remote-sim.h".
2002-07-16 Andrew Cagney <>
* sim-resume.c (sim_resume): Add local variable sig_to_deliver to
avoid possible longjmp problems with automatic variable siggnal.
2002-07-14 Andrew Cagney <>
From 2002-07-11 Momchil Velikov <>:
* (installdirs): Make $(libdir) too, needed when
installing libsim.a.
2002-07-13 Andrew Cagney <>
* (dir): Mark d30v as obsolete.
* nltvals.def: Remove d30v.
2002-06-17 Andrew Cagney <>
* hw-events.c (hw_event_queue_schedule): Initialize `dummy'.
* sim-memopt.c: Include <unistd.h>.
(do_memopt_add): Fix printf format.
* sim-events.c (sim_events_schedule): Initialize ``dummy''.
2002-06-16 Andrew Cagney <>
* aclocal.m4 (SIM_AC_OPTION_WARNINGS): Update to match GDB's
* configure: Regenerated to track ../common/aclocal.m4 changes.
2002-06-09 Aldy Hernandez <>
* sim-fpu.c (unpack_fpu): Initialize exponent for
(i2fpu): Same.
(sim_fpu_sqrt): Same.
2002-06-08 Andrew Cagney <>
* gentmap.c (gen_targ_map_c): Generate "gdb/callback.h".
* sim-basics.h: Include "gdb/callback.h" and "gdb/remote-sim.h".
* run.c: Ditto.
* sim-load.c: Ditto.
* callback.c: Ditto.
* syscall.c: Ditto.
* (callback_h): Define.
(remote_sim_h): Define.
(run.o): Update.
(callback.o): Update.
(syscall.o): Update.
(nrun.o): Update.
(sim-hload.o): Update.
(sim-io.o): Update.
(sim-reason.o): Update.
(sim-reg.o): Update.
(sim-resume.o): Update.
2002-05-30 Kazu Hirata <>
* run.c: Fix formatting.
2002-05-20 Nick Clifton <>
* run-sim.h: New header. Provide prototypes for functions used
between run() and libsim.a which are not used by GDB.
* run.c: Include run-sim.h.
(main): If SIM_TARGET_SWITCHES is defined call
(usage): If SIM_TARGET_SWITCHES is defined call
2002-05-17 Andrey Volkov <>
* run.c: Made h8300s as new target, not h8300h alias.
Added new option -S (h8300s target)
* sim-options.c: Ditto.
2002-05-01 Chris Demetriou <>
* callback.c: Use 'deprecated' rather than 'depreciated.'
2002-02-24 Andrew Cagney <>
From wiz at danbala:
* sim-fpu.h: Fix grammar and typos.
Fix PR gdb/287.
2002-02-10 Chris Demetriou <>
* callback.c: Fix some spelling errors.
* hw-device.h: Likewise.
* hw-tree.c: Likewise.
* sim-abort.c: Likewise.
* sim-alu.h: Likewise.
* sim-core.h: Likewise.
* sim-events.c: Likewise.
* sim-events.h: Likewise.
* sim-fpu.h: Likewise.
* sim-profile.h: Likewise.
* sim-utils.c: Likewise.
2002-01-31 Hans-Peter Nilsson <>
New functions.
2002-01-20 Ben Elliston <>
* sim-fpu.h (SIM_FPU_IS_QNAN): Replace "Quite" with "Quiet" in
the comment for this enumerator.
2002-01-14 Ben Elliston <>
* sim-fpu.h: Fix comment about sim_fpu_* constants.
2001-12-20 Kazu Hirata <>
* run.c (usage): Fix a typo.
2001-07-05 Ben Elliston <>
* (srccgen): Remove.
(CGEN_CPU_DIR): Define.
(CGEN_READ_SCM): Redefine without $(srccgen).
(CGEN_CPU_SCM): Ditto.
2001-04-25 Frank Ch. Eigler <>
* sim-load.c (sim_load_file): Put it back: external now.
* sim-utils.c (sim_analyze_program): Ditto. Nyuk nyuk nyuk.
2001-04-21 Andrew Cagney <>
* sim-load.c (sim_load_file): Delete call bfd_cache_close. BFD
internal interface.
* sim-utils.c (sim_analyze_program): Ditto.
2001-04-19 Frank Ch. Eigler <>
* sim-utils.c (sim_analyze_program): Call bfd_cache_close after
we're finished with its immediate use.
* sim-load.c (sim_load_file): Ditto.
2001-03-16 Frank Ch. Eigler <>
Add support for mmap-based memory regions.
* sim-memopt.c (mmap_next_fd): New global.
(sim_memory_init): Reinitialize it.
(OPTION_MEMORY_MAPFILE, memory_option_handler): Support new
"--memory-mapfile FILE" option. Check for some errors.
(do_memopt_add): Conditionally do mmap instead of malloc for
backing store of simulated memory. Check for more errors.
(do_simopt_delete, sim_memory_uninstall): Corresponding cleanup.
* sim-memopt.h (munmap_length): New member of _sim_memopt.
* Look for mmap/fstat related functions and headers.
*, configure: Regenerated.
2001-03-15 Frank Ch. Eigler <>
* sim-core.c (sim_core_map_attach): Correct overlap-related
error messages.
2001-03-07 Michael Meissner <>
* run.c (alloca-conf.h): Delete, no longer provided.
2001-02-22 Ben Elliston <>
* sim-trace.h (TRACE_VPU_IDX): Add.
(TRACE_vpu): Define.
(WITH_TRACE_VPU_P): Likewise.
(TRACE_VPU_P): Likewise.
* sim-trace.c (OPTION_TRACE_VPU): Define.
(trace_options): Add --trace-vpu.
(trace_option_handler): Handle OPTION_TRACE_VPU.
(trace_option_handler): Include VPU tracing in --trace-semantics.
(trace_idx_to_str): Handle TRACE_VPU_IDX.
2001-02-21 Ben Elliston <>
* sim-trace.h (TRACE_BRANCH_INPUT1): New macro.
2001-02-09 Ben Elliston <>
* (profile_print_pc): Write header out in target byte order.
2001-02-09 Ben Elliston <>
* sim-profile.c (profile_pc_init): Correct bug in loop logic when
adjusting the pc shift value.
2001-01-12 Chris Demetriou <>
* aclocal.m4 (SIM_AC_OPTION_SCACHE): Properly handle the case
where a numeric value is supplied.
2001-01-06 Ben Elliston <>
* Allow extrafiles to include the semantics files when
generating an ISA-specific decoder.
2000-12-27 Alexandre Oliva <>
* (sim-io.o): Depend on targ-vals.h.
2000-12-23 Ben Elliston <>
* cgen-trace.c (trace_result): Handle 'f' type operands; output
them to the trace stream using sim_fpu_printn_fpu. Include
2000-12-15 Ben Elliston <>
* sim-fpu.h (sim_fpu_printn_fpu): Declare.
* sim-fpu.c (print_bits): Add digits parameter. Print only as many
trailing digits as specified (-1 to print all digits).
(sim_fpu_print_fpu): New wrapper around sim_fpu_printn_fpu.
(sim_fpu_printn_fpu): Rename from sim_fpu_print_fpu; update calls
to print_bits ().
2000-12-13 Ben Elliston <>
* Set prefix/PREFIX (append ISA if applicable). Factor
sed expressions into $sedscript, substituting @prefix@/@PREFIX@.
(defs): New action.
2000-12-12 Geoffrey Keating <>
* sim-endian.h: Don't have parameters on macro definitions which
are simply renaming functions, to permit use of XCONCAT2 in both
the macro name and the arguments in a use of such a definition.
2000-12-11 Ben Elliston <>
* cgen-ops.h (SUBWORDDFDI): New function.
2000-12-05 Ben Elliston <>
* (cgen-defs): New target.
(cgen-decode): Pass $(EXTRAFILES).
* Use @prefix@, not @cpu@ throughout. Add -prefix and
-outfile-suffix options.
2000-12-04 Ben Elliston <>
* cgen-ops.h (SUBWORDSIQI): Mask off top bits.
(SUBWORDDIHI): Likewise.
(SUBWORDDIQI): New function.
* cgen-trace.c (disassemble_insn): Remove unused declaration.
* cgen-scache.c (scache_option_handler): Remove unused local var.
2000-12-03 Ben Elliston <>
* sim-profile.c (profile_option_handler): Remove unused prof_nr.
2000-11-26 Stephane Carrez <>
* hw-events.c (delete_hw_event_data): Remove the scheduled events.
2000-11-26 Stephane Carrez <>
* dv-core.c (dv_core_attach_address_callback): Don't abort if
space is not zero.
2000-11-24 Stephane Carrez <>
* hw-base.c (hw_delete): Don't free base_of_hw since it's freed.
(set_hw_delete): Moved the macro as a function.
* hw-base.h (set_hw_delete): Declare as external function.
* hw-alloc.c (delete_hw_alloc_data): Allow to free the memory
allocated using hw_malloc.
2000-11-24 Stephane Carrez <>
* sim-options.c (sim_parse_args): Free the memory used for
long_options, short_options, handlers, opt_cpu, orig_val.
2000-11-20 Ben Elliston <>
* cgen-ops.h (SUBBI): New macro.
2000-11-16 Ben Elliston <>
* cgen-types.h (VOID): New type.
2000-11-09 Ben Elliston <>
* sim-fpu.c (sim_fpu_one): Set exponent to 0.
(sim_fpu_two): Set exponent to 1.
2000-10-26 Ben Elliston <>
* Handle an isa argument between cpu and mach. Default to
`all'. Pass `-i' options to cgen applications.
* (cgen-arch, cgen-cpu, cgen-decode, cgen-cpu-decode,
cgen-desc): Pass $(isa) to
2000-10-08 Ben Elliston <>
* cgen-utils.c (cgen_rtx_error): New function.
2000-10-07 Ben Elliston <>
* cgen-trace.c (sim_cgen_disassemble_insn): Handle failure
conditions for sim_core_read_buffer().
2000-09-26 Dave Brolley <>
* cgen-utils.c (RORQI): New function.
(ROLQI): New function.
(RORHI): New function.
(ROLHI): New function.
2000-08-28 Dave Brolley <>
* cgen-trace.c (sim_cgen_disassemble_insn): Make sure entire insn is
in insn_value if it will fit.
2000-08-21 Frank Ch. Eigler <>
*, Contribute CGEN-related build targets/rules.
2000-08-15 Dave Brolley <>
* sim-profile.c (profile_print_speed): Print cpu frequency if not zero.
2000-08-15 Dave Brolley <>
* sim-profile.h (PROFILE_DATA): Add cpu_freq.
(PROFILE_CPU_FREQ): New macro.
* sim-profile.c (OPTION_PROFILE_CPU_FREQUENCY): New enumerator.
(profile-options): Add profile-cpu-frequency.
(parse_frequency): New function.
(profile_option_handler): Handle OPTION_PROFILE_CPU_FREQUENCY.
(profile_print_speed): Print cpu frequency and simulated execution time.
Re-indent other items to match.
2000-08-09 Andrew Cagney <>
* dv-sockser.c (dv_sockser_init): Eliminate MIN macro.
2000-07-27 Frank Ch. Eigler <>
From Maciej W. Rozycki <>
* (install): Install run.1 man page.
Thu Jul 27 21:56:08 2000 Andrew Cagney <>
From 2000-06-23 Doug Evans <>:
* (headers,nltvals.def): Merge.
Thu Jul 27 20:37:47 2000 Andrew Cagney <>
From 2000-06-25 Stephane Carrez <>:
* nrun.c (main): Print the simulator statistics only in
verbose mode.
* hw-properties.h (hw_find_integer_array_property): Fix
prototype (use signed_cell).
From 2000-06-25 Stephane Carrez <>:
* sim-events.c (sim_events_remain_time): New function returning
the time that remains before the event is raised.
* hw-events.c (hw_event_remain_time): Likewise.
* sim-events.h (sim_events_remain_time): Declare.
* hw-events.h (hw_event_remain_time): Declare.
From 2000-06-25 Stephane Carrez <>:
* sim-hw.c: Use <errno.h> instead of <sys/errno.h>
(OPTION_HW_LIST): New option --hw-list to list the devices.
(hw_option_handler): List the device tree with 'sim_hw_print'.
From 2000-06-25 Stephane Carrez <>:
* sim-bits.h (_MSB_16, _LSB_16): Define for 16-bit targets.
(MASK, LSBIT, MSBIT): Likewise and use _MSB_16 and _LSB_16.
(EXTENDED): Define for 16-bit word size.
MSINSERTED, LSSEXT, MSSEXT): Implement for 16-bit word size.
* sim-types.h: Added support for 16-bit targets.
2000-06-23 Frank Ch. Eigler <>
* cgen-trace.h (TRACE_USEFUL_MASK): Remove TRACE_EVENTS_IDX.
2000-06-24 Frank Ch. Eigler <>
From Maciej W. Rozycki <>:
* (distclean): Clean cconfig.h also.
Tue May 23 21:39:23 2000 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Tue May 23 21:35:53 2000 Andrew Cagney <>
* aclocal.m4 (sim-profile): Enable the profiler by default.
Tue May 23 20:30:12 2000 Andrew Cagney <>
* run.c (main): Initialize sigrc.
Wed Apr 26 16:18:44 2000 Andrew Cagney <>
* sim-events.c (update_time_from_event): Add more detailed event
2000-03-30 Dave Brolley <>
* aclocal.m4 (cgen): Use guile to run cgen.
2000-03-23 Dave Brolley <>
* cgen-fpu.h: Rename extsfdf to fextsfdf. Rename truncdfsf to
* cgen-accfp.c (fextsfdf): New function.
(ftruncdfsf): New function.
(cgen_init_accurate_fpu): Initialize fextsfdf and ftruncdfsf.
2000-03-13 Jeff Johnston <>
* cgen-ops.h: Added TRUNCSISI.
2000-03-08 Dave Brolley <>
* cgen-par.h (cgen_write_queue_kind): Add CGEN_FN_SF_WRITE.
(CGEN_WRITE_QUEUE_ELEMENT): Add fn_sf_write.
(sim_queue_fn_si_write): Last argument is has type USI.
(sim_queue_fn_sf_write): New function.
* cgen-par.c (sim_queue_fn_si_write): Declare 'value' as USI.
(sim_queue_fn_sf_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_FN_SF_WRITE.
Tue Feb 22 16:45:09 2000 Andrew Cagney <>
* run.c (main): When SIM_HAVE_ENVIRONMENT enable tracing with
sim_set_trace and run simulator using sim_resume.
(main): Add option ``-o'' - operating environment. Only continue
after a signal when operating environment.
(main): Always set REASON and SIGRC using sim_stop_reason.
(sim_trace): Delete extern declaration.
2000-02-08 Nick Clifton <>
* callback.c: Fix compile time warning messages.
* run.c: Fix compile time warning messages.
1999-12-17 Dave Brolley <>
* sim-profile.h: (set_profile_option_mask): Add prototype.
* sim-profile.c (set_profile_option_mask): No longer static.
Wed Dec 8 21:47:13 1999 Andrew Cagney <>
* sim-arange.c: Include <string.h>
1999-12-07 Dave Brolley <>
* sim-options.c (print_help): '=' required before optional argument.
* cgen-par.h (CGEN_FN_MEM_QI_WRITE): New enumerator.
(CGEN_FN_MEM_HI_WRITE): New enumerator.
(CGEN_FN_MEM_SI_WRITE): New enumerator.
(CGEN_FN_MEM_DI_WRITE): New enumerator.
(CGEN_FN_MEM_DF_WRITE): New enumerator.
(CGEN_FN_MEM_XI_WRITE): New enumerator.
(fn_mem_qi_write): New union members.
(fn_mem_hi_write): New union members.
(fn_mem_si_write): New union members.
(fn_mem_di_write): New union members.
(fn_mem_df_write): New union members.
(fn_mem_xi_write): New union members.
(sim_queue_fn_mem_qi_write): New function.
(sim_queue_fn_mem_hi_write): New function.
(sim_queue_fn_mem_si_write): New function.
(sim_queue_fn_mem_di_write): New function.
(sim_queue_fn_mem_df_write): New function.
(sim_queue_fn_mem_xi_write): New function.
* cgen-par.c (sim_queue_fn_mem_qi_write): New function.
(sim_queue_fn_mem_hi_write): New function.
(sim_queue_fn_mem_si_write): New function.
(sim_queue_fn_mem_di_write): New function.
(sim_queue_fn_mem_df_write): New function.
(sim_queue_fn_mem_xi_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_FN_MEM_QI_WRITE,
1999-12-01 Dave Brolley <>
* cgen-accfp.c (subsf): Check status code.
(mulsf): Ditto.
(negsf): Ditto.
(abssf): Ditto.
(sqrtsf): Ditto.
(invsf): Ditto.
(minsf): Ditto.
(maxsf): Ditto.
(subdf): Ditto.
(muldf): Ditto.
(divdf): Ditto.
(negdf): Ditto.
(absdf): Ditto.
(sqrtdf): Ditto.
(invdf): Ditto.
(mindf): Ditto.
(maxdf): Ditto.
1999-11-26 Dave Brolley <>
* cgen-par.h (fn_df_write): Mode of data is DF.
(sim_queue_fn_df_write): Mode of data is DF.
* cgen-par.c (sim_queue_fn_df_write): Mode of data is DF.
1999-11-22 Dave Brolley <>
* cgen-trace.c (SIZE_TRACE_BUF): Inxrease size of trace buffer.
* cgen-par.h (CGEN_WRITE_QUEUE_SIZE): Increase size of queue.
1999-11-04 Dave Brolley <>
* cgen-par.h (cgen_write_queue_kind): Add CGEN_FN_XI_WRITE and
(CGEN_WRITE_QUEUE_ELEMENT): Add fn_xi_write and mem_xi_write members.
(sim_queue_fn_xi_write): New function.
(sim_queue_mem_xi_write): New function.
* cgen-par.c (sim_queue_fn_xi_write): New function.
(sim_queue_mem_xi_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_FN_XI_WRITE and
1999-10-22 Dave Brolley <>
* cgen-par.h (insn_address): New field in CGEN_WRITE_QUEUE_ELEMENT.
* cgen-par.c: Set insn_address for each queued write. Get pc from
cpu when executing queued writes.
1999-10-19 Dave Brolley <>
* cgen-par.h (sim_queue_fn_pc_write): New function.
(CGEN_FN_PC_WRITE): New enumerator.
(fn_pc_write): New union member.
* cgen-par.c (sim_queue_fn_pc_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_FN_PC_WRITE.
1999-10-18 Dave Brolley <>
* cgen-par.h (CGEN_MEM_DI_WRITE): New enumerator.
(CGEN_MEM_DF_WRITE): New enumerator.
(mem_di_write): New union member.
(mem_df_write): New union member.
* cgen-par.c (sim_queue_mem_di_write): New function.
(sim_queue_mem_df_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_MEM_DI_WRITE and
* cgen-accfp.c (divsf): Check for division errors.
1999-10-14 Doug Evans <>
* cgen-engine.h (EXTRACT_INT,EXTRACT_UINT): Delete.
1999-10-07 Dave Brolley <>
* cgen-par.h (CGEN_FN_HI_WRITE): New enumerator.
(fn_hi_write): New union member.
(sim_queue_fn_hi_write): New function.
* cgen-par.c (sim_queue_fn_hi_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_FN_HI_WRITE.
1999-09-29 Doug Evans <>
* cgen-defs.h (sim_engine_invalid_insn): New arg `vpc'.
Change type of result to SEM_PC.
Wed Sep 29 14:43:57 1999 Dave Brolley <>
* cgen-defs.h (sim_engine_invalid_insn): Now returns PC.
1999-09-25 Doug Evans <>
* cgen-ops.h (SUBWORD*): Delete cpu arg.
(JOIN*): Delete cpu arg.
Tue Sep 21 17:14:16 1999 Dave Brolley <>
* (@cpu@_scache_lookup): No longer takes last_insn_p
(SET_LAST_INSN_P): Set last_insn_p flag in the scache element.
Mon Sep 20 21:44:06 1999 Geoffrey Keating <>
* sim-fpu.c (i2fpu): Keep the guard bits sticky when converting
large values.
Tue Feb 8 16:33:48 2000 Andrew Cagney <>
* run.c (main): Check the sim_stop_reason and only halt simulation
when a valid stop condition is identified.
Wed Sep 15 14:12:37 1999 Andrew Cagney <>
* hw-tree.c, hw-properties.c, hw-instances.c: Include "sim-io.h".
Tue Sep 14 14:15:47 1999 Dave Brolley <>
* cgen-par.h (CGEN_BI_WRITE): New enumerator.
(bi_write): New union element.
(sim_queue_bi_write): New function.
* cgen-par.c (sim_queue_bi_write): New function.
(cgen_write_queue_element_execute): Handle CGEN_BI_WRITE.
Thu Sep 2 18:15:53 1999 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* aclocal.m4 (WERROR_CFLAGS, WARN_CFLAGS): Merge from
Tue Aug 31 16:01:42 1999 Dave Brolley <>
* cgen-par.c: New file.
* cgen-par.h: New file.
* cgen-sim.h (cgen-par.h): #include it.
* cgen-cpu.h (write_queue): New field.
(CPU_WRITE_QUEUE): New access macro.
* (CGEN_MAIN_CPU_DEPS): Add cgen-par.h.
(cgen-par.o): New target.
1999-08-28 Doug Evans <>
* cgen-types.h (mode_type,MODE_VOID): Renamed from MODE_VM.
* cgen-utils.c (mode_names): Update.
1999-08-20 Doug Evans <>
* New args -parallel-generic-write, -parallel-only.
* cgen-engine.h (SEMANTIC_FN): Don't use version with PAREXEC
(struct insn_sem): Handle WITH_PARALLEL_GENWRITE.
(struct idesc): Ditto.
Wed Aug 18 18:17:28 1999 Doug Evans <>
* sim-model.c (model_option_handler): Add \n to error message.
1999-08-08 Doug Evans <>
* cgen-engine.h (SEM_FN_NAME,SEMF_FN_NAME): Delete.
(insn_sem): Rewrite.
(sem_fn_desc): New struct.
(idesc): Rewrite.
* (scache case,@cpu@_scache_lookup): Profile scache hit,
misses if ! FAST_P.
(scache case): Split into non-parallel/parallel versions.
(@cpu@_engine_run_{full,fast}): Call @cpu@_{sem,semf}_init_idesc_table
if not use semantic switch version.
1999-08-04 Doug Evans <>
* cgen-defs.h (SEM_BRANCH_TYPE): New enum.
(SEM_BRANCH_INIT): Replace npc_ptr with br_type.
(SEM_BRANCH_VIA_CACHE): Ditto. Delete cachvarptr arg.
* cgen-scache.h (cpu_scache): Replace member pbb_pr_npc_ptr with
* (eng.hin): Update prototype of ${cpu}_pbb_cti_chain.
(@cpu@_pbb_begin): Initialize branch_target.
(@cpu@_pbb_cti_chain): Replace arg new_vpc_ptr with br_type.
(@cpu@_engine_run_full): Replace local pbb_br_npc_ptr with
(@cpu@_engine_run_fast): Ditto.
Fri Jul 16 14:47:53 1999 Dave Brolley <>
* cgen-utils.c (RORSI): New function.
(ROLSI): New function.
1999-07-14 Doug Evans <>
* (TAGS): Tweak TAGS regex.
* cgen-mem.h (*): Add TAGS markers.
Sun Jul 11 23:47:20 1999 Andrew Cagney <>
* sim-resume.c (sim_resume): Ensure that the siggnal [sic] is only
passed in when sim_resume is first entered - don't re-pass it
after a restart.
Sun Jul 11 23:34:44 1999 Andrew Cagney <>
* sim-options.c (standard_option_handler): Add OPTION_LOAD_VMA and
OPTION_LOAD_LMA but only when is defined.
(standard_options): When SIM_HANDLES_LMA is defined include
options --load-lma and --load-vma.
(standard_install): Initialize STATE_LOAD_AT_LMA_P.
* sim-base.h (STATE_LOAD_AT_LMA_P): Define.
(struct sim_state_base): Add load_at_lma_p.
* sim-hload.c (sim_load): Replace SIM_HANDLES_LMA with
Sun Jul 11 12:03:36 1999 Andrew Cagney <>
* nrun.c (main): Re-format loop gnu style.
Wed Jul 7 19:56:03 1999 Andrew Cagney <>
* dv-sockser.c (connected_p): Initialize addrlen.
1999-07-06 Dave Brolley <>
* cgen-accfp.c (floatsidf): New function.
(fixdfsi): New function.
1999-07-06 Doug Evans <>
* sim-model.c (sim_model_init): Issue error if machine is unsupported.
1999-07-05 Doug Evans <>
* (CGEN_MAIN_CPU_DEPS): Add cgen-fpu.h.
(cgen-fpu.o,cgen-accfp.o): Add rules for.
* cgen-fpu.c: New file.
* cgen-fpu.h: New file.
* cgen-accfp.c: New file.
* cgen-cpu.h (CGEN_CPU): New member fpu.
* cgen-mem.h: Redo fp support.
* cgen-ops.h: Delete k&r support. Redo fp support.
* cgen-sim.h: Include cgen-fpu.h.
* cgen-types.h (SF,DF,XF,TF): Moved to cgen-fpu.h.
1999-06-23 Doug Evans <>
* cgen-engine.h (TARGET_SEM_BRANCH_FINI): Remove cruft at end of
* (@cpu@_scache_lookup): Delete unused local var.
(@cpu@_pbb_cti_chain): Minor clean up.
1999-05-08 Felix Lee <>
* aclocal.m4: Use AC_EXEEXT instead of AM_EXEEXT. Delete defn of
* configure: Regenerate.
Fri Apr 16 16:43:22 1999 Doug Evans <>
* sim-core.c (device_error,device_io_read_buffer,
device_io_write_buffer): Delete decls.
* sim-core.h: Put them here.
* sim-core.c (sim_core_read_buffer): Pass sd to device_io_read_buffer.
(sim_core_write_buffer): Pass sd to device_io_write_buffer.
* sim-n-core.h (sim_core_read_aligned_N): Ditto.
(sim_core_write_aligned_N): Ditto.
1999-04-14 Stephane Carrez <>
* sim-memopt.c (sim_memory_uninstall): Don't look into
free()d memory.
1999-04-14 Doug Evans <>
* cgen-utils.scm (virtual_insn_entries): Update attribute definition.
1999-04-13 Doug Evans <>
* sim-core.c (sim_core_read_buffer): Handle NULL cpu when WITH_DEVICES.
(sim_core_write_buffer): Ditto.
1999-04-02 Keith Seitz <>
* sim-io.c (sim_io_poll_quit): Only call the poll_quit callback
after the interval counter has expired.
(POLL_QUIT_INTERVAL): Define. Used to tweak the frequency of
poll_quit callbacks. May be overridden by Makefile.
(poll_quit_counter): New global.
* sim-events.c: Remove all mentions of ui_loop_hook. The
host callback "poll_quit" will serve the purpose.
* run.c: Add definition of ui_loop_hook when NEED_UI_LOOP_HOOK
is defined.
* nrun.c: Remove declaration of ui_loop_hook.
Wed Mar 31 18:55:41 1999 Doug Evans <>
* cgen-run.c (sim_resume): Don't tell main loop to run "forever"
if being used by gdb.
1999-03-22 Doug Evans <>
* cgen-types.h (XF,TF): Tweak.
* cgen-ops.h: Redo inline support. Delete DI_FN_SUPPORT,
in cgen-types.h.
(SUBWORD*,JOIN*): Define.
* cgen-trace.c (sim_cgen_disassemble_insn): Update, base_insn_bitsize
moved into cpu descriptor.
* sim-model.h (MACH): New member `num'.
1999-02-09 Doug Evans <>
* cgen-cpu.h (CGEN_DISASSEMBLER): New type.
(CGEN_CPU): Member opcode renamed to cpu_desc.
New members get_idata,disassembler.
* cgen-defs.h (CGEN_INSN_VIRTUAL_P): CGEN_INSN_ATTR renamed to
(CGEN_STATE): Delete member opcode_table.
(sim_disassemble_insn): Delete decl.
* cgen-engine.h (struct insn_sem): Moved to here from <cpu>-decode.c.
(struct idesc): Moved to here from <cpu>-decode.h.
* cgen-run.c (prime_cpu): Call prepare_run callback.
* cgen-trace.h (SFILE): New type.
(sim_disasm_sprintf): Declare.
(sim_disasm_read_memory,sim_disasm_perror_memory): Declare.
(sim_cgen_disassemble_insn): Declare.
* cgen-trace.c: Include errno.h,dis-asm.h. Don't include cpu-opc.h.
(insn_fields): Delete.
(trace_insn_fini): STATE_OPCODE_TABLE (sd) replaced with
(trace_insn): Call CPU_DISASSEMBLER hook.
(sim_disasm_sprintf): New function.
(sim_disasm_read_memory): New function.
(sim_disasm_perror_memory): New function.
(sim_cgen_disassemble_insn): New function.
* cgen-utils.c: Don't include cpu-opc.h.
(virtual_insn_entries): New static local.
(cgen_virtual_insn_table): Renamed from cgen_virtual_opcode_table.
(cgen_insn_name): Rewrite.
(disasm_sprintf,sim_disassemble_insn): Moved to cgen-trace.c.
* (desc): New file generator handler.
* -parallel changed to -parallel-read/-parallel-write.
Don't include cpu-opc.h,cpu-sim.h.
* sim-model.c (model_set): Delete SIM_DESC arg.
(sim_model_set): Update.
* sim-model.h (MACH): New member prepare_run.
1999-01-28 Frank Ch. Eigler <>
* sim-memopt.c (memory_option_handler): Avoid memset() calls
if redundant with allocator functions.
Wed Jan 27 17:19:09 1999 Doug Evans <>
* cgen-engine.h (EXTRACT_LSB0_{INT,UINT}): Fix.
* sim-profile.h: Make like sim-trace.h.
* sim-profile.c (profile_options): Make like trace_options, allow
optional on|off arg where applicable.
(set_profile_option_mask): New function.
(sim_profile_set_option): New function.
(profile_option_handler): Simplify.
Have -p only enable selected things, not everything.
Add missing break to OPTION_PROFILE_PC_RANGE.
* cgen-scache.c (scache_options): Allow optional on|off arg to
(scache_option_handler): Use sim_profile_set_option.
1999-01-26 Frank Ch. Eigler <>
* sim-memopt.c (memory_options): Add MEMORY_FILL option.
(memory_option_handler): Implement MEMORY_FILL option. Make
(parse_ulong_value): New function.
(do_memopt_add): Allocate all buffers. Optionally fill them.
1999-01-15 Richard Henderson <>
* hw-events.c (hw_event_queue_schedule): _vtracef takes a
va_list, not an integer.
* sim-events.c (sim_events_schedule): Likewise.
* sim-types.h (UNSIGNED32, UNSIGNED64): Properly cast to
the appropriate type.
1999-01-14 Doug Evans <>
* cgen-defs.h (PCADDR,CIA): Define in terms of IADDR.
(sim_disassemble_insn): Update prototype.
(sim_engine_invalid_insn): Ditto.
* cgen-engine.h (SEMANTIC_FN): Add !WITH_SCACHE version.
(SEM_NBRANCH_FINI): New macro for !WITH_SCACHE case.
* cgen-scache.c (scache_lookup,scache_lookup_or_alloc): PCADDR->IADDR.
* cgen-scache.h (*): Ditto.
* cgen-trace.c (*): Ditto.
* cgen-trace.h (*): Ditto.
* cgen-utils.c (*): Ditto.
* cgen-types.h (integer modes): Use signedNN/unsignedNN types.
(insn_t): Delete.
* (@cpu@_fill_argbuf): Add !WITH_SCACHE support.
(simple engine framework): Rewrite.
* sim-module.c (modules): Install model module sooner (and in
particular before the profile module).
1999-01-12 Doug Evans <>
* sim-model.h (sim_mach_lookup_bfd_name): Add prototype.
* sim-model.c (sim_mach_lookup_bfd_name): New function.
(sim_model_init): Call it.
* cgen-trace.c (trace_insn): Pass pc to trace_prefix for virtual insns.
1999-01-05 Doug Evans <>
* (CGEN_INCLUDE_DEPS): Add cgen-defs.h, cgen-engine.h.
* cgen-engine.h (SEM_BRANCH_FINI): New arg pcvar, all uses updated.
(SEM_BRANCH_INIT): Add taken_p.
(TARGET_SEM_BRANCH_FINI): Provide default definition.
(SEM_INSN): Update.
* cgen-run.c (sim_resume): Handle tracing of last insn.
* cgen-scache.h (WITH_SCACHE): Define as 0 if not defined.
* cgen-trace.c (current_abuf): New static global.
(trace_insn_init): Initialize it.
(trace_insn_fini): Use it.
(trace_insn): Set it.
* (arch case): Pass -m ${mach} to cgen.
* (@cpu@_emit_before): Only define if WITH_SCACHE_PBB.
(@cpu@_emit_after): Ditto.
(simple @cpu@_engine_run_full): New local `pc'. Initialize semantic
* sim-model.c: Include bfd.h.
(sim_model_init): New function.
(sim_model_install): Record init fn.
* sim-model.h (MACH): New member bfd_name.
* sim-module.c (modules): Initialize model before scache.
1998-12-24 Frank Ch. Eigler <>
* dv-sockser.c (DEFAULT_TIMEOUT): Increase to 1 ms.
* nrun.c (main): Remain in simulation loop for traps and
exceptions when in operating environment mode.
(ui_loop_hook): New stub hook for standalone use.
* sim-events.c (sim_events_process): Call ui_loop_hook
periodically on CYGWIN host.
* sim-reason.c (sim_stop_reason): Return host signal numbers
to gdb on sim_stopped and sim_signalled cases.
* sim-engine.c (sim_engine_halt): Call SIM_CPU_EXCEPTION_SUSPEND
hook just before longjmp.
* sim-resume.c (sim_resume): Call SIM_CPU_EXCEPTION_RESUME
hook just before sim_engine_run.
* sim-n-core.h (sim_core_trace_M): Allay const warning.
* sim-trace.h (trace_generic): Ditto.
* sim-trace.c (trace_generic): Ditto.
1998-12-14 Doug Evans <>
* (SIM_MAIN_DEPS): New var.
* aclocal.m4: Add --enable-cgen-maint option.
* cgen-mem.h (GETMEM*): New arg `pc'. Pass to sim_core routine.
(SETMEM*): Ditto.
(GETIMEM*): Pass pc value to sim_core routine.
Fri Dec 11 16:58:36 1998 Andrew Cagney <>
* hw-handles.c (hw_handle_add_ihandle, hw_handle_add_phandle):
Compare with ZERO not NULL.
Thu Dec 10 14:14:39 1998 Andrew Cagney <>
* hw-properties.c, hw-instances.c, hw-tree.c: Include
1998-12-09 Doug Evans <>
* sim-arange.c: Include libiberty.h, and stdlib.h if present.
* sim-trace.c: Include stdlib.h if present.
* dv-sockser.c: Include unistd.h if present.
(dv_sockser_init): Add missing arg to call to sim_io_eprintf.
* cgen-scache.c (scache_flush): Delete unused locals i,sc.
1998-12-08 James E Wilson <>
* Add i960.
* nltvals.def: Rebuild.
1998-12-04 Doug Evans <>
* cgen-defs.h: New file, old cgen-sim.h.
* cgen-sim.h: Simple header that includes others.
* sim-arange.c: New file.
* sim-arange.h: New file.
* sim-basics.h: Include it.
* (SIM_NEW_COMMON_OBJS): Add sim-arange.o.
(sim-arange.o): Add rule for.
* sim-cpu.h (sim_cpu_msg_prefix): Add prototype.
(sim_io_eprintf_cpu): Add prototype.
* sim-inline.h (HAVE_INLINE): Define if GNUC.
(INLINE2): New macro.
(EXTERN_INLINE): New macro.
* sim-module.c (sim_post_argv_init): Initialize cpu backlink
before calling module init fns.
* sim-profile.c (OPTION_PROFILE_*): Move into enum.
(profile_init): New function.
(profile_options): New option --profile-range.
(profile_option_handler): Handle --profile-range.
(profile_print_insn): Qualify address range specific section titles.
(profile_print_addr_ranges): New function.
(profile_info): Print address ranges if specified.
(profile_install): Set profile_init init fn.
* sim-profile.h (PROFILE_DATA): New member `range'.
* sim-trace.c (trace_init): New function.
(trace_options): New option --trace-range.
(trace_option_handler): Handle --trace-range.
(trace_install): Set trace_init init fn.
* sim-trace.h (TRACE_DATA): New member `range'.
* sim-utils.c (sim_cpu_msg_prefix): New function.
(sim_io_eprintf_cpu): New function.
* cgen-engine.h (PC_IN_TRACE_RANGE_P): New macro.
* cgen-trace.c (trace_insn_init): Set current_insn to NULL.
(trace_insn_fini): New arg abuf. All callers updated.
Exit early if trace_insn not called. Check ARGBUF_PROFILE_P before
printing cycle counts.
* cgen-trace.h (trace_insn_fini): Update prototype.
(TRACE_RESULT_P): New macro.
(TRACE_INSN_INIT,TRACE_INSN_FINI): New arg abuf. All callers updated.
(TRACE_EXTRACT,TRACE_RESULT): New arg abuf. All callers updated.
* cgen-types.h (SIM_INLINE): Delete.
* cgen-utils.c: Don't include cgen-engine.h
* (@cpu@_fill_argbuf): New function.
(@cpu@_fill_argbuf_tp): New function.
(@cpu@_emit_before,@cpu@_emit_after): New functions.
(@cpu@_pbb_begin): Prefix cti_sc,insn_count with '_'.
(@cpu@_pbb_before): Check ARGBUF_PROFILE_P before calling
doing profiling. Update call to TRACE_INSN_INIT,TRACE_INSN_FINI.
(@cpu@_pbb_after): Check ARGBUF_PROFILE_P before calling
doing profiling. Update call to TRACE_INSN_FINI.
* sim-memopt.c (sim_memory_uninstall): Result type is `void'.
1998-12-03 Frank Ch. Eigler <>
* sim-memopt.c (sim_memory_uninstall): Deallocate all memory
1998-12-01 Doug Evans <>
* sim-inline.c (SIM_INLINE_P): Fix typo.
1998-11-30 Doug Evans <>
* cgen-utils.c (cgen_virtual_opcode_table): Update.
Tue Nov 24 18:40:03 1998 Andrew Cagney <>
* Add v850 and d10v. Sort alphabetically.
* nltvals.def: Re-generate.
Mon Nov 23 13:28:38 1998 Andrew Cagney <>
* sim-core.c (reverse_n, sim_core_uninstall, sim_core_init,
sim_core_map_attach, sim_core_map_detach, next_event_queue,
new_sim_core_mapping): Only define when EXTERN_SIM_CORE_P, pacify
* sim-events.c (sim_events_uninstall, sim_events_suspend,
sim_events_resume, sim_events_zalloc, insert_sim_event): Ditto.
1998-11-22 Doug Evans <>
* (${cpu}_pbb_chain): Watch for Ctrl-C's.
(${cpu}_pbb_cti_chain): Ditto.
1998-11-18 Doug Evans <>
* (cgen-utils.o): Depend on cgen-engine.h.
* cgen-engine.h (EXTRACT_[ML]SB0_{INT,UINT}): New macros.
(SEM_SEM_ARG): New macro.
(SEM_NEXT_VPC): New arg `pc'.
(sim_disassemble_insn): Update prototype.
* cgen-trace.c (current_insn,insn_fields): New static locals.
(trace_insn): Set them.
* cgen-utils.c: #include cgen-engine.h.
(sim_disassemble_insn): New arg insn_fields.
Handle variable length insns.
* Only emit pbb decls if -pbb.
(${cpu}_scache_lookup): New arg `vpc'.
(scache support): Fetch pc before entering loop.
* Add fr30 support.
* nltvals.def: Rebuild.
Wed Nov 18 10:22:22 1998 Andrew Cagney <>
* sim-types.h: Re-do type system so that GCC's attribute and mode
are used to specify types. Handle case of ALPHA.
1998-11-13 Frank Ch. Eigler <>
* aclocal.m4: Add tests for dlopen family.
* Regenerated.
Wed Nov 11 14:02:25 1998 Doug Evans <>
* sim-hload.c (sim_load): Pass `prog_name' to sim_load_file, not NULL.
Wed Nov 4 23:51:19 1998 Doug Evans <>
* (eng.hin): Rename HAVE_PARALLEL_EXEC to
HAVE_PARALLEL_INSNS, define as 0 or 1. Emit decls of fns in mloop.cin.
* cgen-engine.h: Typedefs of IADDR,CIA,SEM_ARG,SEM_PC moved ...
* cgen-sim.h: ... to here.
Wed Oct 28 12:00:57 1998 Andrew Cagney <>
* aclocal.m4 (enable-build-warnings): Replace
enable-sim-warnings. Extend =LIST syntax so that prepend and
append of options is possible. Drop -Werror, add
-Wstrict-prototypes for GDB compatibility.
* (SIM_WARNINGS): Update.
Mon Oct 19 13:56:32 1998 Doug Evans <>
(sim-core.o): Delete duplicate dependence on $(SIM_EXTRA_DEPS).
(sim-cpu.o,sim-endian.o,sim-hw.o): Ditto.
(cgen-run.o,cgen-scache.o,cgen-trace.o,cgen-utils.o): Delete
explicit cgen header dependencies, require SIM_EXTRA_DEPS to include
* cgen-cpu.h: New file.
* cgen-engine.h: New file.
* cgen-scache.h: New file.
* cgen-sim.h: Delete portions moved to new files.
* Generate two files eng.hin,mloop.cin explicitly,
rather than sending result to stdout.
Fri Oct 9 14:20:22 1998 Doug Evans <>
* (sim-reg.o): New rule.
(cgen-run.o): New rule.
* cgen-ops.h: Delete many BI macros. Change all UBI -> BI.
* cgen-run.c (prime_cpu): New function.
* cgen-scache.c: Add pseudo-basic-block (pbb) scaching support.
(scache_option_handler, case OPTION_PROFILE_SCACHE): Handle explicitly
mentioned cpu.
(scache_flush_cpu,scache_lookup,scache_lookup_or_alloc): New fns.
* cgen-sim.h (CGEN_INSN_VIRTUAL_TYPE): New enum.
(SEM_PC): New typedef.
(SEMANTIC_FN): Change type of result to SEM_PC.
(SCACHE_MAP): New typedef.
(CPU_SCACHE): Add pbb support.
(scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare.
(CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn,
(INSN_NAME): Delete.
(cgen_insn_name): Declare.
(sim_engine_invalid_insn): Renamed from sim_engine_illegal_insn.
* cgen-trace.c (trace_buf): Shrink from 1024 to 256 bytes.
(first_insn_p): Make static.
(trace_insn): Handle virtual insns specially.
(cgen_trace_printf): Ensure we haven't overflowed the buffer.
* cgen-types.h (UBI): Delete.
(MODE_TYPE): New enum.
* cgen-utils.c (mode_names): Delete UBI. Add INT,UINT,PTR.
(cgen_virtual_opcode_table): New global.
(cgen_insn_name): New function.
(sim_disassemble_insn): Ignore virtual insns.
* Delete top level loop generation. Add pbb support.
* sim-cpu.h (CPU_INSN_NAME_FN): New typedef.
(sim_cpu_base): New members max_insns,insn_name,model_data.
(CPU_PC_GET,CPU_PC_SET): New macros.
(sim_pc_get,sim_pc_set): Declare.
* sim-model.c (model_set): Call model init fn.
* sim-model.h (MODEL_FN): New typedef.
(INSN_TIMING): New member model_fn.
(MODEL): New members num,init.
* sim-profile.c (sim_profile_print_bar): Renamed from print_bar.
All callers updated.
(profile_insn_init): New fn.
(profile_print_insn): Update, INSN_NAME -> CPU_INSN_NAME.
Exit early if insn profiling not supported.
(profile_print_memory): Update, MAX_MODES -> MODE_TARGET_MAX.
(profile_install): Record profile_insn_init as init fn.
(profile_uninstall): Free PROFILE_INSN_COUNT if non-null.
* sim-profile.h: Update, MAX_MODES -> MODE_TARGET_MAX.
(PROFILE_DATA): Delete member exec_time.
Change insn_count to pointer to array, rather than the array.
(sim_profile_print_bar): Declare.
Wed Oct 7 16:56:42 1998 Doug Evans <>
* cgen-run.c: New file.
* sim-reg.c: New file.
Mon Sep 14 10:58:19 1998 Frank Ch. Eigler <>
* aclocal.m4: Add checks for -lsocket and -lnsl.
* dv-sockser.c (dv_sockser_init): Use SO_REUSEADDR to
allow local port reuse on listening socket.
Tue Sep 1 15:36:52 1998 Frank Ch. Eigler <>
* sim-config.h: Remove reference to linux kernel header.
Tue Aug 25 12:45:27 1998 Frank Ch. Eigler <>
* dv-sockser.c (sockser_addr): Make variable non-static.
Mon Aug 24 11:47:37 1998 Joyce Janczyn <>
* sim-hw.{c,h} (sim_hw_parse): Return struct hw pointer.
Tue Aug 11 18:12:19 1998 Doug Evans <>
* sim-events.c (sim_events_elapsed_time): Fix calculation.
Tue Aug 4 20:36:46 1998 Jeff Holcomb <>
* (install-common): Add $(EXEEXT) when installing
Mon Aug 3 11:46:01 1998 Doug Evans <>
* cgen-sim.h (cgen_state): New member opcode_table.
* cgen-utils.c (sim_disassemble_insn): Use it.
Fri Jul 24 10:14:18 1998 Doug Evans <>
* cgen-mem.h (DECLARE_SETT): Fix return type.
* cgen-sim.h (sim_engine_illegal_insn): Declare.
* cgen-scache.c: Include stdlib.h.
* cgen-trace.c (trace_extract): Use %lx for PCADDR.
* sim-model.c (model_option_handler): Remove unused variable `n'.
Tue Jul 21 16:27:43 1998 Doug Evans <>
* cgen-utils.c: Include bfd.h.
(sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.
Wed Jul 8 18:24:10 1998 Jeffrey A Law (
* sim-bits.h (EXTEND24): Fix typo.
Wed Jul 8 17:41:47 1998 Andrew Cagney <>
* sim-events.c (ETRACE_P): New macro.
(struct _sim_event): Add member trace.
(sim_events_free): Reclaim trace message.
* sim-events.c, sim-events.h (sim_events_schedule_vtracef,
sim_events_schedule_tracef): New functions, include printf trace
information in argument list. If tracing, store asprintf'd trace
message in sim_event.
* hw-events.c, hw-events.h (hw_event_queue_schedule_tracef,
hw_event_queue_schedule_vtracef): New functions, mimic
Mon Jul 6 15:51:14 1998 Jeffrey A Law (
* sim-bits.h (EXTEND24): Define.
Thu Jul 2 17:13:25 1998 Doug Evans <>
* cgen-sim.h (CPU_SCACHE): Make size unsigned.
(SCACHE_HASH_PC): Rewrite.
* (engine_resume_{full,fast}): Move some of hash
computation out of main loop.
Wed Jul 1 16:44:12 1998 Doug Evans <>
* cgen-sim.h (RECORD_IADDR): Delete.
* cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types.
* (engine_resume_{full,fast}): Delete icount.
Wed Jun 17 12:25:08 1998 Mark Alexander <>
* gennltvals.def (mn10200): Add entry.
* nltvals.def: Regenerate with MN10200 additions.
Wed Jun 17 13:18:28 1998 Andrew Cagney <>
* sim-inline.h (EXTERN_*): Replace with EXTERN_*_P. Correct
documentation on how it works.
* sim-core.h, sim-core.c (sim_core_install, sim_core_attach,
sim_core_detach, sim_core_read_buffer, sim_core_write_buffer,
sim_core_set_xor, sim_core_xor_read_buffer,
sim_core_xor_write_buffer): Update.
* sim-events.h, sim-events.c (sim_events_install,
sim_events_watch_clock, sim_events_schedule_after_signal,
sim_events_schedule, sim_events_watch_sim, sim_events_watch_core,
sim_events_deschedule): Update.
* sim-fpu.h, sim-fpu.c (sim_fpu_zero, sim_fpu_one, sim_fpu_two,
sim_fpu_max32, sim_fpu_max64): Update.
Sat Jun 13 07:45:38 1998 Doug Evans <>
* cgen-trace.c (trace_insn_fini): Redo cycle handling.
* sim-profile.h (PROFILE_DATA): Rename cycle handling members.
* sim-profile.c (profile_print_model): Update.
Fri Jun 12 18:35:07 1998 Doug Evans <>
* gennltvals.def (m32r): Use common syscall.h now.
(mn10300): Add entry.
* nltvals.def: Regenerate.
* sim-engine.c (sim_engine_get_run_state): New function.
* sim-engine.h (sim_engine_get_run_state): Declare it.
Thu Jun 11 00:50:03 1998 Doug Evans <>
* sim-core.h (SIM_CORE_SIGNAL_FN): New typedef.
* sim-core.c (sim_core_signal): Make extern, always define.
Wed Jun 10 16:02:29 1998 Doug Evans <>
* (CGEN_FLAGS_TO_PASS): New variable.
* cgen-ops.h (ANDIF): New macro.
(ANDIF[BQHSD]I): Delete.
Thu Jun 4 13:53:54 1998 Andrew Cagney <>
* hw-events.c (create_hw_event, delete_hw_event): Delete.
(hw_event_queue_schedule, hw_event_queue_deschedule,
bounce_hw_event): Fix hw-event memory corruptions found by Joyce
* hw-alloc.h (HW_NZALLOC): Define.
* (test-hw-events): Add target for testing the
hw-event code.
Mon May 25 21:11:26 1998 Andrew Cagney <>
* (SIM_COMMON_HW_OBJS): Add hw-handles.o and
hw-handles.c, hw-instances.c, hw-handles.h, hw-instances.h: New
* hw-main.h: Include hw-handles.h, hw-instances.h.
* hw-base.h ({create,delete}_hw_{handles,instances}_data): Declare
* hw-base.c (hw_create, hw_delete): Call same.
Mon May 25 18:55:35 1998 Andrew Cagney <>
* dv-core.c: Include hw-main.h and sim-main.h.
* dv-pal.c: Include hw-main.h and sim-io.h.
* dv-glue.c: Include hw-main.h.
* hw-main.h: New file. Move list of includes to here.
* hw-base.h: From here.
* (hw_base_headers): Rename to hw_main_headers.
(hw-*.o, dv-*.o): Update.
* hw-tree.c, hw-base.c, hw-properties.c, hw-ports.c, hw-device.c,
hw-events.c, hw-alloc.c, sim-hw.c: Include hw-main.h instead of
* hw-base.h (do_hw_attach_regs, do_hw_poll_read_method,
do_hw_poll_read): Move declarations from here.
* hw-main.h: To here.
* hw-base.h (struct hw_device_descriptor, hw_finish_callback):
Move from here.
* hw-main.h (struct hw_descriptor, hw_finish_method): To here,
* (hw-config.h): Update
* hw-base.c, dv-pal.c, dv-glue.c: Update
* dv-glue.c, hw-device.h, hw-base.h, hw-ports.c: Rename
`*_callback' to `*_method.
Mon May 25 18:41:18 1998 Andrew Cagney <>
* hw-base.h (set_*): Move set method macros from here.
* hw-device.h: To here.
Mon May 25 18:21:38 1998 Andrew Cagney <>
* hw-base.h (create_hw_property_data, delete_hw_property_data):
* hw-base.c (hw_create, hw_delete): Call
* hw-properties.c (create_hw_property_data,
delete_hw_property_data): Define.
Mon May 25 17:40:46 1998 Andrew Cagney <>
* hw-device.c, hw-properties.c: Include hw-base.h
* hw-alloc.h, hw-alloc.c: New files. Move alloc code to here.
* hw-device.c: From here.
* hw-base.h: Include "hw-events.h".
* hw-base.h (create_hw_alloc_data, delete_hw_alloc_data): Declare.
* hw-base.c (hw_create, hw_delete): Call.
* hw-alloc.c (create_hw_alloc_data, delete_hw_alloc_data): Define.
* (SIM_NEW_COMMON_OBJS): Add hw-alloc.o.
(hw-alloc.o): New target.
Mon May 25 17:14:27 1998 Andrew Cagney <>
* hw-events.h, hw-events.c: New files. Move event code to here.
* sim-hw.c: From here.
* hw-base.h: Include "hw-events.h".
* (SIM_NEW_COMMON_OBJS): Add hw-events.o.
(hw-events.o): New target.
* hw-device.h (struct hw): Add struct hw_event_data events_of_hw.
* hw-events.h (struct hw_event): Replace typedef hw_event.
* hw-base.h (create_hw_event_data, delete_hw_event_data): Declare.
* hw-base.c (hw_create, hw_delete): Call.
* hw-events.c (create_hw_event_data, delete_hw_event_data): Define.
* dv-pal.c: Update.
Mon May 25 16:55:16 1998 Andrew Cagney <>
* hw-base.c (panic_hw_port_event, empty_hw_ports): Move from here.
* hw-ports.c: To here.
* hw-base.h, hw-ports.c (create_hw_port_data,
delete_hw_port_data): New functions.
* hw-base.c (hw_delete, hw_create): Call same.
* hw-base.h (set_hw_ports, set_hw_port_event): Move set functions
from here.
* hw-ports.h: To here.
Mon May 25 16:42:48 1998 Andrew Cagney <>
* hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
PROCESSOR and CIA arguments.
Fri May 22 12:16:27 1998 Andrew Cagney <>
* aclocal.m4 (SIM_AC_OPTION_HW): Add enable / disable argument.
Move common object files from here.
* (SIM_COMMON_HW_OBJS): To here.
Thu May 21 17:57:16 1998 Andrew Cagney <>
* sim-hw.c: Include ctype.h.
(do_hw_poll_read): Do not assume EAGAIN.
Wed May 20 04:37:57 1998 Doug Evans <>
* cgen-trace.c (first_insn_p): New static local.
(trace_insn_init): Set it.
(trace_insn_fini): Use TRACE_PREFIX.
(trace_insn): Rewrite to use trace_prefix.
* sim-trace.c (trace_prefix): Don't print filename arg if NULL.
Adjust width accordingly.
* sim-profile.h (PROFILE_DATA): New member profile_any_p.
* sim-profile.c (profile_option_handler): Compute profile_any_p.
Tue May 19 23:55:30 1998 Doug Evans <>
* cgen-ops.h (ADDCFSI): Fix typo.
Sat May 16 12:44:52 1998 Doug Evans <>
* cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
* Use them rather than static locals.
* sim-engine.c (sim_engine_set_run_state): New function.
* sim-engine.h (sim_engine_set_run_state): Declare.
* (pending_reason,pending_sigrc): New static locals.
(@cpu@_engine_stop): New args reason,sigrc. All callers updated.
(engine_resume): Reorganize. Allow synchronous exit from main loop.
Fri May 15 16:06:05 1998 Doug Evans <>
* cgen-trace.c (trace_insn_init): New arg first_p.
All callers updated.
(trace_insn_fini): New arg last_p. All callers updated.
* cgen-trace.h (trace_insn_init,trace_insn_fini): Update.
* (engine_resume): Update.
Fri May 15 15:59:00 1998 Joyce Janczyn <>
* (install-common): Run ranlib on installed copy of
Fri May 15 15:03:00 1998 Joyce Janczyn <>
* (install-common): Rename and install libsim.a.
Tue May 12 15:23:57 1998 Andrew Cagney <>
* sim-io.c (unistd.h): Include.
Wed May 6 16:04:18 1998 Doug Evans <>
* Make-common (sim_main_headers): Sort.
(cgen-*.o): Add cgen-sim.h dependency.
* cgen-scache.c (scache_init): Only allocate space if scache element
size is non-zero.
(scache_flush,scache_print_profile): Check if scache in use first.
* cgen-sim.h (IDESC): Provide forward declaration.
(DECODE): Delete.
(CGEN_CPU): Always define scache member. New members idesc,opcode.
(cgen_cpu_max_extra_bytes): Declare.
* cgen-utils.c (cgen_cpu_max_extra_bytes): New function.
* sim-cpu.h: New file. sim_cpu_base moved here.
Move sim_cpu_lookup decl here.
* sim-base.h: #include "sim-cpu.h".
* sim-cpu.c: New file.
* Make-common (sim_main_headers): Add sim-cpu.h.
(sim-cpu.o): Add rule for.
* sim-model.c (set_model): Delete.
(sim_model_set,model_set): New functions.
(sim_model_install): Renamed from model_install.
Don't set default model here.
(model_option_handler): Rewrite --model processing.
(sim_model_lookup,sim_mach_lookup): New functions.
* sim-model.h (MAX_MODELS,MAX_INSNS): Delete.
(insn_timing): Delete.
(INSN_TIMING): New member `num'.
(IMP_PROPERTIES): Always define scache_elm_size member.
(MACH): New member init_cpu.
(sim_machs): Renamed from machs.
(sim_model_install): Renamed from model_install.
(sim_model_set,sim_model_lookup,sim_mach_lookup): Declare.
* sim-module.c (modules): Update.
* sim-profile.c (profile_print_insn): Add cpu arg to INSN_NAME macro.
* sim-io.c: #include <errno.h>.
Wed May 6 12:39:15 1998 Andrew Cagney <>
* dv-pal.c (struct hw_pal_device): Add reader.
(hw_pal_finish): Initialize reader.
(scan_hw_pal): Use reader.
* hw-base.h, sim-hw.c (do_hw_poll_read): New function.
* dv-pal.c: Use.
* sim-io.h, sim-io.c (sim_io_poll_read): New function. Copy from
../ppc/main.c sim_io_read_stdin.
Fri May 1 12:11:02 1998 Andrew Cagney <>
* hw-tree.h (hw_tree_print): Paramaterize with print and file
* hw-tree.c: Update.
* hw-base.h (hw_port_event_callback): Delete CPU/CIA args.
* hw-device.h (hw_io_read_buffer, hw_io_write_buffer): Delete
CPU/CIA args.
* hw-ports.h (hw_port_event): Ditto.
* hw-ports.c (hw_port_event): Update.
* hw-base.c (panic_hw_io_read_buffer, panic_hw_io_write_buffer):
* dv-pal.c (hw_pal_io_read_buffer, hw_pal_io_write_buffer):
(hw_pal_io_write_buffer): Call hw_halt not sim_engine_halt.
(do_counter_event): Update.
* dv-glue.c (hw_glue_io_read_buffer): Update.
(hw_glue_port_event): Update.
* hw-device.h (SIM_DESC): Replace with struct sim_state.
* hw-base.h (hw_create): Ditto.
* hw-base.c (hw_create): Ditto.
* hw-device.c (hw_abort, hw_trace, hw_hw_event_queue_schedule,
hw_event_queue_deschedule, hw_event_queue_time): Delete, moved
from here to.
* sim-hw.c: Here.
* hw-device.h (hw_system_cpu): Declare.
* sim-hw.c (hw_system_cpu): New function.
* sim-core.c (sim_core_map_attach, sim_core_attach): Call
sim_hw_abort not hw_abort.
(sim-hw.h): Include.
(sim_core_read_buffer, sim_core_write_buffer): Call
sim_hw_io_read_buffer and sim_hw_io_write_buffer. Do not pass CPU
(sim_core_set_xor): Do not pass CPU when aborting.
* sim-n-core.h (sim_core_read_aligned_N,
sim_core_write_aligned_N): Call sim_hw_abort not hw_abort.
(sim_core_read_aligned_N, sim_core_write_aligned_N): Call
sim_cpu_hw_io_read_buffer and sim_cpu_hw_io_write_buffer. Does not
return length.
* sim-hw.h: Declare sim_hw_io_{read,write}_buffer. Declare
* sim-hw.c (sim_hw_io_read_buffer, sim_hw_io_write_buffer,
sim_cpu_hw_io_read_buffer, sim_cpu_hw_io_write_buffer): New
(sim_hw_print): New function.
* sim-engine.h (sim_engine_vabort): Declare.
* sim-engine.c (sim_engine_vabort): New function.
Wed Apr 29 23:58:52 1998 Andrew Cagney <>
* sim-trace.c (print_data): For floating-point numbers trace raw
hex value.
(trace_result_fp2): New function.
* sim-trace.h (trace_result_fp2): New declaration.
(TRACE_FP_RESULT2): New macro.
Tue Apr 28 18:28:58 1998 Geoffrey Noer <>
* common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
* common/ set EXEEXT, add missing EXEEXTs
to run and install-common rules.
* common/configure: regenerate
Sat Apr 25 17:45:01 1998 Andrew Cagney <>
* sim-types.h (cell_word): New type.
(natural_cell): Delete type.
Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* Ditto.
Sun Apr 26 15:25:07 1998 Tom Tromey <>
* acconfig.h (NEED_DECLARATION_PRINTF): Removed.
Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* Ditto.
Fri Apr 24 11:38:08 1998 Tom Tromey <>
* acconfig.h: New file.
* (top_builddir): New macro.
(INTL_LIB): Removed.
(INTLLIBS): New macro.
(INTLDEPS): Likewise.
* aclocal.m4 (SIM_AC_COMMON): Call CY_GNU_GETTEXT.
AM_LC_MESSAGES): New macros from GNU gettext.
Fri Apr 24 19:57:59 1998 Andrew Cagney <>
* sim-config.h: Discard leading _ from macros.
* sim-types.h: Ditto.
Wed Apr 22 14:14:19 1998 Michael Meissner <>
* (CSEARCH): Add -I to intl directories.
(INTL_LIB): Point to libintl.a.
(EXTRA_LIBS): Ditto.
Tue Apr 21 12:44:27 1998 Doug Evans <>
* cgen-types.h (GETHIDI,MAKEDI): Tweak.
* cgen-ops.h (ADDCFSI): Fix.
(SUBCFSI): Tweak.
Tue Apr 21 13:18:41 1998 Andrew Cagney <>
* sim-types.h (signed_address, unsigned_address): Define.
Mon Apr 20 21:47:54 1998 Andrew Cagney <>
* sim-fpu.c (sim_fpu_2d): Don't return an SNaN, convert it into a
Thu Apr 16 10:30:14 1998 Andrew Cagney <>
* sim-fpu.c, sim-fpu.h (sim_fpu_fractionto, sim_fpu_tofraction):
New functions, pack / unpack sim_fpu struct using raw values.
(sim_fpu_is): Differentiate between negative and positive
Tue Apr 14 18:49:31 1998 Andrew Cagney <>
* sim-bits.h (EXTEND4): Define.
Tue Apr 14 16:31:35 1998 John Metzler <>
* sim-memopt.c (parse_addr): Sunos 4.5 does not have strtol
declared so we need this cast to prevent long long addresses
from being misconfigures. Results in access to unmapped memory.
Tue Apr 14 13:19:14 1998 Doug Evans <>
(check): Pass RUNTESTFLAGS to recursive make.
Tue Apr 14 15:09:19 1998 Andrew Cagney <>
* sim-info.c (sim_info): Be verbose when either VERBOSE or
Sat Apr 4 23:24:17 1998 Andrew Cagney <>
* aclocal.m4 (sim-inline): By default, disable sim-inline when
cross compiling.
Sat Apr 4 20:36:25 1998 Andrew Cagney <>
* aclocal.m4 (sim-cflags): Add -fomit-frame-pointer to defaults.
(sim-inline): Update to match sim-inline.[hc]
* configure: Regenerated to track ../common/aclocal.m4 changes.
* (sim_main_headers): Add sim-inline.h
* sim-bits.h (sim-bits.c): Include when H_REVEALS_MODULE_P.
* sim-endian.h (sim-endian.c): Ditto.
* sim-events.h (_SIM_EVENTS_H_): Replace with SIM_EVENTS_H.
(sim_events_set_trace): Delete unused prototype.
* sim-core.h (_SIM_CORE_H_): Replace with SIM_CORE_H.
* sim-core.c (_SIM_CORE_C_): Ditto for SIM_CORE_C.
* sim-fpu.h (sim-fpu.c): Include when H_REVEALS_MODULE_P.
(sim_fpu_to232i, sim_fpu_to232u, sim_fpu_i232to, sim_fpu_u232to):
Comment out, not yet implemented in sim-fpu.c.
(sim_fpu_zero, sim_fpu_one, sim_fpu_two, sim_fpu_qnan,
sim_fpu_max32, sim_fpu_max64): Mark as EXTERN_SIM_FPU.
* sim-inline.h: Rewrite description.
(SIM_MAIN_INLINE): Add inline option.
* sim-inline.c (semantics.c, idecode.c, engine.c, ...): Do not
include generated files. Handled by generator directly.
Sat Apr 4 01:07:06 1998 Andrew Cagney <>
* sim-trace.c (set_trace_option_mask): Keep TRACE_ANY_P
* sim-trace.h (TRACE_ANY_P): Define.
(struct _trace_data): Add trace_any_p.
Mon Mar 30 17:11:55 1998 Andrew Cagney <>
* run.c (main): Handle all alternatives of enum sim_stop.
(main): Delete unused `asection *s'.
Fri Mar 27 16:15:52 1998 Andrew Cagney <>
* hw-tree.h, hw-tree.c (hw_tree_vparse): New function
* configure: Regenerated to track ../common/aclocal.m4 changes.
* sim-hw.c: New file.
* sim-hw.h (sim_hw_parse): Declare function.
(hw-tree.h): Do not include.
* sim-base.h (STATE_HW): Define.
(struct sim_state_base): Add member struct *hw.
* sim-module.c (sim-hw.h): Include.
(modules): Add sim_hw_install.
* aclocal.m4 (sim_hw_obj): Add sim-hw.o
Fri Mar 27 14:55:06 1998 Andrew Cagney <>
* sim-base.h (CPU_INDEX): Define.
* sim-utils.c (sim_state_alloc): Initialize.
* sim-module.c (sim_post_argv_init): Ditto.
Thu Mar 26 10:07:57 1998 Stu Grossman <>
* aclocal.m4 (sim_hw_obj): Fix sed expression to generate
properly formatted lists.
Thu Mar 26 10:37:22 1998 Andrew Cagney <>
* dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
0x2f needs to be 0x3f.
Thu Mar 26 09:10:56 1998 Andrew Cagney <>
* hw-tree.c (hw_tree_find_property): Return NULL when device is
not found.
(hw_tree_find_*_property): Clean up error message when property is
not found.
* dv-pal.c (hw_pal_io_read_buffer): Check the smp property is
present before looking for it.
Wed Mar 25 16:17:38 1998 Ian Carmichael <>
* aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.
(AC_CHECK_FUNCS): Add check for __setfpucw.
* configure: Regenerated.
Wed Mar 25 09:18:34 1998 Andrew Cagney <>
* dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
hw_pal_timer, hw_pal_timer_value): Define.
(hw_pal_io_read_buffer, hw_pal_io_write_buffer): Add timer support
(do_counter_event, do_counter_read, do_counter_value,
do_counter_write): new functions.
Tue Mar 24 12:24:24 1998 Andrew Cagney <>
* hw-tree.c (hw_printf): Send tree dump to stderr, same as other
trace output.
* hw-base.c (hw_create): Stop searching for a device when one is
Wed Mar 25 12:35:29 1998 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Mar 23 10:25:08 1998 Andrew Cagney <>
* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Add second argument,
appends extra devices.
(SIM_AC_OPTION_HARDWARE): Substute sim_hw, a non-duplicate list of
the device names.
* (hw-config.h): New target, create hw-config.h
(SIM_HW): Definition from @sim_hw@.
(hw-base.o): Depend on hw-config.h
Tue Mar 24 17:41:35 1998 Stu Grossman <>
* Get SHELL from configure.
* (stamp-tvals sim-inline.c): Use $(SHELL) when invoking
move-if-change. Fixes NT native build problem.
* (nltvals.def): Use $(SHELL) when invoking
move-if-change. Fixes NT native build problem.
* configure: Regenerate with autoconf 2.12.1 to fix shell issues for
NT native builds.
Sun Mar 22 16:54:40 1998 Andrew Cagney <>
* hw-device.h, hw-device.c (hw_strdup): New function.
* hw-base.c (hw_create): Use hw_strdup when saving a copy of the
strings name, family and args.
(full_name_of_hw): Use hw_strdup when returning the full path.
* hw-properties.c: Clean up property not found / wrong type error
* hw-tree.c (hw_tree_parse): Finish a devices initialization
before attaching any ports.
* hw-base.c (hw-config.): Include. Replace hardwired table.
* dv-glue.c: Copy over ../ppc/hw_glue.c. Update to new framework.
* Add rule for dv-glue.o.
Sun Mar 22 16:45:54 1998 Andrew Cagney <>
* hw-base.c (hw_finish): Move setting of trace level to here.
(hw_create): From here.
* hw-base.h, hw-base.c (do_hw_attach_regs): Copy function from
* dv-pal.c (hw_pal_finish): Attach PAL device to parent bus.
* hw-tree.c (print_properties): Supress path when printing
properties of root node.
Sun Mar 22 16:21:15 1998 Andrew Cagney <>
* hw-device.h (HW_TRACE): Define.
(hw_trace): Declare.
* hw-device.c (hw_trace): Implement function.
* hw-base.c (hw_create): Set hw trace level from "trace?"
* dv-core.c (dv_core_attach_address_callback): Add trace.
* dv-pal.c: Replace DTRACE with HW_TRACE.
Sun Mar 22 15:23:35 1998 Andrew Cagney <>
* hw-device.h (HW_ZALLOC, HW_MALLOC): New macros.
(hw_alloc_data): Delcare.
(struct hw): Add member alloc_of_hw.
* hw-device.c (hw_zalloc, hw_malloc, hw_free, hw_free_all): New
functions. Assocate memory with a device.
(stdlib.h): Include.
* hw-base.h (set_hw_delete): Define.
(hw_delete_callback): Declare.
(hw_delete): Declare.
* hw-base.c (hw_delete): Implement function.
(struct hw_base_data): Add member to_delete.
(ignore_hw_delete): New function, does nothing.
(hw_create): Set the hw_delete method.
(hw_create): Allocate the base type using HW_ZALLOC before setting
any methods.
* hw-tree.h, hw-tree.c (hw_tree_delete): New function.
* hw-properties.c: Replace zalloc/zfree with hw_zalloc/hw_free.
* hw-ports.c: Replace zalloc/zfree with hw_zalloc/hw_free.
(attach_hw_port_edge): Add struct hw argument
* dv-pal.c (hw_pal_finish): Replace zalloc/zfree with
Sun Mar 22 15:09:52 1998 Andrew Cagney <>
* hw-device.h (hw_attach_address_callback,
hw_detach_address_callback): Attach to a single space not a space
mask. Clarify interpretation of SPACE:ADDR parameters.
* hw-base.c (passthrough_hw_attach_address,
passthrough_hw_detach_address): Update.
* dv-core.c (dv_core_attach_address_callback): Ditto.
* dv-pal.c (hw_pal_attach_address): Ditto.
Thu Mar 19 00:41:00 1998 Andrew Cagney <>
* sim-options.h: Document additional CPU arg to OPTION_HANDLER.
Wed Mar 18 14:13:02 1998 Andrew Cagney <>
(hw-base_h, hw-device_h, hw-handles_h, hw-instances_h, hw_ports_h,
hw-properties_h, hw-tree_h): Define, point at corresponding
(hw_base_headers): Define list of headers included by hw-base.h
(hw-base.o, hw-device.o, hw-instances.o, hw-handles.o, hw-ports.o,
hw-properties.o, hw-tree.o): Specify dependencies.
(dv-core.o, dv-pal.o): Ditto.
* sim-hw.h: New file.
* hw-device.h, hw-device.c, hw-properties.h, hw-properties.c,
hw-ports.h, hw-ports.c: New files. Copied from ../ppc/device.[ch].
* hw-tree.h, hw-tree.c: New files. Copied from ../ppc/tree.[hc].
* hw-base.h, hw-base.c: new files. Copied from
* dv-core.c, dv-pal.c: New files. Copied from
* sim-basics.h (struct hw): Declare.
(enum port_direction, enum object_disposition): Declare.
Wed Mar 18 12:38:12 1998 Andrew Cagney <>
* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
sim_dv_src in Makefile. Take list of devices as parameter to m4
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Mar 16 12:37:33 1998 Andrew Cagney <>
* sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
trace_prefix can abort cleanly.
Sat Mar 14 18:36:12 1998 Doug Evans <>
* dv-sockser.c, dv-sockser.h: New files.
* (dv-sockser.o): Add rule for.
* aclocal.m4: Check for fcntl.h.
* config.h: Add HAVE_FCNTL_H.
* sim-break.c (remove_breakpoint): Fix thinko.
* sim-hload.c (sim_load): Provide default value of SIM_HANDLES_LMA.
Use SIM_HANDLES_LMA for lma_p arg to sim_load_file.
1998-03-13 Fred Fish <>
* sim-base.h (struct sim_state_base): Add prog_syms and
define macro STATE_PROG_SYMS.
* sim-trace.c (trace_prefix): Add variables abfd, symsize,
symbol_count, and asymbols. Call bfd_get_symtab_upper_bound
and bfd_canonicalize_symtab, to get symbol table on first use
and preserve it via STATE_PROG_SYMS for future calls to
Wed Mar 11 14:02:47 1998 Andrew Cagney <>
* sim-core.h, sim-core.c (sim_core_map_to_str): Delete.
* sim-core.c (sim_core_attach): Handle a generic number of maps -
up to nr_maps, not just access_* maps.
* sim-profile.h (struct PROFILE_DATA): Track nr_maps different
* sim-profile.c (profile_print_core): Make map unsigned. Iterate
over nr_maps not sim_core_nr_maps.
* sim-events.h, sim-events.c (sim_events_watch_core): Change
core_map argument to unsigned.
(struct _sim_core): Ditto for struct member core_map.
* sim-core.h (nr_sim_core_maps, sim_core_*_map): Delete
* sim-basics.h (access_io, access_*_io): Define.
(map_read, map_write, map_exec, map_io): Define.
* sim-core.c, sim-core.h (sim_core_attach): Replace argument
attach with more generic mapmask.
(sim_core_{read,write}_*): Change map argument to unsigned.
* sim-core.c (sim_core_uninstall, sim_core_attach,
sim_core_detach): Iterate over nr_maps instead of
* sim-break.c (insert_breakpoint): Write breakpoints to exec_map
instead of the write_map.
(remove_breakpoint): Ditto.
* (engine_resume_full): Replace sim_core_*_map
with read_map, write_map, exec_map resp.
* cgen-utils.c (sim_disassemble_insn): Ditto.
* sim-hrw.c (sim_write, sim_write): Ditto.
* sim-utils.h, sim-utils.c (access_to_str, map_to_str,
transfer_to_str): New functions.
Mon Mar 9 12:50:59 1998 Doug Evans <>
* sim-base.h (sim_state_base): New member environment.
* sim-config.c (current_environment): Delete.
(sim_config_default): New function.
(sim_config): Set STATE_ENVIRONMENT, not current_environment.
* sim-config.h (current_environment,CURRENT_ENVIRONMENT): Delete.
(sim_config_default): Add prototype.
* sim-module.c (sim_pre_argv_init): Call sim_config_default.
* sim-options.c (standard_option_handler, case OPTION_ENVIRONMENT):
Set STATE_ENVIRONMENT, not current_environment.
Mon Mar 9 11:59:03 1998 Jim Wilson <>
* sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.
Tue Mar 3 10:53:05 1998 Andrew Cagney <>
* sim-types.h (SIGNED32, SIGNED64): Pacify GCC.
* sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.
Mon Mar 2 10:20:06 1998 Doug Evans <>
* (TAGS): Make smarter.
* (TAGS): Ditto.
Fri Feb 27 19:09:57 1998 Doug Evans <>
* sim-module.c (*): Fix typos in assertion tests.
Sat Feb 28 13:54:10 1998 Andrew Cagney <>
* sim-module.c (sim_pre_argv_init): String passed to asprintf
can't be constant.
* sim-options.c (sim_parse_args): Ditto.
(sim_args_command): Return OK, instead of nothing, for an empty
Fri Feb 27 13:29:13 1998 Andrew Cagney <>
* sim-profile.c (profile_info): Rename from profile_print. Drop
misc and misc_cpu callback arguments. Use
(profile_install): Install profile_info function.
(struct PROFILE_DATA): Add field info_cpu_callback.
(profile_print): Delete function.
* sim-base.h (STATE_MODULES): Define. Replace individual
STATE_*_LIST with single struct module_list.
* sim-module.h (MODULE_INFO_FN, MODULE_INFO_LIST): Declare.
(struct module_list): Declare.
* sim-module.h, sim-module.c (sim_module_add_info_fn,
sim_module_info): New functions.
(sim_module_install): Clean up module data structures.
* sim-info.c (sim_info): New file. New function. Call
* (sim-info.o): Define rule.
(SIM_NEW_COMMON_OBJS): Add sim-info.o.
Fri Feb 27 18:26:16 1998 Doug Evans <>
* sim-base.h (sim_cpu_base): New members name, options.
(sim_cpu_lookup): Add prototype.
* sim-module.c (sim_pre_argv_init): Provide default names for cpus.
* sim-options.h (DECLARE_OPTION_HANDLER): New argument `cpu'.
(sim_add_option_table): Update prototype.
* sim-options.c (sim_add_option_table): New argument `cpu'.
(standard_option_handler,standard_install): Update.
(sim_parse_args): Handle cpu specific options.
(print_help): New static function.
(sim_print_help): Call it. Print cpu specific options.
(find_match): New static function.
(sim_args_command): Call it. Handle cpu specific options.
* sim-utils.c (sim_cpu_lookup): New function.
* sim-memopt.c (memory_option_handler): Update.
(sim_memopt_install): Update.
* sim-model.c (model_option_handler): Update.
(model_install): Update.
* sim-profile.c (profile_option_handler): Update.
(profile_install): Update.
* sim-trace.c (trace_option_handler): Update.
(trace_install): Update.
* sim-watch.c (watchpoint_option_handler): Update.
(sim_watchpoint_install): Update.
* cgen-scache.c (scache_option_handler): Update.
(scache_install): Update.
Wed Feb 25 11:00:26 1998 Doug Evans <>
* (check): Run `make check' in testsuite dir.
Wed Feb 25 14:40:24 1998 Andrew Cagney <>
* sim-trace.c (trace_result0): New function.
* sim-trace.h (TRACE_FP_*, TRACE_FPU_*): Rename TRACE_FPU_*
macro's to TRACE_FP_*. TRACE_FPU_* should be defined and used when
tracing sim_fpu variables.
* sim-fpu.c, sim-fpu.h (sim_fpu_max32, sim_fpu_max64, sim_fpu_one,
sim_fpu_two): New constants.
(sim_fpu_op1, sim_fpu_op2): New types.
(struct _sim_fpu): Delete member result. Re-order other members.
(sim_fpu_sign, sim_fpu_exp): New functions.
(sim_fpu_max, sim_fpu_min): new functions.
Tue Feb 24 22:45:39 1998 Doug Evans <>
* sim-profile.c (profile_print): Delete duplicate test of
(profile_print_pc): Exit early if data collection not set up.
(profile_print_core): Simplify by calling sim_core_map_to_str.
* sim-core.h (sim_core_map_to_str): Declare.
* sim-core.c (sim_core_map_to_str): Make non-static.
* (engine_resume): Update insn_count before exiting.
(engine_resume_full): Keep accurate core profile data.
* cgen-utils.c (sim_disassemble_insn): Don't use
sim_core_read_aligned_N, it messes up profiling results.
Mon Feb 23 20:45:57 1998 Mark Alexander <>
* nltvals.def: Regenerate with MN10300 additions.
Tue Feb 24 13:18:42 1998 Andrew Cagney <>
* sim-trace.h (TRACE_ALU_RESULT2): Define.
* sim-trace.h, sim-trace.c (trace_result_word2,
trace_input_word4, trace_result_word4): New function.
Mon Feb 23 13:08:35 1998 Doug Evans <>
* cgen-sim.h (SEM_NEXT_PC): New arg `len'.
* sim-xcat.h: Delete.
* cgen-mem.h: Delete inclusion of sim-xcat.h.
* cgen-sim.h: Ditto.
* sim-alu.h: Replace sim-xcat.h with symcat.h.
* sim-n-bits.h: Ditto.
* sim-n-core.h: Ditto.
* sim-n-endian.h: Ditto.
Mon Feb 23 13:19:58 1998 Michael Meissner <>
* syscall.c (cb_syscall): Handle short reads, and EOF.
Tue Feb 24 00:29:57 1998 Andrew Cagney <>
* sim-trace.c (print_data): case trace_fmt_fp missing break. Use
sim_fpu to safely print fp_word values.
(print_data): Add trace_fmt_bool and trace_fmt_addr.
(trace_result_bool1, trace_result_addr1): New functions.
(trace_input_bool1, trace_input_addr1): New functions.
* sim-trace.h (TRACE_FPU_*): Define.
Mon Feb 23 13:24:54 1998 Andrew Cagney <>
* sim-fpu.h (enum sim_fpu_class): Add sim_fpu_class_denorm.
(sim_fpu_fpto, sim_fpu_tofp): Define.
Fri Feb 20 18:08:51 1998 Andrew Cagney <>
* sim-fpu.c (sim_fpu_cmp): New function.
Wed Feb 18 16:29:21 1998 Doug Evans <>
* cgen-utils.h (sim_disassemble_insn): Use CGEN_INSN_BITSIZE
instead of abuf->length.
* sim-trace.c (trace_options): Have -t only trace a few useful things.
(set_trace_option_mask): Renamed from set_trace_options.
(set_trace_option): New function.
(trace_option_handler): Update calls to set_trace_option{,_mask}.
* sim-trace.h (TRACE_USEFUL_MASK): New macro.
Wed Feb 18 12:42:15 1998 Andrew Cagney <>
* sim-basics.h: Declare struct _sim_fpu.
Tue Feb 17 16:27:46 1998 Andrew Cagney <>
* sim-trace.h (TRACE_ALU_INPUT*, TRACE_ALU_RESULT): Define.
(trace_prefix, trace_input*, trace_result*): Declare.
(trace_one_insn): Change declaration, assume trace_prefix called.
(trace_generic): Like trace_one_insn.
(TRACE_ALU_IDX, TRACE_*_IDX): Change #define's to enum.
(TRACE_alu, TRACE_[a-z]*): Update.
* sim-trace.c (trace_prefix, trace_input*, trace_result*,
trace_insn, save_data, trace_idx_to_str, print_data): New
(trace_one_insn): Rewrite.
(trace_generic): New function.
Tue Feb 17 17:27:30 1998 Doug Evans <>
* aclocal.m4 (USE_MAINTAINER_MODE): New variable.
* cgen-sim.h (SEMANTIC_CACHE_FN): Delete.
(SEMANTIC_FN): Rewrite declaration.
(DECODE): Update type of semantic_fast member.
({EX,SEM}_FN_NAME): Have only one version.
* sim-base.h (sim_state_base): Delete conditionals surrounding
member scache_size.
Tue Feb 10 18:31:49 1998 Andrew Cagney <>
* sim-load.c (sim_load_file): Print LMA/VMA according to value
Tue Feb 10 14:56:23 1998 Ian Carmichael <>
* sim-core.c: Add missing prototypes for WITH_DEVICES.
Add missing parameters to device_io calls.
* sim-core.h: Add missing parameters to device_io calls.
Mon Feb 9 14:48:37 1998 Doug Evans <>
* cgen-sim.h (DECODE): Always use switch for `read' for now.
(PAREXEC): Renamed from PARALLEL_EXEC. All uses updated.
(SEMANTIC{,_CACHE}_FN): Fix return type.
* (@cpu@_engine_run): Delete `current_state'.
(engine_resume): Likewise. Make `engine' volatile. Save copy
of cpu pointer in volatile object. Initialize read switch if
Thu Feb 5 13:27:04 1998 Doug Evans <>
* cgen-sim.h (EX_FN_NAME): _exc_ -> _ex_.
(SEM_INSN): New macro.
Tue Feb 3 16:31:56 1998 Andrew Cagney <>
* sim-run.c (sim_engine_run): Assume IMEM is 32 bit.
Sun Feb 1 16:47:51 1998 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Sun Feb 1 16:16:57 1998 Andrew Cagney <>
* sim-types.h (fp_word): New type, define according to
* aclocal.m4 (default_sim_floating_point_bitsize): Add
configuration of size of floating point registers.
Sun Feb 1 14:02:31 1998 Andrew Cagney <>
* sim-profile.c (profile_print): Only print CPU <N> if other
output is going to appear.
Sat Jan 31 18:15:41 1998 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Sat Jan 31 18:03:55 1998 Andrew Cagney <>
* sim-types.h (address_word): Typedef according to
(signed_cell, unsigned_cell, natural_cell): Ditto using
* sim-config.h (WITH_TARGET_ADDRESS_BITSIZE): Define.
* sim-config.c (print_sim_config): Update.
* aclocal.m4 (SIM_AC_OPTION_BITSIZE): Add support for
configuration of address and OpenFirmware cell sizes.
Fri Jan 30 09:36:33 1998 Andrew Cagney <>
* sim-engine.h (sim_engine_run): Add argument nr_cpus.
* sim-run.c (sim_engine_run): Update.
* sim-engine.h (SIM_ENGINE_HALT_HOOK): Use SET_CPU_CIA instead of
* sim-run.c (sim_engine_run): Ditto.
* sim-resume.c (sim_resume): Obtain nr_cpus from sim_engine.
(sim_resume): Pass nr_cpus to sim_engine_run.
* sim-engine.h (struct _sim_engine): Add member nr_cpus.
* sim-engine.c (sim_engine_init): Hardwire nr_cpus to
(sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function
Fri Jan 23 14:20:54 1998 Doug Evans <>
* (stamp-tvals): New rule.
(targ-vals.h,targ-map.c): Depend on it.
(clean): Remove stamp-tvals.
Tue Jan 20 21:35:13 1998 Michael Meissner <>
* sim-utils.c (sim_state_alloc): #if 0 variable that is only used
in code also #if 0'ed.
Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* aclocal.m4: Recognize --enable-maintainer-mode.
Mon Jan 19 12:45:45 1998 Doug Evans <>
* cgen-scache.h: Deleted.
* (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
* cgen-scache.c: Only compile contents if WITH_SCACHE.
(scache_init): Use runtime computed size of SCACHE.
(scache_flush): Likewise.
* cgen-mem.h (GETIMEMU[QHSD]I): Declare.
* cgen-sim.h: Scache support moved here.
(PC): Redo definition.
(ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
(DECODE): Add parallel execution support.
Only include semantic label members if using switch.
(SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
(CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
from cgen-types.h.
(engine_{stop,run,resume,halt,signal}): Delete decls.
* cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
(argbuf,scache): Delete forward decls.
(STATE): Delete decl.
* cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
Include cgen-mem.h, cgen-ops.h.
(engine_halt,engine_signal): Delete.
({ex,exc,sem,semc}_illegal): Delete.
(sim_disassemble_insn): Result of extract fn is in bits.
* Rewrite.
* cgen-trace.c (trace_insn): Set printed_result_p=0 if not tracing
line numbers.
* sim-base.h (sim_state_base): Delete member `model'.
(sim_cpu_base): Add member `model'.
* sim-model.h (IMP_PROPERTIES): New type.
(MACH): New members imp_props, models.
(models): Delete decl.
* sim-model.c (set_model): Update.
* sim-profile.c (profile_print_model): Update.
* sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.
Fri Jan 16 12:33:09 1998 Nick Clifton <>
* cgen-trace.c (trace_insn): Call CGEN_INSN_MNEMONIC() rather than
Mon Dec 15 23:17:11 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* Ditto.
Mon Dec 15 23:16:03 1997 Andrew Cagney <>
* aclocal.m4 (AR): Check for sigaction.
Thu Dec 4 09:21:05 1997 Doug Evans <>
* (sim-core.o): Depend on $(sim_main_headers).
* sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
* sim-config.c (sim_config): Replace WITH_DEVICES with
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Dec 3 17:56:02 1997 Doug Evans <>
* (SIM_ENVIRONMENT): New variable.
* aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
--enable-sim-environment option.
* configure: Regenerated.
* sim-config.h (environment support): Rewrite.
* sim-config.c (current_environment): Define as enum, unconditionally.
(current_alignment): Define unconditionally.
(config_environment_to_a): Update.
(config_alignment_to_a): Fix type of argument. Define unconditionally.
(sim_config): Handle environment and alignment determination
unconditionally. Delete sanity checks of current_environment,
(print_sim_config): Update.
(standard_options): Add --environment.
(standard_option_handler): Likewise.
Fri Nov 28 12:21:25 1997 Andrew Cagney <>
* sim-alu.h: Add notes on carry vs borrow for subtraction.
(ALU{,8,16,32,64}ADD): Redefine ADD macro as add overflowing.
(ALU{,8,16,32,64}ADDC): Define - add carrying.
(ALU{,8,16,32,64}SUB): Redefine SUB macro as subtract overflowing.
(ALU{,8,16,32,64}SUBB): Define - subtract borrowing.
(ALU{,8,16,32,64}SUBC): Define - tract carrying.
(ALU{,8,16,32,64}ADD_CA, ALU{,8,16,32,64}ADDC_C): Replace single
argument ADD_CA macro with two argument ADDC_C - add carrying with
carry in.
(ALU{,8,16,32,64}SUB_CA, ALU{,8,16,32,64}SUBC_X): Replace single
argument SUB_CA macro with two argument SUBC_X - subtract
carrying, extended.
(ALU{,8,16,32,64}SUBB_B): Define - subtract borrowing with
(ALU{,8,16,32,64}NEGC, ALU{,8,16,32,64}NEGB): Define.
Sun Nov 30 17:40:57 1997 Michael Meissner <>
* sim-io.c (sim_io_{syscalls,getstring}): Delete. No longer used.
* sim-io.h (sim_io_syscalls): Delete.
Fri Nov 28 20:10:09 1997 Michael Meissner <>
* syscall.c (cb_syscall): Add missing else, so write to stdout
isn't doubled.
* sim-alu.h (ALU{,8,16,32,64}_SET_CARRY): Provide macros to import
the carry bit from the CPU's psw.
Fri Nov 28 11:15:05 1997 Doug Evans <>
* Redo syscall support.
* nltvals.def: Regenerated.
Wed Nov 26 16:49:38 1997 Michael Meissner <>
* syscall.c (cb_syscall): If writing to stdout or stderr, flush
the stream immediately.
Wed Nov 26 12:32:11 1997 Andrew Cagney <>
* sim-io.c (sim_io_getstring): Delete unused len2.
(sim_io_syscalls): Ditto for sys_errno.
Wed Nov 26 11:18:40 1997 Doug Evans <>
* syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
* (run.o): Depend on remote-sim.h.
(nrun.o,sim-hload.o,sim-hrw.o): Likewise.
(sim-io.o,sim-reason.o,sim-resume.o): Likewise.
Tue Nov 25 20:12:46 1997 Michael Meissner <>
* sim-io.c (sim_io_syscalls): Disable lseek.
Tue Nov 25 00:12:38 1997 Doug Evans <>
* Generate syscall values for d30v.
* Use libgloss/syscall.h for sparc.
* nltvals.def: Regenerate.
* callback.c (os_stat): Make 3rd arg a host struct stat ptr.
(os_fstat): Likewise. Validate fd argument.
(cb_host_to_target_stat): Delete big_p arg. If HS arg is NULL,
just compute target stat struct length.
* syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
(ENOSYS,ENAMETOOLONG): Provide definitions if missing.
(get_string): Return host errno values so they can be properly
translated later.
(cb_syscall): Likewise.
(cb_syscall, cases open,unlink): Use get_path instead of get_string.
(cb_syscall, case read): Use read_stdin for file descriptor 0.
(cb_syscall, case write): Use write_stderr for file descriptor 2.
(cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
(get_path): New function.
Mon Nov 24 18:56:07 1997 Michael Meissner <>
* sim-io.c (sim_io_syscalls): New function to provide system call
emulation. Provide exit, open, close, read, write, lseek, and
(sim_io_getstring): New function to return a string from a
simulated memory location.
* sim-io.h (sim_io_syscalls): Add declaration.
Mon Nov 24 12:09:59 1997 Doug Evans <>
* sim-core.c (sim_core_signal): Fix spelling error in message.
* sim-hrw.c (sim_read): Use read map, not write map.
* (all): Add .gdbinit.
* Add dump command.
* sim-model.c (model_options): Use '\0' for `shortopt'.
* sim-trace.c (trace_option_handler): Set state trace file
for --trace-file in addition to cpu's values.
(trace_vprintf): If cpu == NULL, try state's trace file.
(trace_options): Reorganize table, reword some descriptions.
Sun Nov 23 10:57:00 1997 Andrew Cagney <>
* sim-fpu.c (sim_fpu_abs, sim_fpu_neg, sim_fpu_inv), sim-fpu.h:
New functions.
Sat Nov 22 19:16:54 1997 Andrew Cagney <>
* sim-reason.c (sim_stop_reason): For sim_signalled, return the
signal untranslated, document problem with this.
* nrun.c (main): Check for a prog name of `*step'. If present,
step the simulator instead of allowing it to run free.
* sim-signal.c (SIGQUIT): Define on _MSC_VER hosts.
* (sim_main_headers): Add sim-signal.h.
Fri Nov 21 09:32:32 1997 Andrew Cagney <>
* sim-signal.c (sim_signal_to_host): Return 0 for SIM_SIGNONE.
Thu Nov 20 20:35:20 1997 Andrew Cagney <>
* sim-signal.h: Start simulator signals at 64 so that host signal
numbers can be detected and reported.
* sim-signal.h (SIM_SIGFPE), sim-signal.h: Add signal.
Wed Nov 19 12:02:41 1997 Doug Evans <>
* callback.c (cb_host_to_target_stat): Fix return values.
* cgen-sim.h (enum_signal_type): Delete.
(engine_signal): Update prototype.
* cgen-utils.c: Don't include <signal.h>.
(sim_signal_to_host): Delete, lives in sim-signal.c now.
(engine_signal): Update.
* sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
(sim_state_free): Call SIM_STATE_FREE if defined.
* sim-module.c (sim_module_install): Don't leave any modules
installed if one fails to install.
Wed Nov 19 13:25:48 1997 Michael Meissner <>
* sim-options.c: Don't include ../libiberty/alloca-conf.h any
more, since alloca is not used in this file.
* sim-alu.h (ALU{32,64}_*): Rewrite 32 and 64 bit ALU support to
correctly set the carry and overflow bits for those types.
(ALU{8,16,32,64}_{ADD,SUB}_CA): Take VAL argument to add along
with carry, so carry is correct after doing both adds.
(ALU*): Space out '\' to make it easier to read.
Tue Nov 18 15:53:45 1997 Doug Evans <>
* sim-core.c (sim_core_signal): Use sim_stopped instead of
* sim-signal.c, sim-signal.h: New files.
* (sim-signal.o): Add rule for.
(SIM_NEW_COMMON_OBJS): Add sim-signal.o.
* sim-abort.c: Don't include <signal.h>.
* sim-basics.h: #include "sim-signal.h".
* sim-break.c: Don't include <signal.h>.
(sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
* sim-core.c: Don't include <signal.h>.
(SIGBUS): Delete definition.
(sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
* sim-engine.c: Don't include <signal.h>.
(sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
* sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
* sim-resume.c: Don't include <signal.h>.
(SIGTRAP): Delete definition.
(has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
* sim-stop.c: Don't include <signal.h>.
(control_c_simulation): Replace SIGINT with SIM_SIGINT.
* sim-watch.c: Don't include <signal.h>.
(handle_watchpoint): Replace SIGINT with SIM_SIGINT.
* (SIM_NEW_COMMON_OBJS): New variable.
* sim-base.h (CIA_ADDR): Provide default definition.
* sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
* sim-break.c (sim_handle_breakpoint): Likewise.
Mon Nov 17 14:15:31 1997 Doug Evans <>
* (srccom): New variable.
(LIB_OBJS): Add syscall.o.
(gentmap): Pass $(NL_TARGET) to $(CC).
(syscall.o): Add rule for.
(sim_main_headers): Add $(SIM_EXTRA_DEPS).
(sim-bits.o): Depend on $(sim-n-bits_h).
(sim-load.o): Depend on callback.h.
* (cgen-*.o): Update dependencies, mem-ops.h renamed to
cgen-mem.h, sem-ops.h renamed to cgen-ops.h.
* cgen-mem.h, cgen-ops.h: New files.
* aclocal.m4 (--enable-sim-scache): Pass -DWITH_SCACHE=0 for "=no".
* (nltvals.def): Depend on
Rewrite build rule.
* callback.c: #include string.h or strings.h.
#include sys/types.h and sys/stat.h.
(cb_init_syscall_map,cb_init_errno_map,cb_init_open_map): Declare.
(os_get_errno,os_open): Update.
(os_stat,os_fstat): New functions.
(os_init): Initialize syscall_map, errno_map, open_map.
(default_callback): Add entries for os_stat, os_fstat, syscall_map,
errno_map, open_map, signal_map, stat_map.
(cb_read_target_syscall_maps): New function.
(cb_target_to_host_syscall): New function.
(cb_host_to_target_errno): Renamed from host_to_target_errno.
(cb_target_to_host_open): Renamed from target_to_host_open.
(store): New function.
(cb_host_to_target_stat): New function.
* syscall.c: New file.
* gentmap.c (sys_tdefs): New global.
(gen_targ_vals_h): Output target syscall numbers.
(gen_targ_map_c): Update. Output target syscall translation map.
* New first argument `target'. Preface table with
#ifdef NL_TARGET_$target if non-null target passed.
* New file.
* nltvals.def: Regenerated.
Fri Nov 14 11:33:34 1997 Andrew Cagney <>
* sim-n-core.h (sim_core_read_unaligned_N): Return static
(sim_core_dummy_M): Declare.
Wed Nov 12 18:16:15 1997 Andrew Cagney <>
* sim-core.c (sim_core_signal): Print the address of the
Thu Nov 13 11:49:41 1997 Doug Evans <>
* sim-base.h (sim_state_base): Move `magic' to end of struct.
* sim-base.h (sim_state_base): Add member trace_data.
(STATE_TRACE_DATA): New macro.
* sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
({WITH_,}TRACE_DEBUG_P): New macros.
(_sim_cpu): Delete forward reference.
(debug_printf): Update.
* sim-trace.c (OPTION_TRACE_DEBUG): Define.
(trace_options): Add --trace-debug.
(set_trace_options): Handle it.
(trace_option_handler): Likewise.
(trace_install): Init state trace_data struct.
(trace_uninstall): Close state trace file.
* sim-events.c (ETRACE): Only print source file and line number if
* sim-n-core.h (sim_core_trace_M): Likewise.
* sim-core.c (sim_core_signal): Add missing "\n" in message.
1997-11-13 Felix Lee <>
* sim-n-core.h (sim_core_read_unaligned_N): illegal empty
* sim-types.h (unsigned128,signed128): fix typo for MSVC.
Wed Nov 12 12:18:08 1997 Doug Evans <>
* aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.
* (BUILT_SRC_FROM_COMMON): Remove files no longer
built this way.
(sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
(clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
source tree.
Tue Nov 11 13:28:02 1997 Andrew Cagney <>
* sim-events.c (sim_events_process): Re-compute the time -
update_time_from_event - as each event is processed. Reverses
previous change.
Fri Nov 7 00:37:36 1997 Andrew Cagney <>
* callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.
Fri Nov 7 00:37:36 1997 Andrew Cagney <>
* sim-events.c (sim_events_process): Delete redundant call to
(sim_events_slip): Always decrement time_from_event.
(sim_events_tick, sim_events_deschedule, update_time_from_event):
Delete assertion that time_from_event >=0 when work in queue, no
longer applicable.
Thu Nov 6 12:06:46 1997 Andrew Cagney <>
* sim-options.c (STANDARD_OPTIONS): Change OPTION_* to an enum.
(standard_option_handler): Update.
* sim-options.h: Clarify documentation.
(OPTION_LONG_ONLY_P): Delete definition.
* sim-options.c (sim_print_help): Allow short only options.
(sim_parse_args): Ditto.
(sim_args_command): Skip short only options.
(sim_parse_args): Allocate space for NUM_OPTS not just 256. Make
separate entries for short and long options in the HANDLERS and
ORIG_VAL tables.
(sim_parse_args): Disable argument permutation.
Wed Nov 5 13:40:31 1997 Andrew Cagney <>
Add argument M, size of data type.
(sim_core_read_misaligned_3, sim_core_write_misaligned_3):
Declare, ditto for 5, 6 & 7 byte transfers.
(sim_core_write_unaligned_1, sim_core_write_unaligned_1): Define
as aligned variant.
* sim-n-core.h (sim_core_trace_M): Rename from
sim_core_trace_N. Add nr_bytes argument. Replace transfer argument
with transfer type. Print transfer direction. Handle 1 and 2 byte
(sim_core_read_unaligned_N, sim_core_write_unaligned_N): Trace
unaligned accesses.
(unsigned_M, T2H_M, H2T_M): Rename from unsigned_N, T2H_N, H2T_N.
Update all functions.
* sim-core.c: Generate functions starting with 16 not 1.
(sim_core_read_unaligned_3): Generate. Ditto for 3 byte write and
all 5, 6 & 7 byte transfers.
* sim-n-core.h (sim_core_read_misaligned_N,
sim_core_write_misaligned_N): Implement.
Mon Nov 3 15:03:04 1997 Andrew Cagney <>
* sim-endian.h (U16_8): Implement
* sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions
* sim-endian.h (VL8_16, VH8_16): Implement.
* sim-memopt.c (memory_option_handler): Typecast 64bit value to
long in printf.
(memory_option_handler): Only zalloc modulo bytes when non-zero.
(memory_option_handler): Skip comma in alias address list
Fri Oct 31 13:03:33 1997 Andrew Cagney <>
* sim-memopt.c (do_memopt_add, do_memopt_delete): Add level and
space params.
(parse_size, parse_addr): New functions
(memory_option_handler, memory_options): Parse address & size
using new functions. Pass level, space, modulo to do_memopt_add &
* sim-memopt.h (struct _sim_memopt): Add level & space fields.
* sim-core.h (sim_core_arrach, sim_core_detach): Replace
`attach_type attach' argument with `unsigned level' argument.
* sim-core.c (new_sim_core_mapping, sim_core_map_attach,
sim_core_attach): Replace argument attach with level. Update
verification of arguments.
(sim_core_map_detach, sim_core_detach): Replace argument attach
with level.
* sim-basics.h (enum _attach_type): Delete.
Thu Oct 30 13:45:00 1997 Doug Evans <>
* sim-core.h (sim_core_write_8): Define.
Tue Oct 28 12:29:22 1997 Andrew Cagney <>
* sim-bits.h: Document ROTn macro.
* sim-endian.h (H2T): Handle 16 byte variables.
* sim-n-core.h (sim_core_read_unaligned_N): Return a dummy when an
* sim-core.c: Do not generate sim_core_*_word.
* sim-n-core.h (sim_core_trace_N): Add line_nr argument.
(sim_core_write_aligned_N, sim_core_read_aligned_N): Update.
* sim-core.h (sim_core_read_unaligned_word,
sim_core_read_aligned_word, sim_core_read_word,
sim_core_write_unaligned_word, sim_core_write_aligned_word,
sim_core_write_word): Change to macros that map onto sim_core_*_N.
Mon Oct 27 11:25:10 1997 Doug Evans <>
* sim-n-endian.h: Add TAGS entrys for 16 byte versions.
* sim-endian.h: Disable 16 byte support.
Mon Oct 27 12:00:48 1997 Andrew Cagney <>
* sim-endian.c (_SWAP_16): Define. Generate 126 bit swap code.
* sim-n-core.h (sim_core_trace_N): New function.
(sim_core_read_aligned_N, sim_core_write_aligned_N): Use,
(sim_core_read_unaligned_N): Do not retyrn bogus value wden error.
* sim-endian.h: Add 128 bit variant.
* sim-core.h, sim-core.c: Add 128 bit variant.
* sim-types.h: Add signed128 and unsigned128 types using a struct.
Fri Oct 24 11:33:07 1997 Andrew Cagney <>
* sim-events.c (sim_events_process): Clear events->work_pending.
(sim_events_tickn, sim_events_tick): Accumulate, instead of
setting, nr_ticks_to_process.
(sim_events_preprocess): Allow nr_ticks_to_process to be non-zero
when the event queue isn't next.
* sim-events.h, sim-events.c (sim_events_slip): New function.
Wed Oct 22 14:18:38 1997 Andrew Cagney <>
* sim-hload.c (sim_load): Pass lma_p==0 and do_load=sim_load.
* sim-utils.h, sim-load.c (sim_load_file): Add lma_p and do_load
Tue Oct 21 18:37:57 1997 Doug Evans <>
* nrun.c (main): Remove useless test of name != NULL.
Exit if bfd_openr fails. Call bfd_check_format after bfd_openr.
Tue Oct 21 10:42:38 1997 Andrew Cagney <>
* sim-fpu.c (EXPMAX): Type is unsigned.
(MIN_INT, MAX_INT): Type is signed64.
(i2fpu): Type of val is signed64.
Tue Oct 21 10:42:38 1997 Andrew Cagney <>
* sim-profile.h (PROFILE_PC_BUCKET_SIZE): Treat a shift of zero as
a bucket size of zero.
(profile_option_handler): Add support for --profile-pc and
--profile-pc-granularity options.
(profile_pc_init): When possible, compute nr buckets from bucket
* sim-profile.c (profile_pc_init): Align the profile-pc end
address with the profile-pc bucket size.
* sim-profile.h (PROFILE_PC_NR_BUCKETS): Rename PROFILE_PC_SIZE to
something less ambiguous.
* sim-profile.c (profile_pc_cleanup): New function. Move
profile_pc_uninstall code to here.
(profile_pc_uninstall): Call.
(profile_pc_init): Call.
Mon Oct 20 17:23:58 1997 Andrew Cagney <>
* sim-profile.c (profile_print_pc): Dump pc profile to dmon.out
file using BSD gprof format.
* sim-bits.h (LSBIT, MSBIT, BIT): Force result to type
MSBIT64): Force result to unsignedN.
Thu Oct 16 11:38:56 1997 Andrew Cagney <>
* sim-alu.h (ALU16_BEGIN, ALU32_BEGIN, ALU64_BEGIN): Drop opening
brace from macro.
(ALU16_ADD, ALU16_SUB, ALU16_NEGATE): Simplify arrithmetic.
(ALU32_ADD, ALU32_SUB, ALU32_NEGATE): Simplify arrithmetic.
(ALU64_ADD, ALU64_SUB, ALU64_NEGATE): Simplify arrithmetic.
Wed Oct 15 09:24:19 1997 Andrew Cagney <>
* sim-core.h (struct _sim_core_mapping): Change free_buffer to
type void*.
* sim-core.c (sim_core_uninstall, new_sim_core_mapping,
sim_core_map_attach, sim_core_map_detach): Change free_buffer to
type void*.
(sim_core_attach): Rename buffer_freed to free_buffer, type
void*. Ensure that allocated buffer is alligned according to
region's address.
Mon Oct 13 11:34:50 1997 Andrew Cagney <>
* sim-alu.h (ALU64_HAD_OVERFLOW): Define.
(ALU64_SUB): Define.
* (all): Build SIM_EXTRA_ALL first.
(.gdbinit): Remove dependencies, generate once per build.
Tue Oct 14 19:20:09 1997 Andrew Cagney <>
* sim-n-core.h (sim_core_read_aligned_N,
sim_core_write_aligned_N): Make xaddr param type address_word not
Fri Oct 3 09:49:18 1997 Andrew Cagney <>
* sim-fpu.h, sim-fpu.c: Rewrite. Change sim_fpu object to an
unpacked floating point struct. Pass sim_fpu object by reference.
Add preliminary support for rounding modes.
Fri Oct 3 09:28:00 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Thu Oct 2 19:43:52 1997 Andrew Cagney <>
* aclocal.m4 (sim-bitsize): Fix typo, WITH_TARGET_WORD_BITSIZE not
Thu Sep 25 23:20:20 1997 Felix Lee <>
* sim-profile.c (profile_print_core): label needs empty statement.
Thu Sep 25 11:20:47 1997 Stu Grossman <>
* sim-break.c (sim_set_breakpoint sim_clear_breakpoint): Use ZALLOC
and zfree instead of xmalloc and free. Prevents warnings.
Wed Sep 24 17:38:57 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Sep 24 17:23:31 1997 Andrew Cagney <>
* (SIM_BITSIZE): Assign from configured value.
* aclocal.m4 (--enable-sim-bitsize): Developer option for
controling the bitsize/msb of the target.
Wed Sep 24 17:41:40 1997 Stu Grossman <>
* New files sim-break.c, sim-break.h.
* sim-base.h: Add point to breakpoint list to sim_state_base.
* sim-break.c sim-break.h: New modules that implement intrinsic
breakpoint support.
* sim-module.c: Add breakpoint module.
Tue Sep 23 00:26:39 1997 Felix Lee <>
* sim-events.c (SIM_EVENTS_POLL_RATE): poll more often than once
an hour.
* sim-n-core.h (WITH_XOR_ENDIAN): MSVC barfs on
if (0) { 1 % 0; }
* sim-core.c (sim_core_xor_write_buffer): WITH_XOR_ENDIAN + 1.
(SIGBUS) define for Windows.
* sim-trace.c (trace_printf,debug_printf): added ALMOST_STDC.
* sim-resume.c: define SIGTRAP for windows.
* sim-xcat.h: use token pasting if ALMOST_STDC.
Tue Sep 23 11:04:38 1997 Andrew Cagney <>
configured values.
(CONFIG_CFLAGS): Add same.
Mon Sep 22 17:20:27 1997 Felix Lee <>
* sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
(SIGNED32): use ##i32.
Tue Sep 23 11:04:38 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Tue Sep 23 10:07:47 1997 Andrew Cagney <>
* aclocal.m4 (sim-endian): Simplify logic determining [default]
endian of target.
SIM_STDCALL, SIM_XOR_ENDIAN): Assign configured values.
(CONFIG_CFLAGS): Add same.
* aclocal.m4: Perform AC_SUBST on optional options.
Mon Sep 22 11:46:20 1997 Andrew Cagney <>
* sim-config.h (WITH_DEFAULT_ALIGNMENT): Don't hardwire any alignment.
* sim-options.c (standard_option_handler): Typo in warning message.
* sim-base.h (STATE_MODEL): Make conditional on SIM_HAVE_MODEL.
* sim-profile.c (profile_print_insn): Check 0 .. MAX_INSN for any
insn count. Make count conditional on there being a valid
(profile_pc_init): Make default PC profile frequency an arbitrary
* sim-base.h: Ditto.
* sim-profile.h (WITH_PROFILE_MODEL_P): Only enable modeling when
* sim-model.h (struct MACH): Depreciate, to be replaced by bfd
archure struct.
Mon Sep 22 11:46:20 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Sep 22 11:45:00 1997 Andrew Cagney <>
* aclocal.m4 (sim_alignment): Simplify logic for selecting the
configured alignment.
Fri Sep 19 17:45:25 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Fri Sep 19 17:26:14 1997 Andrew Cagney <>
* sim-config.c (sim_config): Check for default alignment.
* sim-options.c (standard_option_handler): Add alignment option.
* aclocal.m4 (sim_alignment): Allow configuration of hardwired and
default alignment requirements on memory accesses.
Fri Sep 19 11:51:35 1997 Jeffrey A Law (
* sim-load.c (sim_load_file): Return failure if the executable
had no loadable sections.
Wed Sep 17 13:33:28 1997 Andrew Cagney <>
* sim-events.c (ETRACE): Use trace_printf not sim_io_printf for
trace output.
* sim-core.c (sim_core_signal): When bad access halt simulator
SIGSEGV / SIGBUS instead of aborting.
(signal.h): Include.
* sim-watch.c (sim_watchpoint_install): Handler for watchpoint
options was missing.
* sim-bits.h (MOVED): Define
Wed Sep 17 10:33:28 1997 Andrew Cagney <>
* sim-alu.h (ALU32_HAD_OVERFLOW): Pacify GCC, Use MSBIT instead of
* sim-bits.h (LSBIT, MSBIT): Check for overflow of shift value.
* sim-bits.c: Add 8 bit versions of bit macros.
* sim-bits.h: Ditto.
Tue Sep 16 16:15:16 1997 Andrew Cagney <>
* sim-bits.c (LSSEXT, MSSEXT): Replace SEXT.
* sim-n-bits.h (MSSEXTn, LSSEXTn): Replace SEXTn.
* sim-bits.h (SEXT*): Define as MSEXT/LSEXT.
Mon Sep 15 17:36:15 1997 Andrew Cagney <>
* aclocal.m4 (SIM_AC_COMMON): Add optional config.h file argument. Output to cconfig.h instead of config.h.
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Sep 15 15:39:28 1997 Andrew Cagney <>
* sim-utils.c (sim_analyze_program): Set STATE_ARCHITECTURE from
BFD if known.
Tue Sep 9 21:46:46 1997 Felix Lee <>
* callback.c (os_write): divert stdout and stderr to their
respective hooks.
Thu Sep 11 10:08:48 1997 Andrew Cagney <>
* sim-profile.c (profile_print_speed): Call
sim_events_elapsed_time instead of PROFILE_EXEC_TIME for moment.
* sim-events.c (sim_events_elapsed_time): New function return nr
host MS consumed by the simulator.
(sim_watch_valid): Use.
* sim-module.c (modules): Install sim_events very very early.
* sim-profile.c (profile_print): Call profile_print_pc.
(profile_pc_init): New function, set up processor for PC
(profile_print_pc): New function, print a PC profile.
(profile_pc_event): New function, sample PC.
profile struct.
* sim-options.c (sim_print_help): Pacify GCC.
* sim-n-core.h (sim_core_read_aligned_N,
sim_core_write_aligned_N): Add un-conditional profile call.
(sim_core_read_unaligned_N, sim_core_write_unaligned_N): Add
profile call when aligned read/write isn't used.
* sim-base.h: Include sim-profile, sim-model after sim-core &
sim-events allow sim-core to define useful values.
* sim-profile.c (OPTION_PROFILE_CORE): Define.
(profile_option_handler, profile_options): Add support for
--profile-core option.
(print_bar): Include when core profiling.
(profile_print_core): New function, print core profile.
* sim-config.c (print_sim_config): Print profile status.
* sim-profile.h (PROFILE_NEXT_IDX, PROFILE_core,
(PROFILE_CORE_COUNT): Count each core-map/size separatly.
Thu Sep 11 08:44:52 1997 Andrew Cagney <>
* sim-watch.c (handle_watchpoint): Pass a char** index into the
interrupt_names array as the data.
(sim-watch.h): Document.
Wed Sep 10 16:15:22 1997 Andrew Cagney <>
* sim-options.c (sim_print_help): When the doc string is to long
word wrap it.
* sim-watch.c (sim_watchpoint_install): Use option.doc_name so
that only the first few the watch options are listed. Generate
meanginful usage messages.
* sim-options.h (struct OPTION): Clarify use of doc_name field
Wed Sep 10 13:23:24 1997 Andrew Cagney <>
* sim-options.c (OPTION_ARCHITECTURE_INFO): New option.
(standard_option_handler): Handle --architecture-info.
Tue Sep 9 21:46:46 1997 Felix Lee <>
* 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 <>
* nltvals.def: Regenerate.
Tue Sep 9 02:10:36 1997 Andrew Cagney <>
* sim-fpu.c (DP_FRACHIGH2): Define LL using SIGNED64.
Mon Sep 8 12:22:20 1997 Andrew Cagney <>
* sim-bits.c (MASKED): Delete.
(EXTRACTED): Delete.
* 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 <>
* 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-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 <>
* 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.
* (sim-hrw.o): New target.
* sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add
* 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.
* (sim_main_headers): Add sim-memopt.h
(sim-memopt.o): New target.
* sim-core.c (sim_core_install): Add core_options to the option
* sim-watch.c (watch_options): Make --delete-watch a synonym for
* sim-config.h (WITH_MODULO_MEMORY): Define as 0. Update
* 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
(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 <>
* sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
* New file.
* aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
* (distclean): Delete .gdbinit.
(.gdbinit): Add rule for.
* configure: Regenerated to track ../common/aclocal.m4 changes.
* (cgen-run.o): Add rule for.
Wed Sep 3 10:08:21 1997 Andrew Cagney <>
* 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
(sim_events_install): Install sim_events_suspend and
(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
Wed Sep 3 10:08:21 1997 Andrew Cagney <>
* sim-core.c (sim_core_map_attach): Clarify memory overlap error
Tue Sep 2 14:57:06 1997 Doug Evans <>
* (TAGS): Add support for "/* TAGS: foo */" marker.
* (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 <>
* sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and
* sim-base.h (sim_state_alloc): Add callback and kind arguments.
* sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default
Sat Aug 30 09:47:21 1997 Andrew Cagney <>
* sim-fpu.c (DP_GARDMSB, ...): Make unsigned.
Fri Aug 29 13:37:44 1997 Andrew Cagney <>
* 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
* 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 <>
* 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 <>
* sim-options.c (standard_option_handler): Use xstrdup, not strdup.
Thu Aug 28 12:09:15 1997 Andrew Cagney <>
* sim-base.h (STATE_ARCHITECTURE, STATE_TARGET): Add to simulator
base type.
* sim-options.c (standard_options): Add --architecture=MACHINE and
--target=TARGET options.
(standard_option_handler): Handle architecture and target options.
(bfd.h): Include.
* sim-utils.c (sim_analyze_program): Pass STATE_TARGET to
(sim_analyze_program): Set prog_bfd architecture from
Wed Aug 27 18:13:22 1997 Andrew Cagney <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* Ditto.
Wed Aug 27 18:11:30 1997 Andrew Cagney <>
* 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 <>
* 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
(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.
so that bit offset is explicit.
Wed Aug 27 11:55:35 1997 Andrew Cagney <>
* sim-utils.c (sim_analyze_program): Add prog_name argument.
Update STATE_PROG_BFD when needed with a dup'd copy of the
* sim-config.c (sim_config): Delete ABFD argument, use
STATE_PROG_BFD directly.
Tue Aug 26 12:55:26 1997 Andrew Cagney <>
* 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.
* (sim-hload.o): Add rule.
Wed Aug 27 09:51:42 1997 Andrew Cagney <>
* 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 <>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* Ditto.
Mon Aug 25 12:11:06 1997 Andrew Cagney <>
* 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 <>
* 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 (
* sim-types.h: Fix defs of 64 bit data types for MSVC.
Tue Jul 22 10:35:37 1997 Doug Evans <>
* sim-n-core.h (sim_core_write_unaligned_N): Add missing break
Thu Jun 5 13:48:37 1997 Andrew Cagney <>
* callback.c (target_to_host_open): Handle hosts with O_BINARY.
Thu Jun 5 08:47:10 1997 Jeffrey A Law (
* (libsim.a): Fix typo.
Thu Jun 5 13:48:37 1997 Andrew Cagney <>
* nrun.c (main): Verify the structure returned before using it.
Wed Jun 4 11:44:06 1997 Andrew Cagney <>
* sim-config.h (WITH_ENGINE): Enable the sim-engine module by
* 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
Tue Jun 3 04:52:04 1997 Andrew Cagney <>
* 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
Wed May 28 14:47:41 1997 Andrew Cagney <>
* 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
* 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 <>
* 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 <>
* 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
(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
(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 <>
* 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
* 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
(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 <>
* sim-engine.h: Update below so that it is using an enumerated
Thu May 22 09:12:16 1997 Gavin Koch <>
* 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 <>
* 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
* 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.
* (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 <>
* 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
* 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 <>
* nrun.c (main): Pass callbacks to sim_open instead of using
* run.c (main): Ditto.
Mon May 19 12:07:22 1997 Andrew Cagney <>
* sim-events.c (sim_events_zalloc): Signal save memory allocator -
stop tk interrupting malloc calls.
(sim_events_zalloc): Converse.
* (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
(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 <>
* 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 <>
* 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.
* (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.
* 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
* sim-events.c (sim_events_poll): Update event handler.
Tue May 13 09:57:49 1997 Andrew Cagney <cag