aboutsummaryrefslogtreecommitdiff
path: root/sim/common
AgeCommit message (Collapse)AuthorFilesLines
1999-01-26* Update copyright year.Frank Ch. Eigler1-1/+1
1999-01-26* Implement --memory-fill and fix --memory-clear options,Frank Ch. Eigler2-26/+115
for internal PR 18869 and 18870. 1999-01-26 Frank Ch. Eigler <fche@cygnus.com> * 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 * cgen-defs.h (PCADDR,CIA): Define in terms of IADDR.Doug Evans1-0/+20
(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 * cgen-trace.c (trace_insn): Pass pc to trace_prefix for virtual insns.Doug Evans2-1/+3
1999-01-12 * sim-model.h (sim_mach_lookup_bfd_name): Add prototype.Doug Evans1-0/+6
* sim-model.c (sim_mach_lookup_bfd_name): New function. (sim_model_init): Call it.
1999-01-11* gx sim prototype tweaksFrank Ch. Eigler4-43/+86
start-sanitize-gxsim 1999-01-11 Frank Ch. Eigler <fche@cygnus.com> * sim-gx-run.c (sim_engine_run): Allay warnings. Write out updated gx block list after each successful compilation job. * sim-gx.c (sim_gx_compiled_block_f): dlopen the main executable image, to allow gx block DLLs to resolve symbols there. (sim_gx_{read,write}_block_list): Allay warnings. (sim_gx_block_translate): Allay warnings. Add $GX_FLAGS to gx compilation/link jobs. * sim-gx.h: Allay warnings. end-sanitize-gxsim
1999-01-06 * Make-common.in (CGEN_INCLUDE_DEPS): Add cgen-defs.h, cgen-engine.h.Doug Evans8-224/+810
(CGEN_MAIN_SCM): Add rtx-funcs.scm. (cgen-arch): Pass $(mach) to cgen.sh. * 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-30* ChangeLog tweakFrank Ch. Eigler1-3/+3
1998-12-30* eCos->devo mergeFrank Ch. Eigler2-52/+179
1998-12-24 Frank Ch. Eigler <fche@cygnus.com> * 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-11Compare with ZERO not NULL.Andrew Cagney1-0/+5
1998-12-10Include "sim-assert.h".Andrew Cagney1-0/+5
1998-12-09 * cgen-scache.c (scache_flush): Delete unused locals i,sc.Doug Evans1-0/+1
1998-12-09* sim-trace.c: Include stdlib.h if present.Doug Evans1-1/+1
1998-12-09* sim-arange.c: Include libiberty.h, and stdlib.h if present.Doug Evans2-0/+7
1998-12-09 * dv-sockser.c: Include unistd.h if present.Doug Evans1-1/+6
(dv_sockser_init): Add missing arg to call to sim_io_eprintf.
1998-12-09Add i960 support to sim/common.Jim Wilson1-0/+5
* gennltvals.sh: Add i960. * nltvals.def: Rebuild.
1998-12-05* gxtool silence tweakFrank Ch. Eigler1-1/+1
1998-12-05(profile_print_addr_range): Pretty up output a little.Doug Evans1-2/+2
1998-12-05 * cgen-defs.h: New file, old cgen-sim.h.Doug Evans6-132/+554
* 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.h (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.
1998-12-05* sim-memopt.c (sim_memory_uninstall): Result type is `void'.Doug Evans1-0/+2
1998-12-05address range supportDoug Evans4-0/+389
1998-12-01* A few more improvements to gx jit prototype.Frank Ch. Eigler4-36/+47
[common/ChangeLog] 1998-12-01 Frank Ch. Eigler <fche@elastic.org> * sim-gx-run.c (sim_engine_run): Use new tgx_info struct to collect run-time arguments to gx block. * sim-gx.h (sim_gx_function): Corresponding signature change. * sim-gx.c (sim_gx_compiled_block_f): Remove nonfunctional code to again compile a gx block source file. (sim_gx_compiled_block_dispose): Uninstall obsoleted gx block shared libraries. (sim_gx_block_translate): Always emit new "gx_label_NNNN" labels, for basic block entry points, even if !__GNUC__. [m32r-gx/ChangeLog] 1998-12-01 Frank Ch. Eigler <fche@elastic.org> * Makefile.in (SIM_OBJS): Don't build sim-core.o. * configure.in: Added --enable-sim-inline support. Look for "getenv()" function. * configure: Rebuilt. * config.in: Rebuilt. * gx-translate.c: Include "sim-inline.c" for sim-core inlining. (m32r_gx_{load,store}*): Update signature. (tgx_emit_pre_function): Emit new "tgx_info" struct, update callback function signatures. (m32r_emit_*_insn): Use new callback signatures. For all short branches in optimized mode, emit direct "goto gx_label_NNNN". (tgx_optimize_test): If the GX_OPTIMIZE environment variable is set, allow its integer value to override the optimization heuristic. * m32r-sim.h: New empty placeholder file. * sim-main.c: New empty placeholder file. * sim-if.c (sim_create_inferior): Use NULL instead of &abort for unimplemented register fondling functions. * sim-main.h: Add multiple inclusion guard. Update callback function signatures. (tgx_info): New struct for collecting gx block invocation arguments.
1998-11-30* cgen-utils.c (cgen_virtual_opcode_table): Update.Doug Evans1-0/+9
1998-11-24Add d10v and v850 to gennltvals.sh and regenerate.Andrew Cagney2-8/+65
Add a howto.
1998-11-23Pacify GCC.Andrew Cagney1-0/+9
1998-11-22 * genmloop.sh (${cpu}_pbb_chain): Watch for Ctrl-C's.Doug Evans1-0/+5
(${cpu}_pbb_cti_chain): Ditto.
1998-11-21* mild gx prototype tweakFrank Ch. Eigler2-4/+48
start-sanitize-gxsim 1998-11-21 Frank Ch. Eigler <fche@elastic.org> * sim-gx.c (sim_gx_block_translate): Generate computed goto for __GNUC__ instead of plain switch() for gx block entry. Lose "-g" compile option for gx block. end-sanitize-gxsim
1998-11-18 * Make-common.in (cgen-utils.o): Depend on cgen-engine.h.Doug Evans2-17/+42
(CGEN_ARCH_SCM): New variable. * 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.scm: #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.
1998-11-18 * gennltvals.sh: Add fr30 support.Doug Evans3-6/+61
* nltvals.def: Rebuild.
1998-11-17Re-do type system so that GCC's explicit attribute/mode types are usedAndrew Cagney1-0/+5
(when available). Update sim-bits and sim-alu tests in sim/testsuite/common.
1998-11-16* sun build fix for thinko (?)Frank Ch. Eigler1-1/+1
1998-11-14* Personal prototype "gx" translation-based JIT engine for M32R.Frank Ch. Eigler6-0/+1159
[ChangeLog] start-sanitize-gxsim 1998-11-13 Frank Ch. Eigler <fche@elastic.org> * configure.in: Added "--enable-sim-gx" option. * configure: Regenerated. end-sanitize-gxsim [common/ChangeLog] 1998-11-13 Frank Ch. Eigler <fche@elastic.org> start-sanitize-gxsim * Make-common.im: Build sim-gx.o and sim-gx-run.o. * sim-gx.c: New file: target-independent gx routines. * sim-gx.h: Declarations for gx structs and routines. * sim-gx-run.c: New file: target-independent gx driver. * sim-base.h: Add gx block vector to state struct. end-sanitize-gxsim * aclocal.m4: Add tests for dlopen family.
1998-11-11 * sim-hload.c (sim_load): Pass `prog_name' to sim_load_file, not NULL.Doug Evans1-0/+4
1998-11-05 * genmloop.sh (eng.hin): Rename HAVE_PARALLEL_EXEC toDoug Evans4-220/+98
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.
1998-11-04add some commentsDoug Evans2-347/+1005
1998-10-29fix minor typo.Michael Snyder1-1/+1
1998-10-28Unify (well almost) --enable-build-warnings configuration optionAndrew Cagney4-232/+617
across GDB and SIM directories.
1998-10-19 * Make-common.in (CGEN_INCLUDE_DEPS): Define.Doug Evans1-0/+3
(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.
1998-10-09 * Make-common.in (sim-reg.o): New rule.Doug Evans1-0/+147
(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.
1998-10-07cgen-run.c: new mainloop for cgenDoug Evans3-0/+256
sim-reg.c: generic sim_fetch/store_register interface fns
1998-09-01* Build fixes for tx39 sim hosted on strange Linux boxen.Frank Ch. Eigler1-0/+8
[common/ChangeLog] Tue Sep 1 15:36:52 1998 Frank Ch. Eigler <fche@cygnus.com> * sim-config.h: Remove reference to linux kernel header. [mips/ChangeLog] Tue Sep 1 15:39:18 1998 Frank Ch. Eigler <fche@cygnus.com> * dv-tx3904sio.c: Include sim-assert.h.
1998-08-25* eCos tx3904sio sim - devo part 1/2Frank Ch. Eigler1-0/+377
Tue Aug 25 12:45:27 1998 Frank Ch. Eigler <fche@cygnus.com> * dv-sockser.c (sockser_addr): Make variable non-static.
1998-08-24* sim-hw.{c,h} (sim_hw_parse): Return struct hw pointer.Joyce Janczyn1-0/+13
1998-08-03 * cgen-sim.h (cgen_state): New member opcode_table.Doug Evans1-1/+8
* cgen-utils.c (sim_disassemble_insn): Use it.
1998-07-24 * cgen-mem.h (DECLARE_SETT): Fix return type.Doug Evans1-0/+2
1998-07-24 * sim-model.c (model_option_handler): Remove unused variable `n'.Doug Evans1-0/+4
1998-07-24remove d30v sanitizationIan Lance Taylor2-32/+1
1998-07-21 * cgen-utils.c: Include bfd.h.Doug Evans1-0/+9
(sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.
1998-07-08Add a printf fmt style version of sim_events_schedule.Andrew Cagney1-0/+15
This allows the caller to specify extra trace information that is only evaluated when tracing is enabled.
1998-07-06 * sim-bits.h (EXTEND24): Define.Jeff Law2-0/+6