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