+
+ * sim-fpu.c (i2fpu): Keep the guard bits sticky when converting
+ large values.
+
+
+ * hw-tree.c, hw-properties.c, hw-instances.c: Include "sim-io.h".
+
+
+ * 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.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+ * aclocal.m4 (WERROR_CFLAGS, WARN_CFLAGS): Merge from
+ ../gdb/configure.in.
+ * Make-common.in (WERROR_CFLAGS, WARN_CFLAGS): Define.
+ (SIM_WERROR_CFLAGS, SIM_WARN_CFLAGS): Define.
+ (SIM_WARNINGS): Delete
+ (CONFIG_CFLAGS): Update.
+
+
+ * 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.
+ * Make-common.in (CGEN_MAIN_CPU_DEPS): Add cgen-par.h.
+ (cgen-par.o): New target.
+
+
+ * cgen-types.h (mode_type,MODE_VOID): Renamed from MODE_VM.
+ * cgen-utils.c (mode_names): Update.
+
+
+ * genmloop.sh: New args -parallel-generic-write, -parallel-only.
+ * cgen-engine.h (SEMANTIC_FN): Don't use version with PAREXEC
+ buffer arg if WITH_PARALLEL_GENWRITE.
+ (struct insn_sem): Handle WITH_PARALLEL_GENWRITE.
+ (struct idesc): Ditto.
+
+
+ * sim-model.c (model_option_handler): Add \n to error message.
+
+
+ * cgen-engine.h (SEM_FN_NAME,SEMF_FN_NAME): Delete.
+ (insn_sem): Rewrite.
+ (sem_fn_desc): New struct.
+ (idesc): Rewrite.
+ * genmloop.sh (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.
+
+
+ * cgen-defs.h (SEM_BRANCH_TYPE): New enum.
+ * cgen-engine.h (SEM_BRANCH_UNTAKEN,SEM_BRANCH_UNCACHEABLE): Delete.
+ (SEM_BRANCH_INIT_EXTRACT): Delete.
+ (SEM_BRANCH_INIT): Replace npc_ptr with br_type.
+ (SEM_BRANCH_FINI): Ditto.
+ (SEM_BRANCH_VIA_ADDR): Ditto.
+ (SEM_BRANCH_VIA_CACHE): Ditto. Delete cachvarptr arg.
+ (SEM_BRANCH_ADDR_CACHE): Delete.
+ (SEM_SKIP_COMPILE,SEM_SKIP_INSN): New macros.
+ * cgen-scache.h (cpu_scache): Replace member pbb_pr_npc_ptr with
+ pbb_br_type.
+ * genmloop.sh (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
+ pbb_br_type.
+ (@cpu@_engine_run_fast): Ditto.
+
+
+ * cgen-utils.c (RORSI): New function.
+ (ROLSI): New function.
+
+
+ * Makefile.in (TAGS): Tweak TAGS regex.
+ * cgen-mem.h (*): Add TAGS markers.
+
+
+ * 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.
+
+
+ * 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
+ STATE_LOAD_AT_LMA_P.
+
+
+ * nrun.c (main): Re-format loop gnu style.
+
+
+ * dv-sockser.c (connected_p): Initialize addrlen.
+
+
+ * cgen-accfp.c (floatsidf): New function.
+ (fixdfsi): New function.
+
+
+ * sim-model.c (sim_model_init): Issue error if machine is unsupported.
+
+
+ * Make-common.in (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.
+
+
+ * cgen-engine.h (TARGET_SEM_BRANCH_FINI): Remove cruft at end of
+ ifndef.
+ * genmloop.sh (@cpu@_scache_lookup): Delete unused local var.
+ (@cpu@_pbb_cti_chain): Minor clean up.
+
+
+ * aclocal.m4: Use AC_EXEEXT instead of AM_EXEEXT. Delete defn of
+ AM_CYGWIN32 and AM_EXEEXT.
+ * configure: Regenerate.
+
+
+ * 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.
+
+
+ * sim-memopt.c (sim_memory_uninstall): Don't look into
+ free()d memory.
+
+
+ * cgen-utils.scm (virtual_insn_entries): Update attribute definition.
+
+
+ * sim-core.c (sim_core_read_buffer): Handle NULL cpu when WITH_DEVICES.
+ (sim_core_write_buffer): Ditto.
+
+
+ * 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.
+
+
+ * cgen-run.c (sim_resume): Don't tell main loop to run "forever"
+ if being used by gdb.
+
+
+ * 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'.
+
+
+ * 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_INSN_ATTR_VALUE.
+ (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
+ CPU_CPU_DESC (cpu).
+ (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.
+ * cgen.sh (desc): New file generator handler.
+ * genmloop.sh: -parallel changed to -parallel-read/-parallel-write.
+ Define WITH_PARALLEL_READ/WITH_PARALLEL_WRITE appropriately.
+ 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.
+
+
+ * sim-memopt.c (memory_option_handler): Avoid memset() calls
+ if redundant with allocator functions.
+
+
+ * cgen-engine.h (EXTRACT_LSB0_{INT,UINT}): Fix.
+
+ * sim-profile.h: Make like sim-trace.h.
+ (PROFILE_USEFUL_MASK): New macro.
+ * 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
+ --profile-scache.
+ (scache_option_handler): Use sim_profile_set_option.
+
+
+ * sim-memopt.c (memory_options): Add MEMORY_FILL option.
+ (memory_option_handler): Implement MEMORY_FILL option. Make
+ MEMORY_CLEAR an alias for MEMORY_FILL=0.
+ (parse_ulong_value): New function.
+ (do_memopt_add): Allocate all buffers. Optionally fill them.
+
+
+ * 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.
+
+
+ * 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_BRANCH_INIT): PCADDR->IADDR.
+ (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.
+ * genmloop.sh (@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).
+
+
+ * 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.
+
+
+ * Make-common.in (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_EXTRACT): New macro.
+ (SEM_BRANCH_INIT): Add taken_p.
+ (TARGET_SEM_BRANCH_FINI): Provide default definition.
+ (SEM_BRANCH_FINI): Use it.
+ (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.
+ * cgen.sh (arch case): Pass -m ${mach} to cgen.
+ * genmloop.sh (@cpu@_emit_before): Only define if WITH_SCACHE_PBB.
+ (@cpu@_emit_after): Ditto.
+ (simple @cpu@_engine_run_full): New local `pc'. Initialize semantic
+ labels if WITH_SEM_SWITCH_FULL.
+ * 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.
+
+
+ * 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.
+
+
+ * Make-common.in (SIM_MAIN_DEPS): New var.
+ (CGEN_MAIN_CPU_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.
+
+
+ * hw-handles.c (hw_handle_add_ihandle, hw_handle_add_phandle):
+ Compare with ZERO not NULL.
+
+
+ * hw-properties.c, hw-instances.c, hw-tree.c: Include
+ "sim-assert.h".
+
+
+ * 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.
+
+
+ * gennltvals.sh: Add i960.
+ * nltvals.def: Rebuild.
+
+
+ * 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.
+ * Make-common.in (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.
+ (PC_IN_PROFILE_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_INSN): Check ARGBUF_TRACE_P.
+ (TRACE_EXTRACT,TRACE_RESULT): New arg abuf. All callers updated.
+ * cgen-types.h (SIM_INLINE): Delete.
+ (SIM_HAVE_MODEL,SIM_HAVE_ADDR_RANGE): Define.
+ * cgen-utils.c: Don't include cgen-engine.h
+ * genmloop.sh (@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 '_'.
+ (SET_CTI_VPC,SET_INSN_COUNT): Update.
+ (@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'.
+
+
+ * sim-memopt.c (sim_memory_uninstall): Deallocate all memory
+ regions.
+
+
+ * sim-inline.c (SIM_INLINE_P): Fix typo.
+
+
+ * cgen-utils.c (cgen_virtual_opcode_table): Update.
+
+
+ * gennltvals.sh: Add v850 and d10v. Sort alphabetically.
+ * nltvals.def: Re-generate.
+
+
+ * 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
+ GCC.
+ * sim-events.c (sim_events_uninstall, sim_events_suspend,
+ sim_events_resume, sim_events_zalloc, insert_sim_event): Ditto.
+
+
+ * genmloop.sh (${cpu}_pbb_chain): Watch for Ctrl-C's.
+ (${cpu}_pbb_cti_chain): Ditto.
+
+
+ * Make-common.in (cgen-utils.o): Depend on cgen-engine.h.
+ * cgen-engine.h (EXTRACT_[ML]SB0_{INT,UINT}): New macros.
+ (EXTRACT_INT,EXTRACT_UINT): New macros.
+ (SEM_SEM_ARG): New macro.
+ (SEM_NEXT_VPC): New arg `pc'.
+ * cgen-sim.h (EXTRACT_SIGNED,EXTRACT_UNSIGNED): Delete.
+ (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.
+ * genmloop.sh: Only emit pbb decls if -pbb.
+ (${cpu}_scache_lookup): New arg `vpc'.
+ (scache support): Fetch pc before entering loop.
+
+ * gennltvals.sh: Add fr30 support.
+ * nltvals.def: Rebuild.
+
+
+ * sim-types.h: Re-do type system so that GCC's attribute and mode
+ are used to specify types. Handle case of ALPHA.
+
+
+ * aclocal.m4: Add tests for dlopen family.
+ * config.in: Regenerated.
+
+
+ * sim-hload.c (sim_load): Pass `prog_name' to sim_load_file, not NULL.
+
+
+ * genmloop.sh (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.
+
+
+ * 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.
+ * Make-common.in (SIM_WARNINGS): Update.
+
+
+ * Make-common.in (CGEN_INCLUDE_DEPS): Define.
+ (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_INCLUDE_DEPS.
+ * cgen-cpu.h: New file.
+ * cgen-engine.h: New file.
+ * cgen-scache.h: New file.
+ * cgen-sim.h: Delete portions moved to new files.
+ * genmloop.sh: Generate two files eng.hin,mloop.cin explicitly,
+ rather than sending result to stdout.
+
+
+ * Make-common.in (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.
+ (CGEN_INSN_VIRTUAL_P): New macro.
+ (SEM_PC): New typedef.
+ (SEMANTIC_FN): Change type of result to SEM_PC.
+ (SEM_SET_FULL_CODE,SEM_SET_FAST_CODE,SEM_SET_CODE): New macros.
+ (IDESC_CTI_P,IDESC_SKIP_P): New macros.
+ (SCACHE_MAP): New typedef.
+ (CPU_SCACHE): Add pbb support.
+ (scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare.
+ (SEM_BRANCH_INIT_EXTRACT,SEM_BRANCH_INIT,SEM_BRANCH_FINI): New macros.
+ (CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn,
+ max_slice_insns.
+ (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.
+ (HOSTINT,HOSTUINT,HOSTPTR): Delete.
+ * 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.
+ * genmloop.sh: 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.
+
+
+ * cgen-run.c: New file.
+ * sim-reg.c: New file.
+
+
+ * 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.
+
+
+ * 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.
+
+
+ * 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.
(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-memopt.c (parse_addr): Sunos 4.5 does not hane strtol
+ * 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.
- * Make-common.in (CGEN_MAIN_SCM): Update.
* 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.
- * cgen.sh: Support building cpu.c.
* sim-base.h (sim_state_base): Delete conditionals surrounding
member scache_size.
* 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.
- * cgen.sh (decode): Add s/@arch@/$arch/.
* genmloop.sh (@cpu@_engine_run): Delete `current_state'.
(engine_resume): Likewise. Make `engine' volatile. Save copy
of cpu pointer in volatile object. Initialize read switch if
MAX_NR_PROCESSORS.
(sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function
-
- * cgen.sh: Portably read parms past $9.
-
* Make-common.in (stamp-tvals): New rule.
-start-sanitize-cygnus
- * Make-common.in (cgen-{arch,cpu,decode}): New targets.
- * cgen.sh: New file.
-end-sanitize-cygnus
* cgen-scache.h: Deleted.
* Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
- (CGEN_CPU_SCM): Add sim-model.scm.
* cgen-scache.c: Only compile contents if WITH_SCACHE.
(scache_init): Use runtime computed size of SCACHE.
(scache_flush): Likewise.
-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.
* run.c, run.1: From sh directory.
-
-