Commit graph

211 commits

Author SHA1 Message Date
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
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
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
Michael Meissner
7b167b0900 Add semantic tracing to the tic80 1997-05-06 19:27:57 +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