Andrew Cagney
a97f304b04
Add support for configuring the size of the floating point unit (fp_word).
...
For mips, move fp_registers into a separate array of type fp_word[].
1998-02-02 14:06:52 +00:00
Andrew Cagney
01737f42d8
mips: Add multi-processor support for r5900. Others might work.
...
common, igen: Fix MP related bugs.
1998-02-01 03:29:48 +00:00
Andrew Cagney
412c4e940e
Add config support for the size of the target address and OF cell.
1998-01-31 14:07:23 +00:00
Andrew Cagney
9ec6741b17
igen: Fix SMP simulator generator support.
...
Use the bfd-processor name in the sim-engine switch.
Add nr_cpus argument to sim_engine_run.
tic80, v850, d30v, mips, common:
Update
mips: Fill in bfd-processor field of model records so that
they match ../bfd/archures.
1998-01-31 06:23:41 +00:00
Doug Evans
7caebec6f6
* cgen.sh: Portably read parms past $9.
1998-01-29 12:14:10 +00:00
Doug Evans
ed6f14718b
* Make-common.in (stamp-tvals): New rule.
...
(targ-vals.h,targ-map.c): Depend on it.
(clean): Remove stamp-tvals.
1998-01-23 22:22:23 +00:00
Michael Meissner
e9ae18efdb
#if 0 unused variable
1998-01-21 02:38:09 +00:00
Doug Evans
462cfbc4eb
* aclocal.m4: Recognize --enable-maintainer-mode.
...
*/configure: Regenerated.
1998-01-20 06:37:00 +00:00
Doug Evans
4a44afd5c7
* Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
1998-01-20 03:57:14 +00:00
Doug Evans
36de6f40d4
sanitize keep-cygnus cgen generation
1998-01-20 02:36:21 +00:00
Doug Evans
189e2694ad
* Make-common.in (cgen-{arch,cpu,decode}): New targets.
...
* cgen.sh: New file.
* cgen-scache.h: Deleted.
* 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.
1998-01-19 21:14:14 +00:00
Doug Evans
8cc6a83b83
* 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.
1998-01-19 21:11:00 +00:00
Doug Evans
7e13b93461
* sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.
1998-01-19 21:09:43 +00:00
Doug Evans
76da664703
Fix comment.
1998-01-19 14:13:30 +00:00
Nick Clifton
ef13d3e3ed
replaced call to CGEN_INSN_SYNTAX()->mnemonic with CGEN_INSN_MNEMONIC()
1998-01-16 20:36:07 +00:00
Doug Evans
9bb68e2096
* 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.
1997-12-05 00:04:46 +00:00
Doug Evans
6e51f990a2
Regenerate configure files.
1997-12-04 17:26:06 +00:00
Doug Evans
22469a10e8
* 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.
1997-12-04 02:04:42 +00:00
Michael Meissner
97b25f990d
Delete sim_io_syscalls and sim_io_getstring
1997-11-30 22:42:08 +00:00
Michael Meissner
f2907f7425
Switch to using cb_syscall; Fix bug in cb_syscall write
1997-11-29 01:29:20 +00:00
Michael Meissner
465db791ec
Fix problems with d30v addc/subb
1997-11-29 01:14:58 +00:00
Doug Evans
1294727e84
* gennltvals.sh: Redo syscall support to allow sanitization.
...
* nltvals.def: Regenerated.
And add d30v sanitization.
1997-11-28 19:18:01 +00:00
Doug Evans
6be035091a
* 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.
1997-11-26 22:11:31 +00:00
Michael Meissner
ac07041378
Flush writes to stdout, stderr
1997-11-26 21:52:16 +00:00
Andrew Cagney
3885125c8e
* sim-io.c (sim_io_getstring): Delete unused len2. (sim_io_syscalls):
...
Ditto for sys_errno.
1997-11-26 21:35:53 +00:00
Doug Evans
6b8d6a1c49
Delete magic number FIXME.
1997-11-26 19:53:26 +00:00
Doug Evans
4123aca810
Undo last change. callback.h changed instead.
...
Plus:
* syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
1997-11-26 19:52:34 +00:00
Doug Evans
fc63d75ab3
* syscall.c (cb_syscall, cases stat, fstat): Handle -Wall -Werror.
1997-11-26 19:19:58 +00:00
Michael Meissner
69628a60ea
nuke lseek
1997-11-26 01:13:40 +00:00
Doug Evans
4ee2892be8
Add comment.
1997-11-25 18:43:29 +00:00
Doug Evans
f33673061f
* callback.c (os_stat): Make 3rd arg a host struct stat ptr.
...
(os_fstat): Likewise. Validate fd argument.
(cb_host_to_target_stat): Delete big_p arg. If HS arg is NULL,
just compute target stat struct length.
* syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
(ENOSYS,ENAMETOOLONG): Provide definitions if missing.
(get_string): Return host errno values so they can be properly
translated later.
(cb_syscall): Likewise.
(cb_syscall, cases open,unlink): Use get_path instead of get_string.
(cb_syscall, case read): Use read_stdin for file descriptor 0.
(cb_syscall, case write): Use write_stderr for file descriptor 2.
(cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
(get_path): New function.
1997-11-25 09:33:34 +00:00
Doug Evans
c76e66831a
* gennltvals.sh: Generate syscall values for d30v.
...
Use libgloss/syscall.h for sparc.
* nltvals.def: Regenerate.
1997-11-25 08:18:57 +00:00
Michael Meissner
3445e1cefb
Add sim_io_syscalls to do common system call emulation
1997-11-24 23:59:20 +00:00
Doug Evans
091521c48b
* 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.
1997-11-24 22:21:51 +00:00
Doug Evans
8f3cfc0efb
Entries for .gdbinit additions and sim-model.c option fix.
1997-11-24 22:09:12 +00:00
Doug Evans
4b5545c9f0
* sim-model.c (model_options): Use '\0' for `shortopt'.
1997-11-24 20:43:38 +00:00
Doug Evans
f375dd7d0e
* Make-common.in (all): Add .gdbinit.
...
* gdbinit.in: Add dump command.
1997-11-24 20:14:35 +00:00
Doug Evans
f2ea891349
* sim-core.c (sim_core_signal): Fix spelling error in message.
...
* sim-hrw.c (sim_read): Use read map, not write map.
1997-11-24 20:11:02 +00:00
Andrew Cagney
4ba8d09fe2
Change MIPS simulator so that it uses the (software) module sim_fpu
...
for floating point operations. Eliminates all dependencies the
simulator had on the hosts FP implemantation.
Add sim_fpu_{inv,abs,neg} functions to sim_fpu.[hc]
1997-11-23 03:34:15 +00:00
Andrew Cagney
aaa11abe42
Clarify meaning of sim_signalled's SIGRC argument. Document that this
...
isn't possible in sim-reason.c and just return the target SIGRC
instead.
For simulators that rely on sim-reason.c, replace SIG* with SIM_SIG*.
Hack nrun.c so that when it is executed (ARGV[0]) as `step' instead
of `run' it single steps the simulator. Allows testing of single step
without full GDB.
1997-11-22 12:52:44 +00:00
Andrew Cagney
a1cf18dc76
Pacify GCC - SIM_SIGNONE missing in enum, xmalloc/free VS ZALLOC/zfree.
1997-11-20 22:56:11 +00:00
Andrew Cagney
232156dee9
o Add SIM_SIGFPE to sim-signals
...
o Start SIM_SIG* at 64 so that the use of host signal numbers can be
detected and reported.
o Update MIPS simulator to use sim-signal.
1997-11-20 09:50:36 +00:00
Doug Evans
c6475c41bb
(enosys): Delete.
1997-11-20 00:50:40 +00:00
Doug Evans
ac1d2660b2
* callback.c (cb_host_to_target_stat): Fix return values.
1997-11-20 00:47:02 +00:00
Doug Evans
998d2c8275
* cgen-sim.h (enum_signal_type): Delete.
...
(engine_signal): Update prototype.
* cgen-utils.c: Don't include <signal.h>.
(sim_signal_to_host): Delete, lives in sim-signal.c now.
(engine_signal): Update.
1997-11-19 20:44:35 +00:00
Doug Evans
398057b722
* 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.
1997-11-19 20:13:11 +00:00
Michael Meissner
e163bbbf2a
Do not include alloca-conf.h since alloca is not used.
1997-11-19 18:40:49 +00:00
Michael Meissner
eb5f3fcd1a
Fix carry/overflow problems
1997-11-19 18:30:47 +00:00
Doug Evans
fccbeeb639
(sim_stop_reason): Add comment.
1997-11-19 08:10:40 +00:00
Doug Evans
a4b44a2b08
* sim-core.c (sim_core_signal): Use sim_stopped instead of
...
sim_signalled.
1997-11-19 08:03:53 +00:00
Doug Evans
1ebc7e0e24
* 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 <signal.h>.
* sim-basics.h: #include "sim-signal.h".
* sim-break.c: Don't include <signal.h>.
(sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
* sim-core.c: Don't include <signal.h>.
(SIGBUS): Delete definition.
(sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
* sim-engine.c: Don't include <signal.h>.
(sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
* sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
* sim-resume.c: Don't include <signal.h>.
(SIGTRAP): Delete definition.
(has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
* sim-stop.c: Don't include <signal.h>.
(control_c_simulation): Replace SIGINT with SIM_SIGINT.
* sim-watch.c: Don't include <signal.h>.
(handle_watchpoint): Replace SIGINT with SIM_SIGINT.
1997-11-19 08:00:37 +00:00
Doug Evans
13c9499d4e
* sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
...
* sim-break.c (sim_handle_breakpoint): Likewise.
1997-11-19 02:37:58 +00:00
Doug Evans
340d8e209e
* sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
1997-11-18 23:59:29 +00:00
Doug Evans
e5ce1670c1
* Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
...
* sim-base.h (CIA_ADDR): Provide default definition.
1997-11-18 23:55:33 +00:00
Doug Evans
38377b3a48
* Make-common.in (srccom): New variable.
1997-11-18 07:14:20 +00:00
Doug Evans
9b51b3ddd3
Tweak comment.
1997-11-17 23:17:31 +00:00
Doug Evans
f7abc1ca0c
* 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.
(enosys): New function.
(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.
* 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.
1997-11-17 23:09:08 +00:00
Doug Evans
cf02c13ce2
(sim_core_signal): Add missing "\n" in message.
...
Forgot to check in yesterday.
1997-11-14 21:52:04 +00:00
Doug Evans
9e8a900adf
* 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 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 21:18:14 +00:00
Felix Lee
c7e3f734a7
* sim-n-core.h (sim_core_read_unaligned_N): illegal empty
...
initializer.
* sim-types.h (unsigned128,signed128): fix typo for MSVC.
1997-11-13 18:45:21 +00:00
Doug Evans
5dcf955d46
* 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.
1997-11-12 20:29:53 +00:00
Doug Evans
15f5035c7d
* aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.
...
Updating of configure's left for later.
1997-11-12 20:19:34 +00:00
Andrew Cagney
f445a8902d
* sim-events.c (sim_events_process): Re-compute the time -
...
update_time_from_event - as each event is processed. Reverses
previous change.
1997-11-11 07:48:05 +00:00
Andrew Cagney
8cb060b6b0
* callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.
1997-11-10 02:08:50 +00:00
Andrew Cagney
549bf95051
Fix computation of sim_events_time when sim_events_slip is loosing it.
1997-11-06 14:14:33 +00:00
Andrew Cagney
864519b9fd
Allow separate single character and long options.
...
Avoid overflow of options buffer.
Provide examples of sim-options use.
1997-11-06 05:00:09 +00:00
Andrew Cagney
63be8febf7
Rewrite the MIPS simulator's memory model so that it uses the generic
...
common/sim-core.
Add support for 3, 5, 6, 7 byte transfers to sim core.
1997-11-05 08:17:26 +00:00
Andrew Cagney
a26ecda4ec
* 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
1997-11-04 23:59:41 +00:00
Andrew Cagney
fcc86d82f7
Make memory regions layered (just like existing device regions) so
...
that overlapping regions can be defined.
Allow the layer (level) of a memory region to be specified as part of
an address parameter to memory options.
Update simulators.
1997-10-31 08:49:10 +00:00
Doug Evans
d048b52dbb
* sim-core.h (sim_core_write_8): Define.
1997-10-30 21:45:12 +00:00
Andrew Cagney
01b9cd49ca
common/sim-bits.h: Document ROTn macro.
...
igen/{igen.c,ld-insns.h}: Document mnemonic string formats.
mips/Makefile.in: Add dependencies for files included by mips.igen
mips/vr5400.igen: checkpoint vr5400 instructions.
1997-10-29 04:02:30 +00:00
Andrew Cagney
89d0973831
Add support for 16 byte quantities to sim-endian macro H2T.
...
Add model-filter field to option, include, model anf function igen records
1997-10-28 07:10:36 +00:00
Andrew Cagney
a86809d323
Implement sim_core_{read,write}_word using sim_core_{read,write}_<N>.
1997-10-28 02:13:09 +00:00
Doug Evans
c3e3e4ad2f
* sim-endian.h: Disable 16 byte support.
...
So things will build.
1997-10-27 19:47:24 +00:00
Doug Evans
374b95c1b0
* sim-n-endian.h: Add TAGS entrys for 16 byte versions.
1997-10-27 19:25:59 +00:00
Doug Evans
2fc2f8d8a4
Fix typo.
1997-10-27 19:25:05 +00:00
Andrew Cagney
f45dd42b32
Add 128 bit transfers to sim core.
1997-10-27 03:00:12 +00:00
Andrew Cagney
4a203fbae2
Add function sim_events_slip()
...
Clear work_pending flag as part of processing any pending work.
1997-10-24 05:53:01 +00:00
Andrew Cagney
9e03a68f13
Add LMA_P and DO_WRITE arguments to sim/common/sim-load.c:sim_load_file().
...
Update all simulators.
Clarify behavour of sim_load in remote-sim.h
1997-10-22 05:26:27 +00:00
Doug Evans
2328ef1c98
* nrun.c (main): Exit if bfd_openr fails.
...
Call bfd_check_format after bfd_openr.
1997-10-22 02:12:41 +00:00
Doug Evans
897a1d7863
* nrun.c (main): Remove useless test of name != NULL.
1997-10-22 01:38:49 +00:00
Andrew Cagney
b7432f0f27
Pacify GCC -Wall
1997-10-21 07:41:46 +00:00
Andrew Cagney
e2f8ffb736
Delete profile support from MIPS simulator, use sim/common/sim-profile
...
module instead.
Generate a "gmon.out" (gprof) when profiling the target PC.
Add target PC profiling option --profile-pc-granularity (bucket size)
1997-10-21 03:41:21 +00:00
Andrew Cagney
293a0876f8
Have single bit macros return an unsigned result. Avoids risk (and
...
need) of sign extending results.
1997-10-20 07:27:55 +00:00
Andrew Cagney
0a0ecb2120
Add 8 bit arithmetic to sim-alu.
...
Fix flags (Carry, oVerflow) for negate and subtract.
Add ALU*_RESULT macros for accessing final result of ALU op.
1997-10-20 02:03:06 +00:00
Andrew Cagney
fd89abc204
Handle core regions which start at a poorly aligned address.
1997-10-14 23:45:52 +00:00
Andrew Cagney
7456a10d9b
* 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.
1997-10-14 09:39:05 +00:00
Andrew Cagney
1b217de0f3
Correct type of address argument for sim_core_{read,write}
1997-10-14 09:24:57 +00:00
Andrew Cagney
63fe2cc799
Fix typo, WITH_TARGET_WORD_BITSIZE not WITH_TARGET_BITSIZE.
1997-10-02 23:37:30 +00:00
Stu Grossman
68f92f98ac
* sim-break.c (sim_set_breakpoint sim_clear_breakpoint): Use ZALLOC
...
and zfree instead of xmalloc and free. Prevents warnings.
1997-09-25 18:22:46 +00:00
Andrew Cagney
af51b8d56d
Add/use SIM_AC_OPTION_BITSIZE.
1997-09-25 07:19:05 +00:00
Stu Grossman
b9d580a4b0
* 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.
1997-09-25 00:51:17 +00:00
Felix Lee
34d07b7867
* 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.
1997-09-23 18:08:09 +00:00
Andrew Cagney
4141b1c63d
* Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign configured values.
...
(CONFIG_CFLAGS): Add same.
1997-09-23 04:05:50 +00:00
Felix Lee
9f4fd82344
* sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
...
(SIGNED32): use ##i32.
1997-09-23 03:51:33 +00:00
Andrew Cagney
92f91d1ff0
Remove need to update <targ>/Makefile.in when adding optional options
...
to <targ>/configure.in.
Simplify logic used to select target [default] endianness.
1997-09-23 01:25:26 +00:00
Andrew Cagney
8d332f9c1a
Enable --alignment option, stop sim-options.c hardwiring the alignment.
1997-09-22 09:34:28 +00:00
Andrew Cagney
4ca7d6d25b
Fix disabling of model code when simulator does not support modeling.
...
Stops `-p' crashing simulators.
1997-09-22 09:16:14 +00:00
Andrew Cagney
794e9ac96a
Simplify logic behind the generic configuration option --enable-sim-alignment.
1997-09-22 02:49:57 +00:00
Andrew Cagney
b45caf050c
Add support for --enable-sim-alignment to simulator common aclocal.m4
...
Add support for --alignment={strict,nonstrict,forced} to simulator common
run-time options.
For v850 use, make the default NONSTRICT_ALIGNMENT.
1997-09-22 00:24:46 +00:00
Andrew Cagney
175c6fd375
* 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.
1997-09-17 08:13:07 +00:00
Andrew Cagney
dfa5c0ca02
Define MOVED macro, move sub-bitfield from XXX to YYY.
1997-09-17 05:28:32 +00:00
Andrew Cagney
b52e58c24f
Add/test 8bit bit manipuation macros.
...
Test LS and MS versions of SEXT macro.
Simplify/test macro returning a single bit.
1997-09-17 03:25:54 +00:00
Andrew Cagney
aa5e6a5a78
Add {LS,MS}SEXT and {LS,MS}INSERTED macros. Eliminates bug in SEXT.
1997-09-16 07:04:46 +00:00
Andrew Cagney
08547b1f1d
Determine ARCHITECTURE from program if possible.
...
Rename common's generated config.h to cconfig.h.
1997-09-15 08:11:50 +00:00
Andrew Cagney
4bdab45adb
* callback.c (os_write): divert stdout and stderr to their
...
respective hooks.
1997-09-15 08:02:23 +00:00
Andrew Cagney
93e7a1b5b7
Add profiling support to v850*.
1997-09-12 02:44:03 +00:00
Andrew Cagney
cad7297e80
o Wordwrap usage messages from sim-options
...
o Clarify how to use alias options
o use in sim-watch (better usage message)
o Don't pass something on the stack into the
watch-point interrupt hander.
1997-09-10 22:47:12 +00:00
Andrew Cagney
d0b59aa593
Add option architecture-info to list supported architectures.
1997-09-10 05:16:34 +00:00
Felix Lee
31dda65aff
* 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.
1997-09-10 04:46:37 +00:00
David Edelsohn
7b4aeebabe
* nltvals.def: Regenerate.
1997-09-09 18:20:57 +00:00
Andrew Cagney
75b3697d5f
Add/use LSEXTRACTED, MSEXTRACTED macros.
...
Add CPU_CIA macro to extract the PC.
1997-09-08 17:21:13 +00:00
Andrew Cagney
1bba340afe
Redo watchpoint code so that it target can specify interrupt names.
...
Replace v850 interrupt code with this common watchpoint code.
Other minor fixes to core.
1997-09-05 08:16:23 +00:00
Andrew Cagney
1b465b54e1
Add sim_do_commandf - printf version of sim_do_command.
1997-09-05 07:57:27 +00:00
Andrew Cagney
30efae3acd
Define SIGNED64 and UNSIGNED64 macros - handle MSC/GCC LL issue.
1997-09-05 00:30:38 +00:00
Andrew Cagney
6dbaff8f60
Finish implementation of sim-memopt.
...
Use in d30v and tic80.
Make available a generic sim_read, sim_write implementation.
1997-09-04 10:08:44 +00:00
Andrew Cagney
a34abff813
o Add modulo argument to sim_core_attach
...
o Add sim-memopt module - memory option processing.
1997-09-04 03:47:39 +00:00
David Edelsohn
600d83316c
* sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
1997-09-04 00:57:21 +00:00
David Edelsohn
88d5f8e854
* 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.
1997-09-04 00:49:57 +00:00
Andrew Cagney
fdd64f952d
Add support for suspending/resumeing the simulator in sim-modules.
...
Use in sim-events.
1997-09-03 07:26:11 +00:00
Andrew Cagney
80c651f02d
Stanify error reporting memory overlaps.
1997-09-03 04:06:27 +00:00
David Edelsohn
645ab3ec42
(TAGS): Add support for "/* TAGS: foo */" marker.
1997-09-02 22:03:41 +00:00
David Edelsohn
74db699d1d
* Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
...
* sim-n-bits.h: Add TAGS comments for all functions.
* sim-n-core.h: Likewise.
* sim-n-endian.h: Likewise.
1997-09-02 21:58:58 +00:00
Andrew Cagney
4b2a6aed84
Use sim_state_alloc to create common sim object.
1997-09-01 03:26:31 +00:00
Andrew Cagney
f90b720ba1
Passify GCC. Convert 0x0LL to something more portable in the FP code.
1997-08-30 00:02:19 +00:00
David Edelsohn
36db8e64ab
* sim-options.c (standard_option_handler): Use xstrdup, not strdup.
1997-08-28 17:37:30 +00:00
Andrew Cagney
18c319ae59
Add --target=BFDTARGET and --architecture=MACHINE options.
1997-08-28 09:44:42 +00:00
Andrew Cagney
8811705410
Fix doco on enable-sim-inline.
1997-08-27 22:43:18 +00:00
Andrew Cagney
d6fea803dc
Add MSBIT* and LSBIT* macro's to sim-bits.h
...
Add more macro's for extracting sub word quantites to sim-endian.h
1997-08-27 07:56:27 +00:00
Andrew Cagney
230a95ce5a
New file - generic implementation of sim_load for hardware only
...
simulators.
1997-08-27 04:45:59 +00:00
Andrew Cagney
fafce69ab1
Add ABFD argument to sim_create_inferior. Document.
...
Add file sim-hload.c - generic load for hardware only simulators.
Review each simulators sim_open, sim_load, sim_create_inferior so that
they more closely match required behavour.
1997-08-27 04:44:41 +00:00
Andrew Cagney
d07dddd2b2
Save a copy of argv, not just a pointer.
1997-08-27 00:35:34 +00:00
Andrew Cagney
247fccdeb5
Add ABFD argument to sim_open call. Pass through to sim_config so
...
that image properties such as endianness can be checked.
More strongly document the expected behavour of each of the sim_*
interfaces.
Add default endian argument to simulator config macro
SIM_AC_OPTION_ENDIAN. Use in sim_config.
1997-08-25 23:14:25 +00:00
David Edelsohn
dddbd8c586
Add comment.
1997-08-14 20:36:00 +00:00
David Edelsohn
052d7984df
* callback.c (os_poll_quit): Make static.
...
Call sim_cb_eprintf, not p->eprintf.
(sim_cb_printf, sim_cb_eprintf): New functions.
1997-08-14 19:53:10 +00:00
David Edelsohn
5697f15271
Keep sim-watch.[ch].
1997-07-22 19:05:13 +00:00
David Edelsohn
e6609d8f2a
* sim-n-core.h (sim_core_write_unaligned_N): Add missing break
...
to FORCED_ALIGNMENT case.
1997-07-22 17:36:23 +00:00
Andrew Cagney
84e8cd0fcf
Open in binary mode when available.
1997-06-06 02:34:55 +00:00
Andrew Cagney
897f67b74f
Verify magic number of simulator struct.
1997-06-05 04:51:34 +00:00
Andrew Cagney
896eab009e
Initialize the sim-engine module.
1997-06-04 02:47:49 +00:00
Andrew Cagney
56e7c84918
o Fixes to repeated watchpoints
...
o Add mips ISA instructions needed to handle interrupts
1997-06-03 23:03:50 +00:00
Andrew Cagney
1a70e182aa
Fix watching PC for 64bit (mips) target.
...
Stop watchpoints corrupting the event queue.
1997-05-27 11:25:47 +00:00
Andrew Cagney
2f2e6c5d5b
Extend xor-endian and per-cpu support in core module.
...
Allow negated test when watching value within core.
1997-05-27 06:48:20 +00:00
Andrew Cagney
cd0d873d0f
Preliminary suport for xor-endian suport in core module.
1997-05-23 09:19:43 +00:00
Andrew Cagney
8167e102a5
Enumerate longjmp's return type.
1997-05-23 01:29:16 +00:00
Gavin Romig-Koch
6e61ecfc92
Change longjmp param/setjmp return value used for simulator restart from 0 to 2.
1997-05-22 13:16:03 +00:00
Andrew Cagney
50a2a69182
Watchpoint interface.
1997-05-21 06:54:13 +00:00
Andrew Cagney
24aa2b57af
Depreciate sim_set_callbacks() function. Set simulator callbacks
...
during sim_open().
1997-05-20 00:05:27 +00:00
Andrew Cagney
ba2374064d
Update.
1997-05-19 09:35:51 +00:00
Andrew Cagney
fd76456bdb
Make simulator event-queue manager a bit more signal safe.
1997-05-19 06:55:56 +00:00
Andrew Cagney
f03b093cd3
o Implement generic halt/restart/abort module.
...
Use in tic80 and d30v simulators.
o Add signal hook to sim-core module
1997-05-19 03:42:33 +00:00
Andrew Cagney
11ab132f16
Pacify gcc.
1997-05-19 01:24:31 +00:00
Michael Meissner
63aa80ff51
Treat infinities like normal numbers for purposes of comparisons
1997-05-17 02:28:11 +00:00
Jeff Law
248c1fb830
* 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.
Bring Bob's changes over from the mec branch.
1997-05-16 22:39:08 +00:00
Andrew Cagney
07b4c0a66c
Remove some of the flake from the c80 floating point.
1997-05-15 16:39:38 +00:00
Andrew Cagney
d24f06eef2
More floating point operations.
1997-05-15 02:22:37 +00:00
Andrew Cagney
c445af5a2b
c80 simulator fixes.
1997-05-12 04:57:49 +00:00
Andrew Cagney
e05e76e8a4
Match commands like `(gdb) sim a b c' against options --a-b-c.
1997-05-12 04:30:38 +00:00
Andrew Cagney
43c53e07db
Add function sim_args_command() which takes a `(gdb) sim <command>' and
...
parses it using rules found in the simulator command-line-options
databse.
1997-05-08 05:28:20 +00:00
Andrew Cagney
381f42ef5d
o Clean-up tic80 fp tracing
...
o Fill in more tic80 insns
1997-05-07 13:58:52 +00:00
David Edelsohn
bd3274c6d9
* sim-profile.c (profile_uninstall): Likewise.
1997-05-06 23:40:31 +00:00
David Edelsohn
ea4e449340
* sim-trace.c (trace_uninstall): Don't close a file twice.
1997-05-06 23:38:31 +00:00
David Edelsohn
710f55ce8a
Keep sim-config.c, sim-fpu.[ch].
1997-05-06 21:19:41 +00:00
Michael Meissner
7b167b0900
Add semantic tracing to the tic80
1997-05-06 19:27:57 +00:00
David Edelsohn
f4749781f9
Keep sim-utils.h.
1997-05-06 17:09:05 +00:00
Michael Meissner
d0adfefd44
Fix typo; pass trace_line request as arg; pass common stuff in static struct
1997-05-06 11:55:21 +00:00
Michael Meissner
a77241718f
Enable --trace-linenum support
1997-05-06 10:21:57 +00:00
Michael Meissner
23b04e791d
Add printf attribute support
1997-05-05 18:10:05 +00:00
Andrew Cagney
7a418800c1
Start of implementation of a distributed (between processors)
...
simulator core object.
1997-05-05 13:21:04 +00:00
Andrew Cagney
3971886ac1
Add flakey floating-point support to the TI c80 simulator.
1997-05-05 12:46:25 +00:00
David Edelsohn
e6a434469b
Tweak comment.
1997-05-02 16:51:04 +00:00
Andrew Cagney
1fe052808a
Update devo version of m32r sim to build with recent sim/common changes.
1997-05-02 08:41:15 +00:00
David Edelsohn
2317a49939
* 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.
1997-05-02 00:32:05 +00:00
David Edelsohn
3e324f89cd
cgen-{mem,sem}.h renamed to {mem,sem}-ops.h.
1997-05-01 22:36:34 +00:00
David Edelsohn
260b2c47c9
* 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.
1997-05-01 20:53:43 +00:00
David Edelsohn
968d32cc40
(cgen-utils.o): Update cgen-{mem,sem}.h dependencies.
1997-05-01 20:43:24 +00:00
David Edelsohn
6475b23404
Sigh. Put generated files with each cgen cpu.
1997-05-01 20:11:00 +00:00
David Edelsohn
c967f1874a
* 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.
1997-05-01 18:05:37 +00:00
David Edelsohn
2c8f0de695
(EXTRACT_SIGNED,EXTRACT_UNSIGNED,HOST_LONGS_FOR_BITS): Move from
...
cgen-types.h to cgen-sim.h.
1997-05-01 17:45:25 +00:00
David Edelsohn
b9c8cd1023
* cgen-mem.h, cgen-scache.[ch], cgen-sem.h, cgen-sim.h: New files.
...
* cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
* sim-model.c: New file.
1997-05-01 01:48:27 +00:00
David Edelsohn
717dbb296e
* Make-common.in (clean targets): Undo patch of Apr. 22.
1997-04-30 18:35:58 +00:00
Michael Meissner
564e2a3fe9
Allow simulators to be built on Linux
1997-04-25 19:29:31 +00:00
David Edelsohn
b320601b45
* 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.
1997-04-24 07:33:45 +00:00
David Edelsohn
ef751fb06b
* run.c: Undo last exec_bfd patch.
...
(main): Only pass -E ifdef SIM_HAVE_BIENDIAN.
1997-04-24 00:30:41 +00:00
Michael Meissner
e3eba3fd0a
Restore exec_bfd, needed for v850 debug code
1997-04-23 21:57:39 +00:00
David Edelsohn
2c27ef7817
* sim-load.c (sim_load_file): #include <stdio.h> for NULL.
1997-04-22 21:44:43 +00:00
Andrew Cagney
15c1649391
TIc80 simulator checkpoint - runs 3 instructions - trap, addu, br.a.
1997-04-22 17:46:07 +00:00
Stu Grossman
0f399b0c6b
* 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.
1997-04-22 16:00:06 +00:00
David Edelsohn
e65bd1d843
* sim-options.c (standard_options): Add --endian.
...
(standard_option_handler): Likewise.
1997-04-18 21:32:07 +00:00
David Edelsohn
d90f7aa552
Add a comment.
1997-04-18 21:15:26 +00:00
David Edelsohn
4a6163dbc5
* nrun.c: #include <signal.h>.
...
(main, cntrl_c): Wrap calls to sim_resume in a SIGINT
handler that calls sim_stop ().
1997-04-18 18:16:30 +00:00
Andrew Cagney
8517f62b16
Ref gdb/11763 - can't stop a running simulator:
...
o Provide poll_quit callback to simulators
so that they can poll for SIGINT on
clueless OS's.
o Add sim_stop to simulators so that clients
can request a halt (eg gdbtk's STOP button)
Works for PPC!
o Re-arange remote-sim.c so that the
hard work is moved from gdbsim_resume()
to gdbsim_wait() (where it should be).
1997-04-18 12:24:52 +00:00
David Edelsohn
63ddb6bd72
* 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.
1997-04-17 22:26:31 +00:00
David Edelsohn
ba65b2f4c9
* sim-utils.c (sim_copy_argv, sim_analyze_program): New functions.
1997-04-17 14:14:49 +00:00
David Edelsohn
e9b2f57903
sim-trace.c: New file.
1997-04-17 14:08:30 +00:00
David Edelsohn
5bfbd72555
Add macros for CPU_FOO_FILE, CPU_STATE.
1997-04-17 14:07:43 +00:00
David Edelsohn
8786d42627
(standard_option_handler): Tweak some error messages.
...
(sim_parse_args): Record orig_val as unsigned char.
1997-04-17 14:07:19 +00:00
David Edelsohn
15d8adf5b5
Clean up.
1997-04-17 14:06:10 +00:00
David Edelsohn
c95d08a8d6
* Make-common.in (nrun.o): Add rule for.
...
* nrun.c: New file.
1997-04-17 12:43:31 +00:00
David Edelsohn
4b364b00cf
* sim-config.h (WITH_DEBUG): Provide default value of zero.
1997-04-17 12:41:19 +00:00