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
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
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
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
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
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
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
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
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