Wed Apr 26 16:18:44 2000 Andrew Cagney * sim-events.c (update_time_from_event): Add more detailed event tracing. 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 ftruncdfsf. * 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 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, CGEN_FN_MEM_HI_WRITE, CGEN_FN_MEM_SI_WRITE, CGEN_FN_MEM_DI_WRITE, CGEN_FN_MEM_DF_WRITE, CGEN_FN_MEM_XI_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_MEM_XI_WRITE members. (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 CGEN_MEM_XI_WRITE. 1999-10-22 Dave Brolley * cgen-par.h (insn_address): New field in CGEN_WRITE_QUEUE_ELEMENT. (CGEN_WRITE_QUEUE_ELEMENT_IADDR): New macro. * 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_MEM_DF_WRITE. * 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 * genmloop.sh (@cpu@_scache_lookup): No longer takes last_insn_p parameter. (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 ../gdb/configure.in. * Make-common.in (WERROR_CFLAGS, WARN_CFLAGS): Define. (SIM_WERROR_CFLAGS, SIM_WARN_CFLAGS): Define. (SIM_WARNINGS): Delete (CONFIG_CFLAGS): Update. 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. * Make-common.in (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 * 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. 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. * 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. 1999-08-04 Doug Evans * 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. Fri Jul 16 14:47:53 1999 Dave Brolley * cgen-utils.c (RORSI): New function. (ROLSI): New function. 1999-07-14 Doug Evans * Makefile.in (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 STATE_LOAD_AT_LMA_P. 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 * 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. 1999-06-23 Doug Evans * 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. 1999-05-08 Felix Lee * aclocal.m4: Use AC_EXEEXT instead of AM_EXEEXT. Delete defn of AM_CYGWIN32 and AM_EXEEXT. * 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_INSN_ATTR_VALUE. (CGEN_STATE): Delete member opcode_table. (sim_disassemble_insn): Delete decl. * cgen-engine.h (struct insn_sem): Moved to here from -decode.c. (struct idesc): Moved to here from -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. 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. (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. 1999-01-26 Frank Ch. Eigler * 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. 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_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). 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 * 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. 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 * 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. 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 "sim-assert.h". 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 * gennltvals.sh: 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. * 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'. 1998-12-03 Frank Ch. Eigler * sim-memopt.c (sim_memory_uninstall): Deallocate all memory regions. 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 * gennltvals.sh: 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 GCC. * sim-events.c (sim_events_uninstall, sim_events_suspend, sim_events_resume, sim_events_zalloc, insert_sim_event): Ditto. 1998-11-22 Doug Evans * genmloop.sh (${cpu}_pbb_chain): Watch for Ctrl-C's. (${cpu}_pbb_cti_chain): Ditto. 1998-11-18 Doug Evans * 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. 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. * config.in: 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 * 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. 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. * Make-common.in (SIM_WARNINGS): Update. Mon Oct 19 13:56:32 1998 Doug Evans * 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. Fri Oct 9 14:20:22 1998 Doug Evans * 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. 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 * Make-common.in (install-common): Add $(EXEEXT) when installing run. 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 (law@cygnus.com) * 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 sim_event_tracef. Mon Jul 6 15:51:14 1998 Jeffrey A Law (law@cygnus.com) * sim-bits.h (EXTEND24): Define. Thu Jul 2 17:13:25 1998 Doug Evans * 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. Wed Jul 1 16:44:12 1998 Doug Evans * cgen-sim.h (RECORD_IADDR): Delete. * cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types. * genmloop.sh (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 * Make-common.in (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 Janczyn. * hw-alloc.h (HW_NZALLOC): Define. * Make-common.in (test-hw-events): Add target for testing the hw-event code. Mon May 25 21:11:26 1998 Andrew Cagney * 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. 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. * 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. 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): Declare. * 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. * Make-common.in (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". * 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. 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. * Make-common.in (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. (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. 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. * 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. 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. (TRACE_INSN_INIT,TRACE_INSN_FINI): Update. * genmloop.sh (engine_resume): Update. Fri May 15 15:59:00 1998 Joyce Janczyn * Make-common.in (install-common): Run ranlib on installed copy of libsim.a. Fri May 15 15:03:00 1998 Joyce Janczyn * Make-common.in (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 . 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. (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. Fri May 1 12:11:02 1998 Andrew Cagney * 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. 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 AM_CYGWIN32 and AM_EXEEXT. * common/Make-common.in: 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 * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: 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 * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Fri Apr 24 11:38:08 1998 Tom Tromey * 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. 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 * Make-common.in (CSEARCH): Add -I to intl directories. (INTL_LIB): Point to libintl.a. (LIBDEPS): Add $(INTL_LIB). (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 QNaN. 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 infinity. Tue Apr 14 18:49:31 1998 Andrew Cagney * sim-bits.h (EXTEND4): Define. (EXTEND4, EXTEND15, EXTEND11): Ditto. 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 * Make-common.in (RUNTESTFLAGS): Define. (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 STATE_VERBOSE_P. 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. * 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. Sat Apr 4 01:07:06 1998 Andrew Cagney * 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. 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 found. 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. * 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 Tue Mar 24 17:41:35 1998 Stu Grossman * 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. 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 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. 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 ../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. 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?" property. * 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 hw_zalloc/hw_free. 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 * 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. 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 macro.. * 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. * 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. 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 bfd_find_nearest_line. 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 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. Mon Mar 9 12:50:59 1998 Doug Evans * 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. 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 * Make-common.in (TAGS): Make smarter. * Makefile.in (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 command. 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_INFO_CPU_CALLBACK and STATE_PROFILE_INFO_CALLBACK instead. (profile_install): Install profile_info function. * sim-profile.h (PROFILE_INFO_CPU_CALLBACK, STATE_PROFILE_INFO_CALLBACK): Define. (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_module_info. * Make-common.in (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 * Make-common.in (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. (TRACE_ALU_RESULT0): Define. (TRACE_FP_RESULT_WORD): Define. (TRACE_FP_INPUT_WORD1): Define. * 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. (EXPMAX32, EXPMAX64, NR_PAD32, NR_PAD64, NR_GUARDS32, NR_GUARDS64, NORMAL_EXPMAX32, NORMAL_EXPMAX64): Define. Tue Feb 24 22:45:39 1998 Doug Evans * sim-profile.c (profile_print): Delete duplicate test of PROFILE_INSN_IDX. (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. * genmloop.sh (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 functions. (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 used. 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. * 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 -parallel. 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 WITH_TARGET_FLOATING_POINT_BITSIZE. * 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 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 WITH_TARGET_ADDRESS_BITSIZE. (signed_cell, unsigned_cell, natural_cell): Ditto using WITH_TARGET_CELL_BITSIZE. * sim-config.h (WITH_TARGET_ADDRESS_BITSIZE): Define. (WITH_TARGET_CELL_BITSIZE): Define. (WITH_HOST_WORD_BITSIZE): Delete. * 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 CPU_CIA. * 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 MAX_NR_PROCESSORS. (sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function Fri Jan 23 14:20:54 1998 Doug Evans * Make-common.in (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 * 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. * Make-common.in (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. ([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): 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. (IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF, SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here 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. * genmloop.sh: 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 CGEN_INSN_SYNTAX(). Mon Dec 15 23:17:11 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: 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 * Make-common.in (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 WITH_TREE_PROPERTIES. * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Dec 3 17:56:02 1997 Doug Evans * Make-common.in (SIM_ENVIRONMENT): New variable. (CONFIG_CFLAGS): Add it. * 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, unnecessary. (print_sim_config): Update. * sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT. (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 borrow-in. (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 * gennltvals.sh: 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. * Make-common.in (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 * gennltvals.sh: Generate syscall values for d30v. * gennltvals.sh: 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", , . (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 unlink. (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. * Make-common.in (all): Add .gdbinit. * gdbinit.in: 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. * Make-common.in (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 . (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_signalled. * sim-signal.c, sim-signal.h: New files. * Make-common.in (sim-signal.o): Add rule for. (SIM_NEW_COMMON_OBJS): Add sim-signal.o. * sim-abort.c: Don't include . * sim-basics.h: #include "sim-signal.h". * sim-break.c: Don't include . (sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP. * sim-core.c: Don't include . (SIGBUS): Delete definition. (sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS. * sim-engine.c: Don't include . (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 . (SIGTRAP): Delete definition. (has_stepped): Replace SIGTRAP with SIM_SIGTRAP. * sim-stop.c: Don't include . (control_c_simulation): Replace SIGINT with SIM_SIGINT. * sim-watch.c: Don't include . (handle_watchpoint): Replace SIGINT with SIM_SIGINT. * Make-common.in (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 * Make-common.in (srccom): New variable. * Make-common.in (DEP, COMMON_DEP_CFLAGS): Define. (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. * Make-common.in (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". * Makefile.in (nltvals.def): Depend on gennltvals.sh. 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. * gentvals.sh: New first argument `target'. Preface table with #ifdef NL_TARGET_$target if non-null target passed. * gennltvals.sh: 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. (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 instruction. 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. (STATE_TRACE_FLAGS,STRACE_P,STRACE_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 --trace-debug. * 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 initializer. * 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. * Make-common.in (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 update_time_from_event. (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. (OPTION_VALID_P): Define. * 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 * sim-core.h (DECLARE_SIM_CORE_WRITE_N. DECLARE_SIM_CORE_READ_N): 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 transfers. (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 & do_memopt_del. * 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. Document. * 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 error. * 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 arguments. 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. * sim-profile.c (OPTION_PROFILE_PC_GRANULARITY, OPTION_PROFILE_PC): Define. (profile_option_handler): Add support for --profile-pc and --profile-pc-granularity options. (profile_pc_init): When possible, compute nr buckets from bucket size. * 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. (PROFILE_PC_BUCKET_SIZE): Ditto for PROFILE_PC_SAMPLE_SIZE. * 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 unsigned_word. (LSBIT8, LSBIT16, LSBIT32, LSBIT64, MSBIT8, MSBIT16, MSBIT32, 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. (ALU8_BEGIN, ALU8_SET, ALU8_ADD, ALU8_SUB, ALU8_NEGATE): Define. (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. * Make-common.in (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 unsigned_word. 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 WITH_TARGET_BITSIZE. 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 * Make-common.in (SIM_BITSIZE): Assign from configured value. (CONFIG_CFLAGS): Add SIM_BITSIZE. * aclocal.m4 (--enable-sim-bitsize): Developer option for controling the bitsize/msb of the target. Wed Sep 24 17:41:40 1997 Stu Grossman * Make-common.in: 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 * Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign 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. * Make-common.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN, SIM_HOSTENDIAN, SIM_RESERVED_BITS, SIM_ASSERT, SIM_FLOAT, SIM_HARDWARE, SIM_INLINE, SIM_PACKAGES, SIM_REGPARM, SIM_SMP, 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 INSN_NAME. (profile_pc_init): Make default PC profile frequency an arbitrary 256. * sim-base.h: Ditto. * sim-profile.h (WITH_PROFILE_MODEL_P): Only enable modeling when SIM_HAVE_MODEL. * 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 (law@cygnus.com) * 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 BIT. * 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. (LSINSERTED, MSINSERTED): Ditto for INSERTED. * sim-n-bits.h (MSSEXTn, LSSEXTn): Replace SEXTn. (LSINSERTDn, MSINSERTEDN): Ditto for INSERTEDn. * sim-bits.h (SEXT*): Define as MSEXT/LSEXT. (INSERTED*): Ditto for LSINSERTED/MSINSERTED. Mon Sep 15 17:36:15 1997 Andrew Cagney * aclocal.m4 (SIM_AC_COMMON): Add optional config.h file argument. configure.in: 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. (print_bar): (profile_pc_init): New function, set up processor for PC profiling. (profile_print_pc): New function, print a PC profile. (profile_pc_event): New function, sample PC. * sim-profile.h (PROFILE_PC_COUNT, PROFILE_PC_START, PROFILE_PC_END, PROFILE_PC_SHIFT, PROFILE_PC_SAMPLE_SIZE): Add to 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, WITH_PROFILE_PC_P): Define. (PROFILE_CORE_COUNT): Count each core-map/size separatly. (PROFILE_COUNT_CORE): Define. 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. (LSEXTRACTED, MSEXTRACTED): New functions. * sim-n-bits.h (MASKEDn): Delete, define as MSMASKED or LSMASKED. (MSMASKEDn, LSMASKEDn): Add last argument. (MSMASK*): Ditto. * sim-bits.h (EXTEND8, EXTEND16): Define. (EXTRACTED64): Define as 64 bit extract, not 32 bit. * sim-run.c (sim_engine_run): Use CPU_CIA macro. * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use CPU_CIA to get at current instruction address. * sim-inline.h (*_ENGINE): Define. Fri Sep 5 08:39:02 1997 Andrew Cagney * sim-core.c (sim_core_attach): Fix checks of modulo/mask. * sim-watch.c (delete_watchpoint): Delete by ident and type. (watch_option_handler): Call delete_watchpoint with ident or type. (sim_watchpoint_install): Create interrupt specific watchpoint commands on the fly. (do_watchpoint_create): New function, create a watch point using type/int-nr info encoded in the option nr. (do_watchpoint_info): New function. List active watchpoints. * sim-watch.h: Change data structure to a list. * sim-memopt.c (memory_option_handler): Require explicit "all" before deleting all memory regions. * sim-utils.c (sim_do_commandf): New function, printf version of sim_do_command. * sim-basics.h (asprintf, vasprintf): Hack, define for CYGWIN32. * sim-alu.h (ALU64_ADD): Use explicit MSEXTRACTED64, do not assume bit endianness. (SIGNED64, UNSIGNED64): Delete. (ALU64_ADD): Don't rely on bit endianness. (ALU64_BEGIN): Define. * sim-n-bits.h (MSEXTRACTEDn, LSEXTRACTED): New functions. (EXTRACTEDn): Delete, define as either LSEXTRACTED or MSEXTRACTED. * sim-types.h (SIGNED64, UNSIGNED64): New macros, attach relevant suffix - u64, LL - to 64 bit constants. Thu Sep 4 09:27:54 1997 Andrew Cagney * sim-config.c (sim_config): Add assert for SIM_MAGIC_NUMBER. * sim-utils.h (NZALLOC): Define - zalloc * N. * sim-hrw.c (sim_read, sim_write): New file. Provide generic implementation of read/write functions. * Make-common.in (sim-hrw.o): New target. * sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add memory. * sim-memopt.c (memory_option_handler): Implement memory-size command. Implement memory-alias command. Let memory-delete delete all memory regions. (add_memopt): New function. Add a memory region. (do_memopt_delete): New function. Delete a memory region. * sim-utils.c (sim_elapsed_time_get): Never return zero. * sim-core.c (sim_core_detach): New function. (sim_core_map_detach): New function. Perform the actual detach. (sim_core_init): Move initialization code from here. (sim_core_install): To here. (sim_core_uninstall): And here. * sim-module.c: Add memopt module. * sim-base.h (STATE_MEMOPT, STATE_MEMOPT_P): Add memopt to simulator base type. * Make-common.in (sim_main_headers): Add sim-memopt.h (sim-memopt.o): New target. * sim-core.c (sim_core_install): Add core_options to the option table. * sim-watch.c (watch_options): Make --delete-watch a synonym for --watch-delete. * sim-config.h (WITH_MODULO_MEMORY): Define as 0. Update comments. * sim-core.h (struct _sim_core_mapping): Change nr_bytes to type address_word, add mask member. * sim-core.h, sim-core.c (sim_core_attach): Make nr_bytes of type address_word, allow for 64bit targets in 32bit host. Add modulo argument. (sim_core_map_attach): Ditto. (new_sim_core_mapping): Ditto. (sim_core_translate): Mask address when modulo memory. Wed Sep 3 17:32:54 1997 Doug Evans * sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER. * gdbinit.in: New file. * aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit. * Make-common.in (distclean): Delete .gdbinit. (.gdbinit): Add rule for. * configure: Regenerated to track ../common/aclocal.m4 changes. * Make-common.in (cgen-run.o): Add rule for. Wed Sep 3 10:08:21 1997 Andrew Cagney * sim-resume.c (sim_resume): Suspend/resume the simulator. * sim-events.c (sim_watch_valid): Compute total elapsed time from both resumed and previous elapsed time. (sim_events_init): Set initial_wallclock and current_wallclock to zero. (sim_events_install): Install sim_events_suspend and sim_events_resume. (sim_events_watch_clock): Allow for suspended simulator when computing the time of the clock event. * sim-events.h (struct _sim_event): Add resume_wallclock, rename initial_wallclock to elapsed_wallclock, set both to zero. (sim_events_init, sim_events_uninstall): Delete prototypes. * sim-module.h (MODULE_SUSPEND_FN, MODULE_RESUME_FN): Define types. * sim-module.c(sim_module_resume, sim_module_suspend): New functions. Wed Sep 3 10:08:21 1997 Andrew Cagney * sim-core.c (sim_core_map_attach): Clarify memory overlap error message. Tue Sep 2 14:57:06 1997 Doug Evans * Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker. * Make-common.in (TAGS): Likewise. * sim-n-bits.h: Add TAGS comments for all functions. * sim-n-core.h: Likewise. * sim-n-endian.h: Likewise. Mon Sep 1 10:50:11 1997 Andrew Cagney * sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and kind. * sim-base.h (sim_state_alloc): Add callback and kind arguments. * sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default definition. Sat Aug 30 09:47:21 1997 Andrew Cagney * sim-fpu.c (DP_GARDMSB, ...): Make unsigned. (DP_FRACHIGH, DP_FRACHIGH2, ..): Use MSMASK to avoid LL. Fri Aug 29 13:37:44 1997 Andrew Cagney * sim-core.c (sim_core_map_attach): Cast attach enum to int. (sim_core_xor_read_buffer, sim_core_xor_write_buffer): Make nr_transfered and nr_this_transfer unsigned. * sim-events.c (sim_events_tickn): N is signed, as limited to MAXINT. * sim-n-endian.h (offset_N): Change size to unsigned. * callback.c (os_poll_quit): Add prototypes for kbhit and getkey. Fri Aug 29 10:10:53 1997 Andrew Cagney * 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. (OPTION_ARCHITECTURE, OPTION_TARGET): Define. (standard_option_handler): Handle architecture and target options. (bfd.h): Include. * sim-utils.c (sim_analyze_program): Pass STATE_TARGET to bfd_openr. (sim_analyze_program): Set prog_bfd architecture from STATE_ARCHITECTURE if known. Wed Aug 27 18:13:22 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: 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 type. (V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values. (U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values. (V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument, return N*2 byte value with argument in Hi/Lo word. Renamed from V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8. * sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit. (ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT so that bit offset is explicit. Wed Aug 27 11:55:35 1997 Andrew Cagney * sim-utils.c (sim_analyze_program): Add prog_name argument. Update STATE_PROG_BFD when needed with a dup'd copy of the program. * sim-config.c (sim_config): Delete ABFD argument, use STATE_PROG_BFD directly. Tue Aug 26 12:55:26 1997 Andrew Cagney * run.c (main): Pass the open ABFD to sim_create_inferior. * nrun.c (main): Determine prog_bfd. Pass to sim_create_inferior and sim_load. (bfd.h): Include. * sim-hload.c (sim_load): New file. Implement generic sim_load for hardware only simulator targets. * Make-common.in (sim-hload.o): Add rule. Wed Aug 27 09:51:42 1997 Andrew Cagney * 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. * config.in: 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 (grossman@critters.cygnus.com) * sim-types.h: Fix defs of 64 bit data types for MSVC. Tue Jul 22 10:35:37 1997 Doug Evans * sim-n-core.h (sim_core_write_unaligned_N): Add missing break to FORCED_ALIGNMENT case. Thu Jun 5 13:48:37 1997 Andrew Cagney * callback.c (target_to_host_open): Handle hosts with O_BINARY. Thu Jun 5 08:47:10 1997 Jeffrey A Law (law@cygnus.com) * Make-common.in (libsim.a): Fix typo. Thu Jun 5 13:48:37 1997 Andrew Cagney * 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 default. * sim-engine.c (sim_engine_install): New function. Install the engine init functions. (sim_engine_init): [Re]initialize the simulator engine. * sim-module.c: Add sim_engine to list of modules that always install. Tue Jun 3 04:52:04 1997 Andrew Cagney * sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint to remove the old watchpoint, not delete_watchpoint. (watch_option_handler): Action the correct watchpoint, not just cycles. Wed May 28 14:47:41 1997 Andrew Cagney * sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output both low and high word. (sim_core_write_aligned_N): Ditto. * sim-trace.c (set_trace_options): Delete code explicitly setting core->trace. * sim-options.c (sim_print_help): Call the list commands if not a standalone simulator. (sim_print_help): Advise that some options may not be applicable. * sim-trace.c (set_trace_options): Assume core present. * sim-events.c (sim_events_schedule_after_signal): Overflow signal buffer when full not almost full. Tue May 27 14:32:00 1997 Andrew Cagney * 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 cpu. (sim_core_find_mapping): Ditto. * sim-core.c (sim_core_read_buffer): Add cpu argument. (sim_core_write_buffer): Ditto. * sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned transfer use xor version of read buffer. (sim_core_write_unaligned_N): Ditto for write. * sim-core.c (sim_core_xor_read_buffer): New function implement xor-endian data read breaking transfer up into xor-endian sized blocks. (sim_core_xor_write_buffer): Ditto for write. (reverse_n): Reverse order of arbitrary number of bytes in buffer - needed for xor-endian transfers. Fri May 23 14:24:31 1997 Andrew Cagney * sim-inline.h: Review description. * sim-core.h, sim-core.c: Reduce number of functions being inlined to just those involved in data transfers and configuration. * sim-xcat.h (XSTRING): New macro, map macro definition onto string. * sim-n-core.h (sim_core_read_aligned_N): Use. (sim_core_read_unaligned_N): Ditto. (sim_core_read_unaligned_N): Ditto.. (sim_core_write_unaligned_N): Ditto. * sim-core.h: Add xor endian bitmap to main structure. * sim-n-core.h (sim_core_write_aligned_N): Add suport for xor endian. (sim_core_read_aligned_N): Ditto. * sim-core.c (sim_core_set_xor_endian): New function. (sim_core_attach): Don't overwrite the per-cpu xor map when cloning the global core. Fri May 23 10:53:13 1997 Andrew Cagney * sim-engine.h: Update below so that it is using an enumerated type. 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 involved. * sim-module.c (sim_module_add_init_fn): Call init fn in the same order that they are registered. * sim-options.h (OPTION_HANDLER): Add argument to differentiate between option and command line processing. * sim-options.c: Include stdlib.h, ctype.h. * Make-common.in (sim-watch.o): Add rule. (sim_main_headers): Assume sim-assert.h included. (sim-*.o): Simplify make rule. * sim-module.c: Add sim_watch_install to module list. Tue May 20 14:15:23 1997 Andrew Cagney * sim-base.h (STATE_LOADED_P): New predicate. Set once everything has been loaded. * sim-trace.c (trace_install): Check magic. Include sim-assert.h. * sim-events.c (sim_events_install): Ditto. * sim-core.c (sim_core_install): Ditto. * sim-model.c (model_install): Ditto. * sim-options.c (standard_install): Ditto. * sim-profile.c (profile_install): Ditto. * sim-reason.c (sim_stop_reason): Ditto. * sim-run.c (sim_engine_run): Ditto. * sim-utils.c (sim_analyze_program): Ditto. * sim-module.c (modules): Make profile_install and trace_install optional. * sim-base.h (STATE_MEM_BASE): Define for flat memory systems. * sim-options.c (standard_option_handler): Set the byte order. * sim-events.c (sim_events_process): Allow multi tick processing. (sim_events_tickn): New function - multi cycle tick. * sim-events.h (sim_events_tickn, sim_events_timewarp): Add prototypes. Under development. (sim_events): Replace processing with nr_ticks_to_process. Tue May 20 09:39:22 1997 Andrew Cagney * nrun.c (main): Pass callbacks to sim_open instead of using sim_set_callbacks. * run.c (main): Ditto. Mon May 19 12:07:22 1997 Andrew Cagney * sim-events.c (sim_events_zalloc): Signal save memory allocator - stop tk interrupting malloc calls. (sim_events_zalloc): Converse. * Make-common.in (sim_main_headers): Add sim-events.h. * sim-events.c (sim_events_schedule_after_signal): Change return type to void - signal events are strictly internal. (sim_events_init): Allocate a finite buffer for signal events. (sim_events_schedule_after_signal): Enter signal events into the signal buffer. * sim-engine.c (sim_engine_halt): Check SIM_DESC magic. (sim_engine_restart): Ditto. (sim_engine_abort): Ditto. * sim-stop.c (sim_stop): Ditto. (control_c_simulation): Ditto. * sim-resume.c (sim_resume): Ditto. (has_stepped): Ditto. * sim-abort.c (sim_engine_abort): Ditto. * sim-basics.h (transfer_type): New type. * sim-core.c (sim_core_signal): New function. Print core signal information. (sim_core_find_mapping): Add transfer argument. * sim-n-core.h (sim_core_{write,write}_unaligned_N): Call SIM_CORE_SIGNAL if a recoverable abort. * sim-core.c (sim_core_find_mapping): Ditto. Fri May 16 15:13:21 1997 Andrew Cagney * 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. * Make-common.in (sim-engine.o): Add rule. (sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto. * sim-engine.h, sim-engine.c: New file. Provide generic implementation of sim_engine_halt, sim_engine_error. et.al. * sim-base.h (sim_state_base): Add member halt. (sim-engine.h): Include. * sim-events.h (sim_event_handler): Always pass SIM_DESC to event handlers. * sim-events.c (sim_events_poll): Update event handler. Tue May 13 09:57:49 1997 Andrew Cagney * sim-events.h, sim-events.c (sim_events_watch_clock): New function. (sim_events_watch_sim): New function. (sim_events_watch_core): New function. (sim_watch_valid): New function. (sim_events_preprocess): New function. (sim_events_process): Process the watchpoints as well as the timer queue. (sim_events_tick): Check WORK_PENDING instead of the hold queue. (sim_events_deschedule): Check all the queues when removing an event. (sim_events_init): Ditto for cleaning. Mon May 19 12:07:22 1997 Andrew Cagney * sim-fpu.c (is_ufpu_number): Comment out - currently unused. Mon May 19 11:23:03 1997 Andrew Cagney * callback.c (os_open): Type of arg flags is int. Fri May 16 22:26:43 1997 Michael Meissner * sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities just like normal numbers as per IEEE rules. Wed May 14 21:20:38 1997 Bob Manson * callback.c (os_close): Mark the descriptor as being available if the close succeeded. (os_open): Pass 0644 as the mode of the file being created. Thu May 15 10:58:52 1997 Andrew Cagney * sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a float. * sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_. * sim-lnline.h: Update. * sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp conversion functions. (sim_fpu_to{32,64}[iu]): New fp2int functions. * sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp compare functions. Replacing. (sim_fpu_cmp): This. Delete. Mon May 12 14:49:05 1997 Andrew Cagney * sim-core.c (sim_core_find_mapping): Call engine_error not sim_io_error when possible. Mon May 12 08:55:07 1997 Andrew Cagney * sim-endian.h (V1_H2): Add macro's to insert a word into a high/low double word. * sim-trace.h: Remove definition of attribute - defined in sim_basics.h. Mon May 12 08:55:07 1997 Andrew Cagney * sim-options.h (struct OPTION): Add doc_opt as the documenting name of the option - or family of options. * sim-options.c (sim_args_command): Match command `a-b c' with option `--a-b-c' from option table. Thu May 8 12:40:07 1997 Andrew Cagney * sim-options.c (sim_print_help): For optional arguments, wrap them in []. * sim-trace.c (set_trace_options): New function, handle optional argument and multiple assignment. (trace_option_handler): Update. * sim-trace.c (trace_option_handler): Trace branch and not fpu when branch tracing selected. Wed May 7 15:19:58 1997 Andrew Cagney * sim-trace.c (trace_one_insn): Make a va-args function. * sim-trace.c (trace_vprintf): New function, va-arg version of trace_printf. Tue May 6 16:38:16 1997 Doug Evans * sim-trace.c (trace_uninstall): Don't close a file twice. * sim-profile.c (profile_uninstall): Likewise. Tue May 6 06:14:01 1997 Mike Meissner * sim-trace.c (toplevel): Include bfd.h. (trace_options): Note that --trace-linenum also turns on --trace-insn. Add --trace-{branch,semantics}. (trace_option_handler): If --trace-linenum, also turn on --trace-insn. Add --trace-branch support. If --trace-semantics, turn on ALU, FPU, branch, and memory tracing. (trace_one_insn): New function to trace an instruction. Support --trace-linenum. (OPTION_TRACE_*): Use an enum, rather than lots of defines. * sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros. (MAX_TRACE_VALUES): Use 32, not 12 by default. (TRACE_branch): Add new mask. (TRACE_*_P): Define all possible trace_p macros. (trace_one_insn): Declare function. Mon May 5 14:08:34 1997 Mike Meissner * sim-trace.h (__attribute__): Define as nothing if not GNU C or GNU C doesn't support __attributes__. ({trace,debug}_printf): Add attribute's so -Wformat can check the format strings. Mon May 5 11:16:12 1997 Andrew Cagney * sim-config.h (FORCED_ALIGNMENT): New alignment option - addresses are masked forcing them to be correctly aligned. (WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default. * sim-config.c (config_alignment_to_a): Update. * sim-core.h (sim_cpu_core): New data type contains cpu specific core data. * sim-base.h (CPU_CORE): Add cpu specific core data to cpu base type. * sim-core.c (sim_core_attach): Add CPU argument. Ready for processor specific core maps. (sim_core_map_attach): Copy the core map data to each of the processor specific core data structures. * sim-core.c (sim_core_find_mapping): Update. * sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename. (sim_core_write_aligned_N, sim_core_write_aligned_N): New names. (sim_core_write_unaligned_N, sim_core_write_unaligned_N): New alternatives that handle unaligned addresses. (sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace with just CPU arg. * cgen-utils.c (sim_disassemble_insn): Update. Mon May 5 13:19:16 1997 Andrew Cagney * sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific tracing. * sim-fpu.h, sim-fpu.c: New files - prototype for generic target fpu support. * sim-inline.h, sim-inline.c: Add support for SIM_FPU. Fri May 2 17:59:42 1997 Andrew Cagney * sim-core.c (sim_core_map_to_str): New function ascii equivalent to map type. * sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace statement. Fri May 2 17:28:02 1997 Andrew Cagney * cgen-trace.c: Prepend additional trace_printf argument. * cgen-utils.c (sim_disassemble_insn): Add additional core arguments. Fri May 2 11:40:23 1997 Andrew Cagney * nrun.c (main): Catch/report errorenous simulator states. * sim-module.c: #include "libiberty.h" so that xmalloc is defined. * sim-trace.c: #include string.h/strings.h so that memset is defined. * sim-utils.c: Ditto. * sim-profile.c: Ditto. And stdlib.h. (print_bar): Only define when used by instruction or memory profiler. * sim-options.c (standard_option_handler): Make ul more local. * sim-load.c (sim_load_file): Make the name constant. (sim_load_file): Passify gcc. * sim-utils.h: New file, pre-declare utilites in corresponding .c file. * sim-utils.c, sim-load.c: Include sim-utils.h. * sim-base.h (sim_cpu): Pre define here so available to all. * sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N): Restore the sim_cpu and instruction_address arguments so that full information is available to the abort function. * sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto. * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update. * sim-trace.h, sim-trace.c (trace_option_handler): Add interim tracing support for sim-events and sim-core. (trace_option_handler): Convert #if to if where possible so always compiled/checked by C compiler. * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update. * sim-base.h: Adjust comment documenting how to define the cpu structure. (sim_state_base): Add sim_core and sim_events to simulator base object. * sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument. * sim-core.c (sim_core_init, sim_core_attach, sim_core_find_mapping): Update. * sim-events.c (ETRACE, sim_events_init, sim_events_time, update_time_from_event, insert_sim_event, sim_events_schedule_after_signal, sim_events_deschedule, sim_events_tick): Ditto. * sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h, sim-model.h): Move #includes from here. * sim-base.h: To here. (sim-core.h, sim-events.h, sim-io.h): Include also Wed Apr 30 15:37:54 1997 Andrew Cagney * callback.c (default_callback): Missing initialisers. Thu May 1 10:40:47 1997 Doug Evans * sim-utils.c (sim_add_commas): New function. * sim-basics.h (sim_add_commas): Add prototype. * cgen-scache.c (scache_print_profile): Print commas in numbers. * sim-profile.c (COMMAS): New macro. (print_*): Use it to print commas in numbers. * configure: Regenerated. * cgen-sim.h (sim_signal_type): Add SIM_SIGINT. (cgen_state): New member run_fast_p. (cgen_init): Add prototype. (sim_disassemble_insn): New arg `cpu'. * cgen-trace.c (trace_insn): Update call to sim_disassemble_insn. * cgen-utils.c (cgen_init): New function. (sim_disassemble_insn): New arg `cpu'. Rewrite fetching of insn. * genmloop.sh: Call engine_halt if loop exits. * Makefile.in (sim-options_h): Define. (sim-{module,options,trace,profile,utils}.o): Clean up dependencies. (sim-model.o): Add new rule. (cgen-{scache,trace,utils}.o): Add new rules. * aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add. * cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'. Indent output by 2 spaces. * cgen-scache.h (scache_print_profile): Update. * cgen-trace.c (trace_insn_fini): Indent output by 2 spaces. Use trace_printf, not fprintf. (trace_extract): Use trace_printf, not cgen_trace_printf. * genmloop.sh (!FAST case): Increment `insn_count'. * sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE. (sim_cpu_base): Rename member `sd' to `state' to be consistent with access macro's name. * sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it. Change return type to SIM_RC. (sim_core_{install,uninstall}): New functions. * sim-core.h (sim_core_{install,uninstall}): Declare. (sim_core_init): Use EXTERN_SIM_CORE to define it. Change return type to SIM_RC. * sim-model.h (models,machs,model_install): Declare. * sim-module.c (modules): Add scache_install, model_install. (sim_post_argv_init): Set cpu->state backlinks. * sim-options.c (standard_options): Delete --simcache-size,--max-insns. (standard_option_handler): Likewise. * sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to sim-profile.h. (*): Assume ANSI C. (profile_options): Delete --profile-simcache. (profile_option_handler): Likewise. (profile_print_insn): Change `sd' arg to `cpu'. Indent output 2 spaces. (profile_print_{memory,model}): Likewise. (profile_print_simcache): Delete. (profile_print_speed): New function. (profile_print): Rewrite. * sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache. (WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P. (PROFILE_DATA): Delete members simcache_{hits,misses}. (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete. (PROFILE_{CALLBACK,CPU_CALLBACK}): New types. (profile_print): Update prototype. Wed Apr 30 11:34:14 1997 Doug Evans * cgen-scache.[ch], cgen-sim.h: New files. * cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files. * sim-model.c: New file. * Make-common.in (clean targets): Undo patch of Apr. 22. Fri Apr 25 15:28:32 1997 Mike Meissner * sim-n-bits.h (signed): If we have a standard compiler, undef signed, so that signedN is defined correctly. Thu Apr 24 00:00:07 1997 Doug Evans * sim-module.h, sim-model.h, sim-profile.h: New files. * sim-module.c, sim-profile.c: New files. * Make-common.in (SIM_PROFILE): Define (CONFIG_CFLAGS): Add $(SIM_PROFILE). (sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h. (sim_module.o,sim-profile.o): Add rules for. * aclocal.m4 (--enable-sim-trace): Allow symbolic arguments. (--enable-sim-profile): Add. * configure: Regenerated. * sim-base.h (sim_state_base): New members init_list, uninstall_list, model. Move trace and profile support to sim-{trace,profile}.h. New members trace_data, profile_data. * sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h. * sim-config.h: Provide default definition of WITH_PROFILE. (WITH_TRACE): Change default to -1. (MAX_NR_PROCESSORS): Always define. * sim-options.c: Move trace and profile support to sim-{trace,profile}.h. (sim_pre_argv_init): Moved to sim-model.c. (standard_install): New function. * sim-options.h (sim_pre_argv_init): Move decl to sim-model.c. (standard_install): Declare. * sim-trace.c: Tracing option handling moved here from sim-options.c. (trace_install, trace_uninstall): New functions. (trace_printf): Update reference to TRACE_FILE. * sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h. (TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace. (WITH_TRACE_FOO_P): Define. (trace_install): Declare. (TRACE_DATA): New struct. Wed Apr 23 17:23:15 1997 Doug Evans * run.c: Undo last exec_bfd patch. (main): Only pass -E ifdef SIM_HAVE_BIENDIAN. Wed Apr 23 17:54:27 1997 Mike Meissner * run.c (exec_bfd): Add back in. (main): Set exec_bfd. Tue Apr 22 14:43:46 1997 Doug Evans * sim-load.c (sim_load_file): #include for NULL. Wed Apr 23 02:55:54 1997 Andrew Cagney * sim-events.c (insert_sim_event): Call sim_io_error instead of less well defined engine_error. * sim-core.c: Ditto. Tue Apr 22 08:48:16 1997 Stu Grossman (grossman@critters.cygnus.com) * Make-common.in: Change clean targets to use :: so that other Makefiles can have their own clean targets. * sim-load.c (xprintf eprintf): Use ANSI_PROTOTYPES instead of __STDC__ to control use of stdarg vs. varargs syntax. Some systems can't use __STDC__, but require stdarg. Fri Apr 18 11:14:43 1997 Doug Evans * sim-options.c (standard_options): Add --endian. (standard_option_handler): Likewise. * nrun.c: #include . (main, cntrl_c): Wrap calls to sim_resume in a SIGINT handler that calls sim_stop (). Fri Apr 18 13:11:36 1997 Andrew Cagney * run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT handler that calls sim_stop (). Simulators may still be establishing their own handler. * sim-events.c (sim_events_poll): Rename from sim_events_at_large_int. Poll IO. * sim-io.c (sim_io_poll_quit): New function - pass on a polling request. * callback.c (os_poll_quit): New function poll for quit signal where needed. (default_callback): Include magic number. Thu Apr 17 02:25:11 1997 Doug Evans * aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h. Check for functions getrusage, time. * sim-basics.h (SIM_ELAPSED_TIME): New typedef. (sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes. * sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able. (sim_elapsed_time_get, sim_elapsed_time_since): New functions. * sim-utils.c (sim_copy_argv, sim_analyze_program): New functions. * sim-options.c, sim-options.h: New files. * sim-config.h (WITH_DEBUG): Provide default value of zero. * Make-common.in (nrun.o): Add rules for. * nrun.c: New file. * run.c (main): Check return value of sim_open. * Make-common.in (sim-options.o, sim-load.o, sim-trace.o): Add rules. (sim_main_headers): Add sim-trace.h. * run.c (exec_bfd, target_byte_order): Delete. (main): Pass -E to sim_open. Delete code to load sections, call sim_load instead. Check return code of sim_create_inferior. * sim-base.h (CURRENT_STATE): Define. (sim_state_base): Make typedef. New members options, prog_argv, prog_bfd, text_{section,start,end}, start_addr, simcache_size, mem_size, memory [+ corresponding access macros]. (sim_cpu_base): New typedef. * sim-trace.h: New file. * sim-trace.c: New file. * sim-basics.h: #include it. * sim-load.c: New file. Tue Apr 15 15:10:13 1997 Ian Lance Taylor * Make-common.in (INSTALL): Set to @INSTALL@. (INSTALL_XFORM, INSTALL_XFORM1): Remove. (install-common): Depend upon installdirs. Use $(program_transform_name) directly, rather than using $(INSTALL_XFORM). (installdirs): New target. * Makefile.in (INSTALL): Set to @INSTALL@. (INSTALL_XFORM, INSTALL_XFORM1): Remove. (install-man): Depend upon installdirs. Use $(program_transform_name) directly, rather than using $(INSTALL_XFORM). (installdirs): New target. Tue Apr 15 15:08:12 1997 Andrew Cagney * sim-assert.h (SIM_ASSERT, ASSERT): Allow these macros to be overriden. Wed Apr 9 16:06:44 1997 Andrew Cagney * sim-basics.h: Only bring in config.h and tconfig.h if HAVE_CONFIG_H. Mon Apr 7 11:39:45 1997 Andrew Cagney * sim-config.h (WITH_TARGET_WORD_MSB): New Macro. Define the bit numbering convention of the target. * sim-config.c (print_sim_config): Print WITH_TARGET_WORD_BITSIZE and WITH_TARGET_WORD_MSB. (sim_config): When possible, check for consistency with bitsize and msb. * sim-bits.h: Allow MSB to be other than zero. * sim-bits.c: Ditto. * sim-n-bits.h: Ditto. * sim-bits.h (MSMASK*): New macros - converce to LSMASK*. * sim-n-bits.h (MSMASKEDn): Ditto. Mon Apr 14 16:29:21 1997 Ian Lance Taylor * Makefile.in (INSTALL): Change install.sh to install-sh. Mon Apr 7 10:46:38 1997 Doug Evans * sim-base.h (sim_state_base): Move `magic' to end of struct. Mon Apr 7 15:53:21 1997 Andrew Cagney * run.c (main): Check that a program to run was specified. Mon Apr 7 15:45:02 1997 Andrew Cagney * aclocal.m4 (AC_TYPE_SIGNAL): Add check. * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Wed Apr 2 15:06:28 1997 Doug Evans * sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here, * sim-config.h: To here. * Make-common.in (SIM_EXTRA_DEPS): New config var. (sim_main_headers): Define. (sim-*.o): Depend on $(SIM_EXTRA_DEPS). (BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in. (clean): Use it. (sim-utils.o): Add rule for. * sim-utils.o: New file. * sim-basics.h: #include sim-base.h. (zalloc): Make argument unsigned long. * sim-base.h: New file. * sim-inline.h (SIM_IO support): Delete. * sim-io.h: Delete inline support. * sim-io.c: Likewise. sim-state.h renamed to sim-main.h. * sim-config.c: sim-state.h renamed to sim-main.h. * sim-core.c: Likewise. * sim-events.c: Likewise. * run.c (main): Pass SIM_OPEN_STANDALONE to sim_open. * aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h. (sim-debug): Allow arguments. Define WITH_DEBUG in addition to -DDEBUG. * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Apr 2 14:34:19 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Apr 2 11:08:11 1997 Andrew Cagney * sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT, WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these are defined by the configure. * aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure. * aclocal.m4 (floating-point, xor-endian, alignment, smp, reserved-bits): Always define. * sim-config.h, sim-config.c (sim_config): New function - and new file - co-ordinate the setting/checking of the common simulator configuration options. * Make-common.in (sim-config.o): Add rule. Fri Mar 28 15:32:00 1997 Mike Meissner * callback.c (os_{,e}vprintf_filtered): Change stdarg type to va_list from void *, since va_list might not be a pointer type. Mon Mar 24 15:27:12 1997 Andrew Cagney * sim-n-endian.h (offset_N): Correct assertion - word and sub word in wrong order. (offset_N): Correct computation of LE offset. * sim-io.c (sim_io_error): Include a new line when reporting errors. * sim-assert.h (SIM_FILTER_PATH): Out by one when locating last `/'. Thu Mar 20 22:31:06 1997 Jeffrey A Law (law@cygnus.com) * run.c: Include alloca-conf.h. * callback.c (os_evprintf_filtered): Fix typo. Fri Mar 21 13:36:20 1997 Andrew Cagney * run.c (string.h, strings.h, stdlib.h): Include. * sim-events.c (sim_events_tick): Recent cleanup failed to return 0 when nothing pending. * run.c (sim_size, sim_trace): Plicate GCC - these two functions will soon be going away. (getopt): Plicate GCC. * sim-endian.c (sim-io.h): Plicate GCC. * sim-bits.c (sim-io.h): Ditto. * sim-n-bits.h (ROTn): Ditto. * sim-io.c (sim_io_error): Correct check for NULL. * sim-assert.h (SIM_FILTER_PATH): Separate out the code filtering the __FILE__. * sim-events.c: Use SIM_FILTER_PATH to filter out the filename path. Wed Mar 19 01:12:06 1997 Andrew Cagney * aclocal.m4 (SIM_AC_OPTION_*: Move so that they are outside of SIM_AC_COMMON - SIM_AC_COMMON was gobling arguments. Tue Mar 18 20:48:12 1997 Andrew Cagney * sim-alu.h: Include sim-xcat.h. Tue Mar 18 13:58:18 1997 Andrew Cagney * Make-common.in (sim-bits.c, sim-core.c, sim-endian.c, sim-events.c, sim-inline.c, sim-io.c): Define rules for building these. * sim-events.c (sim_events_at_large_int): New function. Just schedules an event every large-int ticks. (sim_events_init): Call. (sim_events_tick, sim_events_process): Move async handing to sim_events_process. Move timer decrement so that it occures after events have been processed. * sim-basics.h (struct _engine): Remove declaration. * sim-events.h, sim-events.c: Rename type to sim_events. Prefix everything with same. Rename global struct to SIM_DESC. * sim-core.h, sim-core.c, sim-n-core.c: Ditto for sim_core. * sim-io.h, sim-io.c: Ditto. * sim-assert.h: New file. Optional assertion checking macros. * sim-io.c (sim_io_error): Make just this function tolerant to null pointers. * sim-xcat.h: New file. Define concatenate macros. * sim-basics.h (XCONCAT*): Move to sim-xcat.h. * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Explicitly include concat macros. Tue Mar 18 12:44:55 1997 Andrew Cagney * sim-bits.h (LSMASK): New macro. Create mask of LS bits. Mon Mar 17 18:10:05 1997 Andrew Cagney * sim-inline.h: Add definitions for sim-types. (ALL_BY_MODULE): New macro, encapsulate full inlining by the module. Mon Mar 17 15:38:27 1997 Andrew Cagney * sim-events.h: Remove defunct reference to callback struct. Mon Mar 17 15:10:07 1997 Andrew Cagney * configure: Re-generate. Mon Mar 17 15:04:47 1997 Andrew Cagney * Make-common.in (CSEARCH): Do not include the gdb directory in the search path. Mon Mar 17 13:16:26 1997 Andrew Cagney * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE, SIM_WARNING): Drop, requiring the simulator specific Makefile.in to explicitly incorporate these. * aclocal.m4 (--enable-sim-alignment); New option. Strongly specify the alignment restrictions of the target architecture - without this option all alignment restrictions are accomodated. (--enable-sim-assert): New option. Conditionally compile in assertion statements. (--enable-sim-float): New option. Strongly specify the target's floating point support. (--enable-sim-hardware): New option. Specify the hardware devices included in the simulation. (--enable-sim-packages): New option. Specify the hardware packages included in the simulation. (--enable-sim-regparm): New option. Specify that parameters be passed in registers instead of on the stack. (--enable-sim-reserved-bits): New option. Specify that reserved bits within an instruction are are correctly set. (--enable-sim-smp): New option. Specify the level of SMP support to be included in the simulator. (--enable-sim-stdcall): New option. Specify an alternative function call convention. (--enable-sim-xor-endian): New option. Configure xor-endian support used by some targets to implement bi-endian support. Fri Mar 14 19:51:21 1997 Andrew Cagney * aclocal.m4 (--enable-sim-hostendian): New option. Allow the host endianness to be overridden. (--enable-sim-endian): Allow the target platform's byte order to be overridden. (--enable-sim-inline): Control the inlining of common components. (--enable-sim-bswap): For compatibility, also define WITH_BSWAP. (--enable-sim-warnings): Enable additional GCC compiler checks. * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE, SIM_WARNINGS): Add. * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Rename from sim-*-n.h so that the names are uniq on dos machines * sim-core.c, sim-bits.c, sim-endian.c: Update. Thu Mar 13 12:32:42 1997 Doug Evans * run.c: #include "libiberty.h". (main): New locals sd,no_args,sim_argv. Run buildargv on -a option. Pass argv to sim_open, argv[0] is program name. Update call to sim_set_callbacks. Record result of sim_open, pass to other sim_foo routines. Thu Mar 13 10:24:05 1997 Michael Meissner * callback.c (os_printf_filtered): Do not call exit(1) or print a final newline. Thu Mar 6 15:50:28 1997 Andrew Cagney * callback.c: Add os_flush_stdout and vprintf_filtered callbacks. Route stdout through buffered IO. * callback.c: Add os_flush_stderr, os_write_stderr, os_evprintf_filtered functions to route error output through stderr. * sim-io.h, sim-io.c (sim_io_flush_stderr, sim_io_flush_stdout): Correct return type - should be void. Fri Mar 7 20:14:37 1997 Andrew Cagney * sim-basics.h: Clean up. Many macro's moved to sim-inline.h. * sim-config.h: Ditto. For some options - eg WITH_DEVICES - do not provide a default value as undefined indicates disable code. Thu Mar 6 15:50:28 1997 Andrew Cagney * sim-core.h, sim-core-n.h, sim-core.c: Borrow code from ppc directory. * sim-events.h, sim-events.c: Ditto. * sim-io.h, sim-io.c: Ditto. Tue Mar 4 09:35:56 1997 Andrew Cagney * sim-alu.h (ALU_SUB_CA, ALU*_SUB_CA): New alu operation. * sim-bits.h, sim-bits-n.h, sim-bits.c (LSMASKED*): New macro's extract the tail or least signifiant bits from an integer of the specified size. * sim-bits.h, sim-bits.c: Clean up conditionally compiled #if WITH_TARGET_BITSIZE so that the compilation will fail when an unsupported bitsize value is defined. (INSERTED*): Convert to functions. (EXTRACTED*): Ditto. (SIGN_EXTEND, SEXT): Change to more terse name. Tue Mar 4 09:35:56 1997 Andrew Cagney * sim-inline.h: Allow explicit control over which .c files will be included by their header. * sim-inline.h: Allow explicit control over which .c files use the alternative - REGPARM - parameter passing mechanism. * sim-inline.h, sim-inline.c: Don't attempt to include any of icache.c, idecode.c, semantics.c or support.c. Those names are not generally applicable. Thu Feb 27 10:17:23 1997 Andrew Cagney * sim-bits.c, sim-bits-n.h (new): Split sim-bits.c into two parts in a fashion similar to sim-endian-n. * sim-endian.h: (H_word, L_word, AL_*, VL_*): Extend to include both value and address macro's. Tue Feb 25 18:51:57 1997 Andrew Cagney * sim-alu.h (ALU16_BEGIN, ALU16_SET, ...): Fill in. * sim-endian.h (L_word, H_word): Replace MS2W_4, LS2W_4 with more generic L_word, H_word macro's. Thu Feb 20 18:36:55 1997 Andrew Cagney * sim-basics.h: Borrow code from ppc directory. * sim-bits.c: Ditto. * sim-bits.h: Ditto. * sim-config.h: Ditto. * sim-endian-n.h: Ditto. * sim-endian.c: Ditto. * sim-endian.h: Ditto. * sim-inline.c: Ditto. * sim-inline.h: Ditto. * sim-types.h: Ditto. Wed Feb 19 12:40:50 1997 Andrew Cagney * sim-alu.h (ALU_SET16, ALU_SET32, ALU_SET64, etc): Make available all the ALU size alternatives and then auto-configure a default. * sim-alu.h: Copy ppc/idecode_expression.h. Mon Feb 17 10:44:18 1997 Andrew Cagney * bits.h, bits.c (SIGN_EXTEND32, SIGN_EXTEND64): New functions, sign extend a bit within a value. * sim-endian.h, sim-endian-n.h (offset_N): New functions - return a pointer into the middle of a host word. * sim-endian.h (MS2W_4, LS2W_4): Use this function. Tue Feb 11 13:46:49 1997 Michael Meissner * callback.c: If HAVE_CONFIG_H is defined, include config.h from autoconf. If HAVE_UNISTD_H is defined, include unistd.h to get appropriate definitions of read, write, etc. Add prototype for system. Tue Feb 4 13:24:44 1997 Doug Evans * Makefile.in (libcommon.a): Delete. (callback.o,targ-map.o): Delete, moved to Make-common.in. (gentmap,targ-vals.h,targ-map.c): Likewise. (run-autoconf): Delete. * aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile. (common makefile fragment): Moved back into ... * Make-common.in: Resurrect. * configure.in (AC_LINK_FILES): Delete, unnecessary now. * configure: Regenerated. Fri Jan 31 07:16:49 1997 Doug Evans * aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here. (SIM_AC_OUTPUT): To here. Fri Jan 24 10:37:17 1997 Stu Grossman (grossman@critters.cygnus.com) * aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in comments and single quotes. Fixes a problem found on hpux. Thu Jan 23 13:35:03 1997 Stu Grossman (grossman@critters.cygnus.com) * aclocal.m4: Remove Make-common.in from dependencies. * (distclean): Remove targ-vals.def. * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in into here. Makes insertion into makefiles easier. Also, change the way that callback.o, gentmap, targ-vals.h, targ-map.c, targ-map.o, and run are built. They are now built in the individual simulator directories, taking sources from ../common as necessary. This replaces the merging of libcommon.a into linsim.a, which was problematic for the WinGDB build process. * run.c: Include config.h from . instead of ../common. * Make-common.in: Remove. It's no longer necessary. Mon Dec 16 15:02:33 1996 Ian Lance Taylor * Make-common.in (ALL_CLAGS): Put CFLAGS at the end. (.c.o): Put $(ALL_CFLAGS) before the file being compiled. Wed Dec 11 11:30:58 1996 Jim Wilson * run.c (main): Set target_byte_order before call to sim_open. Sun Dec 8 18:22:06 1996 Doug Evans * callback.c: #include (os_error): New function. (default_callback): Add os_error. Mon Nov 25 19:44:35 1996 Doug Evans * Make-common.in (Makefile): Set CONFIG_HEADERS="". * aclocal.m4: Mark the fact that --enable-sim-bswap isn't host specific. (SIM_AC_OUTPUT): Don't build Makefile if CONFIG_FILES="". Wed Nov 20 01:11:04 1996 Doug Evans * run.c: #include ../common/config.h, tconfig.h. (myname): New static global. (main): Recognize new options -a, -c. Also recognize -h if h8/300. Only process -c ifdef SIM_HAVE_SIMCACHE. Only process -p/-s ifdef SIM_HAVE_PROFILE. Parse program name from argv[0] and use in error messages. Pass sim_args to sim_open. Pass prog_args to sim_create_inferior. Add support for incomplete h8/300 termination indicators. (usage): Make more verbose. * aclocal.m4,config.in,tconfig.in,configure.in,configure: New files. * Makefile.in,Make-common.in,callback.c: New files. * nltvals.def,gentmap.c,gentvals.sh: New files. Tue Nov 12 13:34:00 1996 Dawn Perchik * run.c: Include stdarg.h if __STDC__. Tue Oct 15 11:16:31 1996 Jeffrey A Law (law@cygnus.com) * run.c (main): Don't print out anything if the signal number is zero (ie no signal). Tue Oct 15 11:20:44 1996 Michael Meissner * run.c (main): Print out if the program raised a signal. Wed Sep 18 09:52:14 1996 Michael Meissner * run.c (exec_bfd): Rename from sim_bfd, to use the gdb name. (main): Ditto. Tue Sep 17 11:04:50 1996 James G. Smith * run.c (main): Explicitly cast malloc() parameter. Thu Sep 12 11:27:21 1996 Michael Meissner * run.c (sim_bfd): New global to hold the bfd pointer for the executable. (main): Initialize sim_bfd. Fri Dec 15 16:27:49 1995 Ian Lance Taylor * run.c (main): Use new bfd_big_endian macro. Wed Nov 8 15:49:49 1995 James G. Smith * run.c (main): Removed SH specific comments, so source is generic. Also updated to only load relevant sections. Moved sim_open() to after callback attach (to match GDB). * run.1: Removed SH specific comments. Sat Oct 21 12:31:01 1995 Jim Wilson * run.c (main): Always return sigrc at end. Tue Oct 10 12:03:13 1995 J.T. Conklin * run.c (main): Print error diagnostic and exit if bfd_openr() or bfd_check_format() fails. Thu Sep 28 15:40:36 1995 steve chamberlain * run.c, run.1: From sh directory.