+
+ * sim-config.h: Remove reference to linux kernel header.
+
+
+ * dv-sockser.c (sockser_addr): Make variable non-static.
+
+
+ * sim-hw.{c,h} (sim_hw_parse): Return struct hw pointer.
+
+
+ * sim-events.c (sim_events_elapsed_time): Fix calculation.
+
+
+ * Make-common.in (install-common): Add $(EXEEXT) when installing
+ run.
+
+
+ * cgen-sim.h (cgen_state): New member opcode_table.
+ * cgen-utils.c (sim_disassemble_insn): Use it.
+
+
+ * 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'.
+
+
+ * cgen-utils.c: Include bfd.h.
+ (sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.
+
+
+ * sim-bits.h (EXTEND24): Fix typo.
+
+
+ * 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
+ sim_event_tracef.
+
+
+ * sim-bits.h (EXTEND24): Define.
+
+
+ * cgen-sim.h (CPU_SCACHE): Make size unsigned.
+ (CPU_SCACHE_HASH_MASK): New macro.
+ (SCACHE_HASH_PC): Rewrite.
+ * genmloop.sh (engine_resume_{full,fast}): Move some of hash
+ computation out of main loop.
+
+
+ * Make-common.in (SCHEME,SCHEMEFLAGS): Delete.
+ (CGENDIR,CGEN): New variables.
+ (CGEN_VERBOSE): Renamed to CGENFLAGS.
+ (cgen-arch,cgen-cpu,cgen-decode): Update.
+ (CGEN_CPU_WRITE): New variable.
+ (CGEN_CPU_SEMSW): -W -> -X.
+ (CGEN_FLAGS_TO_PASS): Delete SCHEME. Add CGEN,CGENFLAGS.
+ * cgen.sh: Delete args scheme,schemeflags. New arg cgen.
+
+ * cgen-sim.h (RECORD_IADDR): Delete.
+ * cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types.
+ * genmloop.sh (engine_resume_{full,fast}): Delete icount.
+
+
+ * gennltvals.def (mn10200): Add entry.
+ * nltvals.def: Regenerate with MN10200 additions.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * sim-core.h (SIM_CORE_SIGNAL_FN): New typedef.
+ * sim-core.c (sim_core_signal): Make extern, always define.
+
+
+ * Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
+ * cgen-ops.h (ANDIF): New macro.
+ (ANDIF[BQHSD]I): Delete.
+
+
+ * 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
+ Janczyn.
+
+ * hw-alloc.h (HW_NZALLOC): Define.
+
+ * Make-common.in (test-hw-events): Add target for testing the
+ hw-event code.
+
+
+ * Make-common.in (SIM_COMMON_HW_OBJS): Add hw-handles.o and
+ hw-instances.o.
+ hw-handles.c, hw-instances.c, hw-handles.h, hw-instances.h: New
+ files.
+ * 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.
+
+
+ * 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.
+ * Make-common.in (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
+ sim-main.h.
+
+ * 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,
+ rename.
+ * Make-common.in (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.
+
+
+ * hw-base.h (set_*): Move set method macros from here.
+ * hw-device.h: To here.
+
+
+ * hw-base.h (create_hw_property_data, delete_hw_property_data):
+ Declare.
+
+ * hw-base.c (hw_create, hw_delete): Call
+ * hw-properties.c (create_hw_property_data,
+ delete_hw_property_data): Define.
+
+
+ * 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.
+
+ * Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-alloc.o.
+ (hw-alloc.o): New target.
+
+
+ * 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".
+ * Make-common.in (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.
+
+
+ * 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.
+
+
+ * hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
+ PROCESSOR and CIA arguments.
+
+
+ * aclocal.m4 (SIM_AC_OPTION_HW): Add enable / disable argument.
+ Move common object files from here.
+ * Make-common.in (SIM_COMMON_HW_OBJS): To here.
+
+
+ * sim-hw.c: Include ctype.h.
+ (do_hw_poll_read): Do not assume EAGAIN.
+
+
+ * 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.
+ (PROFILE_ANY_P,PROFILE_INSN_P,PROFILE_MEMORY): New macros.
+ (PROFILE_SCACHE_P,PROFILE_PC_P,PROFILE_CORE_P): New macros.
+ (PROFILE_COUNT_INSN,PROFILE_COUNT_READ,PROFILE_COUNT_WRITE): Simplify.
+ (PROFILE_COUNT_CORE): Simplify.
+ * sim-profile.c (profile_option_handler): Compute profile_any_p.
+
+
+ * cgen-ops.h (ADDCFSI): Fix typo.
+
+
+ * cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
+ * genmloop.sh: 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.
+ * genmloop.sh (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.
+
+
+ * 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.
+ (TRACE_INSN_INIT,TRACE_INSN_FINI): Update.
+ * genmloop.sh (engine_resume): Update.
+
+
+ * Make-common.in (install-common): Run ranlib on installed copy of
+ libsim.a.
+
+
+ * Make-common.in (install-common): Rename and install libsim.a.
+
+
+ * sim-io.c (unistd.h): Include.
+
+
+ * 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.
+
+ * cgen.sh: s/@arch@/${arch}/ for cpu files.
+
+ * 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>.
+
+
+ * 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.
+ (HW_IO_EOF, HW_IO_NOT_READY): Define.
+ * 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.
+
+
+ * hw-tree.h (hw_tree_print): Paramaterize with print and file
+ arguments.
+ * 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):
+ Update.
+ * dv-pal.c (hw_pal_io_read_buffer, hw_pal_io_write_buffer):
+ Update.
+ (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
+ argument.
+ (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_print.
+ * 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
+ functions.
+ (sim_hw_print): New function.
+
+ * sim-engine.h (sim_engine_vabort): Declare.
+ * sim-engine.c (sim_engine_vabort): New function.
+
+
+ * 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.
+
+
+ * common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
+ AM_CYGWIN32 and AM_EXEEXT.
+ * common/Make-common.in: set EXEEXT, add missing EXEEXTs
+ to run and install-common rules.
+ * common/configure: regenerate
+
+
+ * 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.
+ * config.in: Ditto.
+
+
+ * 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.
+ * config.in: Ditto.
+
+
+ * acconfig.h: New file.
+ * Make-common.in (top_builddir): New macro.
+ (INTL_LIB): Removed.
+ (INTLLIBS): New macro.
+ (INTLDEPS): Likewise.
+ (LIBDEPS): Use INTLDEPS.
+ (EXTRA_LIBS): Use INTLLIBS.
+ * aclocal.m4 (SIM_AC_COMMON): Call CY_GNU_GETTEXT.
+ (CY_WITH_NLS, CY_GNU_GETTEXT, AM_PATH_PROG_WITH_TEST,
+ AM_LC_MESSAGES): New macros from GNU gettext.
+
+
+ * sim-config.h: Discard leading _ from macros.
+ * sim-types.h: Ditto.
+
+
+ * Make-common.in (CSEARCH): Add -I to intl directories.
+ (INTL_LIB): Point to libintl.a.
+ (LIBDEPS): Add $(INTL_LIB).
+ (EXTRA_LIBS): Ditto.
+
+
+ * cgen-types.h (GETHIDI,MAKEDI): Tweak.
+
+ * cgen-ops.h (ADDCFSI): Fix.
+ (SUBCFSI): Tweak.
+
+
+ * sim-types.h (signed_address, unsigned_address): Define.
+
+
+ * sim-fpu.c (sim_fpu_2d): Don't return an SNaN, convert it into a
+ QNaN.
+
+
+ * 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
+ infinity.
+
+
+ * sim-bits.h (EXTEND4): Define.
+ (EXTEND4, EXTEND15, EXTEND11): Ditto.
+
+
+ * sim-memopt.c (parse_addr): Sunos 4.5 does not hane strtol
+ declared so we need this cast to prevent long long addresses
+ from being misconfigures. Results in access to unmapped memory.
+
+
+ * Make-common.in (RUNTESTFLAGS): Define.
+ (check): Pass RUNTESTFLAGS to recursive make.
+
+
+ * sim-info.c (sim_info): Be verbose when either VERBOSE or
+ STATE_VERBOSE_P.
+
+
+ * aclocal.m4 (sim-inline): By default, disable sim-inline when
+ cross compiling.
+
+
+ * 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.
+
+ * Make-common.in (sim_main_headers): Add sim-inline.h
+
+ * sim-bits.h (sim-bits.c): Include when H_REVEALS_MODULE_P.
+ selected.
+ * 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.
+ (H_REVEALS_MODULE_P, C_REVEALS_MODULE_P): Define.
+ (SIM_MAIN_INLINE): Add inline option.
+
+ * sim-inline.c (semantics.c, idecode.c, engine.c, ...): Do not
+ include generated files. Handled by generator directly.
+
+
+ * sim-trace.c (set_trace_option_mask): Keep TRACE_ANY_P
+ up-to-date.
+
+ * sim-trace.h (TRACE_ANY_P): Define.
+ (struct _trace_data): Add trace_any_p.
+
+
+ * run.c (main): Handle all alternatives of enum sim_stop.
+ (main): Delete unused `asection *s'.
+
+
+ * 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
+
+
+ * sim-base.h (CPU_INDEX): Define.
+
+ * sim-utils.c (sim_state_alloc): Initialize.
+ * sim-module.c (sim_post_argv_init): Ditto.
+
+
+ * aclocal.m4 (sim_hw_obj): Fix sed expression to generate
+ properly formatted lists.
+
+
+ * dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
+ 0x2f needs to be 0x3f.
+
+
+ * 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.
+
+
+ * aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.
+ (AC_CHECK_FUNCS): Add check for __setfpucw.
+ * configure: Regenerated.
+
+
+ * 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.
+
+
+ * 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
+ found.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * 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.
+
+ * Make-common.in (hw-config.h): New target, create hw-config.h
+ file.
+ (SIM_HW): Definition from @sim_hw@.
+ (hw-base.o): Depend on hw-config.h
+
+
+ * Make-common.in: Get SHELL from configure.
+ * (stamp-tvals sim-inline.c): Use $(SHELL) when invoking
+ move-if-change. Fixes NT native build problem.
+ * Makefile.in (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.
+
+
+ * 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
+ messages.
+
+ * 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.
+
+ * Make-common.in: Add rule for dv-glue.o.
+
+
+ * 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
+ ../ppc/device_table.c.
+
+ * 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.
+
+
+ * 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?"
+ property.
+
+ * dv-core.c (dv_core_attach_address_callback): Add trace.
+
+ * dv-pal.c: Replace DTRACE with HW_TRACE.
+
+
+ * 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
+ hw_zalloc/hw_free.
+
+
+ * 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.
+
+
+ * sim-options.h: Document additional CPU arg to OPTION_HANDLER.
+
+
+ * Make-common.in (SIM_HW_OBJS, SIM_HW_SRC, SIM_DV_OBJS): Define.
+ (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
+ header.
+ (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
+ ../ppc/device_table.[hc].
+
+ * dv-core.c, dv-pal.c: New files. Copied from
+ ../ppc/hw_{core,pal}.c
+
+ * sim-basics.h (struct hw): Declare.
+ (enum port_direction, enum object_disposition): Declare.
+
+
+ * 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
+ macro..
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
+ trace_prefix can abort cleanly.
+
+
+ * dv-sockser.c, dv-sockser.h: New files.
+ * Make-common.in (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.
+
+
+ * 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
+ bfd_find_nearest_line.
+
+
+ * 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
+ maps.
+
+ * 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_core_nr_maps.
+
+ * sim-break.c (insert_breakpoint): Write breakpoints to exec_map
+ instead of the write_map.
+ (remove_breakpoint): Ditto.
+
+ * genmloop.sh (engine_resume_full): Replace sim_core_*_map
+ with read_map, write_map, exec_map resp.
+
+ * cgen-mem.h (DECLARE_GETMEM, DECLARE_SETMEM, DECLARE_GETIMEM):
+ Ditto.
+
+ * 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.
+
+
+ * sim-base.h (sim_state_base): New member environment.
+ (STATE_ENVIRONMENT): New macro.
+ * 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.
+
+
+ * sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.
+
+
+ * sim-types.h (SIGNED32, SIGNED64): Pacify GCC.
+
+ * sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.
+
* Make-common.in (TAGS): Make smarter.
* Makefile.in (TAGS): Ditto.
- * sim-core.c (sim_core_attach): Use xmalloc instead of zalloc.
- Use 0xa5 as initial value.
- (sim_core_map_detach): Use free instead of zfree.
-
* sim-module.c (*): Fix typos in assertion tests.
-start-sanitize-d30v
* gennltvals.sh: Generate syscall values for d30v.
-end-sanitize-d30v
+
* gennltvals.sh: Use libgloss/syscall.h for sparc.
* nltvals.def: Regenerate.
* Make-common.in (SIM_EXTRA_DEPS): New config var.
(sim_main_headers): Define.
(sim-*.o): Depend on $(SIM_EXTRA_DEPS).
-start-sanitize-d30v
(BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in.
-end-sanitize-d30v
(clean): Use it.
(sim-utils.o): Add rule for.
* sim-utils.o: New file.