Andrew Cagney
525d929e49
Rewrite sim_monitor (implements read, write, open, et.al. system
...
calls) and sim_open so that they uses the virtual memory data transfer
functions sim_read & sim_write. This eliminates all code (other than
in load_memory & store_memory) that makes assumptions about the
implementation of the underlying memory model.
1997-11-05 00:08:14 +00:00
Gavin Romig-Koch
0425cfb3af
Correct r5900 sanitization.
1997-11-04 05:50:22 +00:00
Gavin Romig-Koch
6205f37913
* gencode.c: Add tx49 configury and insns.
...
* configure.in: Add tx49 configury.
* configure: Update.
1997-10-29 19:42:49 +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
16bd5d6e52
Separate r5900 specifoc and mips16 instructions.
...
Add support for this to configure (vr5400 target only)
1997-10-27 07:55:24 +00:00
Andrew Cagney
90ad43b2de
Add mips64vr5400 to configuration list
...
Mark mipsIV instructions as being implemented by the vr5400.
Sanitize.
1997-10-27 06:42:13 +00:00
Gavin Romig-Koch
635ae9cb7c
* sim/mips/gencode.c (build_instruction): Follow sim_write's lead in using
...
BigEndianMem instead of !ByteSwapMem.
1997-10-25 20:53:46 +00:00
Andrew Cagney
122edc03de
Add basic igen configuration to autoconf. Disable.
1997-10-24 07:54:21 +00:00
Andrew Cagney
dad6f1f326
Add function to fetch 32bit instructions
...
When address translation of insn fetch fails raise exception immediatly.
Use address_word as type of all address variables (instead of unsigned64),
the former is configured as either 32 or 64 bit type.
Always compile fpu code (no #if has fpu)
1997-10-24 06:43:51 +00:00
Andrew Cagney
49a7683337
Checkpoint IGEN version of mips sim
1997-10-24 06:38:44 +00:00
Andrew Cagney
92ad193bb0
Use SIM*_OVERFLOW_RESULT defined in sim-alu.h
1997-10-21 07:57:33 +00:00
Andrew Cagney
aa324b9b1e
Output pc profile statistics once gathered.
1997-10-21 07:40:00 +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
fb5a2a3e39
Make mips registers of type unsigned_word.
...
Ensure all references to MIPS registers use same type.
1997-10-20 06:28:53 +00:00
Andrew Cagney
ea985d2472
Move register definitions and macros out of interp.c and into sim-main.h
1997-10-16 03:50:48 +00:00
Andrew Cagney
085c1cb988
Checkpoint IGEN version of MIPS simulator.
1997-10-16 03:41:57 +00:00
Andrew Cagney
284e759d1f
Rename generated file engine.c to oengine.c.
1997-10-16 03:39:13 +00:00
Andrew Cagney
339fb14904
* gencode.c (build_instruction): Use FPR_STATE not fpr_state.
1997-10-16 03:29:47 +00:00
Andrew Cagney
8b70f83790
* gencode.c (build_instruction): For "FPSQRT", output correct number
...
of arguments to Recip.
1997-10-16 03:23:16 +00:00
Andrew Cagney
055ee2977f
Checkpoint IGEN version of MIPS simulator.
1997-10-14 09:34:08 +00:00
Andrew Cagney
0c2c5f6141
Move global MIPS simulator variables into sim_cpu struct.
1997-10-14 09:26:03 +00:00
Andrew Cagney
18c64df613
o Add support for configuring wordsize, fp hardware and target
...
endianness. Provide defaults for some tier-1 mips targets.
o Parameterize all functions with SIM_DESC.
1997-10-14 07:27:31 +00:00
Andrew Cagney
49a6eed58a
Snap. Gets through igen's checks.
1997-10-09 08:38:22 +00:00
Andrew Cagney
f2b3001251
MIPS/IGEN checkpoint - doesn't build.
1997-10-08 04:16:01 +00:00
Andrew Cagney
391c71708e
Checkpoint IGEN input file for MIPS simulator.
1997-10-07 08:45:11 +00:00
Andrew Cagney
adf4739efe
Add access to hi part of r5900 128 bit registers.
1997-09-30 03:45:51 +00:00
Bob Manson
26b20b0a0e
* configure: Regenerated.
...
Can't hack one without the other...
1997-09-29 21:46:32 +00:00
Mark Alexander
6eedf3f4e5
* interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
1997-09-26 20:56:55 +00:00
Andrew Cagney
af51b8d56d
Add/use SIM_AC_OPTION_BITSIZE.
1997-09-25 07:19:05 +00:00
Andrew Cagney
e63bc706fe
Allow gencode.c to generate input to the igen generator.
1997-09-25 04:23:24 +00:00
Andrew Cagney
eb2e3c85ca
Pacify GCC -Wall
1997-09-25 04:13:50 +00:00
Jeff Law
832f05e865
vr5900-r5900.
1997-09-23 16:21:23 +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
76a6247f07
Add memory alignment config option.
1997-09-22 09:40:57 +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
Gavin Romig-Koch
c476ac5560
Add handling for 3900's SDBBP, DERET, and RFE insns.
...
* gencode.c (SDBBP,DERET): Added (3900) insns.
(RFE): Turn on for 3900.
* interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
(dsstate): Made global.
(SUBTARGET_R3900): Added.
(CANCELDELAYSLOT): New.
(SignalException): Ignore SystemCall rather than ignore and
terminate. Add DebugBreakPoint handling.
(decode_coproc): New insns RFE, DERET; and new registers Debug
and DEPC protected by SUBTARGET_R3900.
(sim_engine_run): Use CANCELDELAYSLOT rather than clearing
bits explicitly.
* Makefile.in,configure.in: Add mips subtarget option.
* configure: Update.
1997-09-20 18:22:22 +00:00
Gavin Romig-Koch
7afa8d4edc
* gencode.c: Add r3900 (tx39).
...
* gencode.c: Fix some configuration problems by improving
the relationship between tx19 and tx39.
1997-09-19 13:39:55 +00:00
Gavin Romig-Koch
667065d0d4
* sim/mips/gencode.c (build_instruction): Don't need to subtract 4 for
...
JALR, just 2.
1997-09-16 20:01:00 +00:00
Gavin Romig-Koch
9cb8397f86
* sim/mips/interp.c: Correct some HASFPU problems.
1997-09-16 15:36:18 +00:00
Andrew Cagney
a2ab5e65eb
Update to reflect change to sim/common/aclocal.m4 (allow sim/common
...
directory to specify its own unqiue config.h file).
1997-09-15 08:25:04 +00:00
Andrew Cagney
11ac69e013
Short form of sample-size option had wrong value.
1997-09-12 02:29:04 +00:00
Andrew Cagney
972f3a34f5
mips/sim_info was just returning?????
1997-09-10 23:50:32 +00:00
Gavin Romig-Koch
318b499d8e
Support tx19 sanitation.
1997-09-10 04:53:18 +00:00
Andrew Cagney
9eeaaefa0f
Better word error messages.
1997-09-09 10:38:39 +00:00
Andrew Cagney
c31c13b481
Remove GCC specific `0x...LL', replace with SIGNED64 (0x...).
1997-09-09 07:02:02 +00:00
Gavin Romig-Koch
b637f306ba
tx19 and related necessary changes.
...
* config.sub: Add tx19/r1900.
* sim/mips/configure.in, sim/mips/gencode: Add tx19/r1900.
* gcc/config.sub, gcc/configure: Add tx19/r1900.
* gcc/config/mips/r1900.h, config/mips/t-r1900: New.
* gas/config/tc-mips.c: Add tx19/r1900.
* gcc/config/mips/mips.c: Don't build 16 bit to 32 bit stubs for
TARGET_SOFT_FLOAT.
* config.sub: Add "marketing-names" patch.
* gcc/config.sub: Add "marketing-names" patch.
* gcc/configure: Change "as" link from "../gas/as.new" to "../gas/as-new";
Same for "ld" link.
1997-09-07 20:33:22 +00:00
David Edelsohn
6fea47635b
* configure: Regenerated to track ../common/aclocal.m4 changes.
1997-09-05 00:42:05 +00:00
Andrew Cagney
52352d38d6
Test/fix pabsh, pabsw, psrlvw.
1997-09-01 09:47:03 +00:00
Andrew Cagney
8811705410
Fix doco on enable-sim-inline.
1997-08-27 22:43:18 +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
7230ff0faa
Flush defunct sim_kill.
1997-08-26 02:05:18 +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
Andrew Cagney
9204a35e78
Handle overflow from signed divide by -1.
1997-07-28 13:46:53 +00:00
Gavin Romig-Koch
c12e2e4c48
gencode.c: Two arg MADD should not assign result to /bin/bash.
1997-07-25 19:10:05 +00:00
Andrew Cagney
1e851d2c82
Fix a number of problems in the r5900 specific p* (parallel) instructions.
...
In particular a host endian dependency one fixed resolved most problems.
1997-07-11 03:07:29 +00:00
Jeff Law
6443523484
* gencode.c (build_instruction): Handle "pext5" according to
...
version 1.95 of the r5900 ISA.
Fixes pr12413 (c/h from toshiba).
1997-07-02 18:41:22 +00:00
Jeff Law
649625bb8e
* gencode.c (build_instruction): Handle "ppac5" according to
...
version 1.95 of the r5900 ISA.
fixes pr12407 (c/h from toshiba).
1997-07-02 18:29:16 +00:00
Jeff Law
05d1322f2c
* interp.c (sim_engine_run): Reset the ZERO register to zero
...
regardless of FEATURE_WARN_ZERO.
1997-07-02 18:13:00 +00:00
Jeff Law
ae19b07bf8
* gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
...
Fix for pr12402 (c/h from toshiba).
1997-07-02 17:57:56 +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
c7cebfa32c
o Fix padd insn
...
o Take an interrupt when an int event occures.
1997-06-02 15:00:43 +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
Gavin Romig-Koch
d3d2a9f718
ifdef out uses of simSTOP, simSTEP and simBE when DEBUG is defined.
1997-05-22 13:30:01 +00:00
Andrew Cagney
50a2a69182
Watchpoint interface.
1997-05-21 06:54:13 +00:00
Andrew Cagney
2e61a3ad9c
Graft sim/common event and other code onto the mips simulator.
1997-05-19 13:30:30 +00:00
David Edelsohn
3be0e22896
* tconfig.in (SIM_HAVE_BIENDIAN): Define.
1997-04-24 00:42:50 +00:00
Gavin Romig-Koch
d654ba0acf
for DIV: check for div by zero and int overflow
1997-04-21 21:26:17 +00:00
David Edelsohn
9d52bcb7f0
* Makefile.in (SIM_OBJS): Add sim-load.o.
...
* interp.c: #include bfd.h.
(target_byte_order): Delete.
(sim_kind, myname, big_endian_p): New static locals.
(sim_open): Set sim_kind, myname. Move call to set_endianness to
after argument parsing. Recognize -E arg, set endianness accordingly.
(sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
load file into simulator. Set PC from bfd.
(sim_create_inferior): Return SIM_RC. Delete arg start_address.
(set_endianness): Use big_endian_p instead of target_byte_order.
1997-04-17 10:23:48 +00:00
Andrew Cagney
87e43259f1
Cleanups to compile under FreeBSD
1997-04-17 06:05:19 +00:00
Andrew Cagney
08db4a658e
Get configure to define RETSIGTYPE
1997-04-07 05:58:59 +00:00
David Edelsohn
8a7c3105b5
* interp.c (sim_open): New arg `kind'.
1997-04-02 23:39:50 +00:00
David Edelsohn
fbda74b1c1
* aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h.
...
(sim-debug): Allow arguments. Define WITH_DEBUG in addition to
-DDEBUG.
* configure: Regenerated to track ../common/aclocal.m4 changes.
1997-04-02 23:17:50 +00:00
Andrew Cagney
a35e91c3c7
New file common/sim-config.c sets/checks simulator configuration options.
...
Update common/aclocal.m4 to better work with sim-config.[hc].
1997-04-02 05:04:25 +00:00
Gavin Romig-Koch
6efa34d87a
Add/use pr_uword64 for SIM_ADDR independent values.
1997-03-17 16:02:13 +00:00
Andrew Cagney
a77aa7ec4b
* configure: Re-generate.
...
* Make-common.in (CSEARCH): Do not include the gdb directory in
the search path.
* Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
SIM_WARNING): Drop, requiring the simulator specific Makefile.in
to explicitly incorporate these.
* aclocal.m4 (--enable-sim-alignment); New option. Strongly
specify the alignment restrictions of the target architecture -
without this option all alignment restrictions are accomodated.
(--enable-sim-assert): New option. Conditionally compile in
assertion statements.
(--enable-sim-float): New option. Strongly specify the target's
floating point support.
(--enable-sim-hardware): New option. Specify the hardware devices
included in the simulation.
(--enable-sim-packages): New option. Specify the hardware
packages included in the simulation.
(--enable-sim-regparm): New option. Specify that parameters be
passed in registers instead of on the stack.
(--enable-sim-reserved-bits): New option. Specify that reserved
bits within an instruction are are correctly set.
(--enable-sim-smp): New option. Specify the level of SMP support
to be included in the simulator.
(--enable-sim-stdcall): New option. Specify an alternative
function call convention.
(--enable-sim-xor-endian): New option. Configure xor-endian
support used by some targets to implement bi-endian support.
1997-03-17 15:29:29 +00:00
Michael Meissner
601fb8aea6
Regenerate simulator configure scripts; Remove d10v traps 1-3, Make 15 the system call trap, keeping 0 temporarily
1997-03-14 16:21:57 +00:00
David Edelsohn
53b9417eb3
* interp.c (sim_open): New SIM_DESC result. Argument is now
...
in argv form.
(other sim_*): New SIM_DESC argument.
1997-03-13 20:55:26 +00:00
Gavin Romig-Koch
c94db67a25
Correct the overloaded DOUBLEWORD problem
1997-02-26 23:49:19 +00:00
Dawn Perchik
4580503f2c
start-sanitize-r5900
...
* gencode.c: #ifdef out offending code until a permanent fix
can be added. Code is causing build errors for non-5900 mips targets.
end-sanitize-r5900
1997-02-25 07:04:39 +00:00
Gavin Romig-Koch
528031fd49
Correct test for ISA dependent bits
1997-02-20 15:48:57 +00:00
Mark Alexander
7e05106dc8
* interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
1997-02-19 22:44:02 +00:00
Gavin Romig-Koch
2d18fbc668
Correct flags for PMADDUW insn
1997-02-18 22:15:04 +00:00
Ian Lance Taylor
bd2f63470e
* gencode.c (build_mips16_operands): Correct computation of base
...
address for extended PC relative instruction.
1997-02-13 19:08:55 +00:00
Gavin Romig-Koch
276c2d7dc8
Add r5900
1997-02-11 13:26:34 +00:00
Ian Lance Taylor
da0bce9c27
* interp.c (mips16_entry): Add support for floating point cases.
...
(SignalException): Pass floating point cases to mips16_entry.
(ValueFPR): Don't restrict fmt_single and fmt_word to even
registers.
(StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
or fmt_word.
(COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
and then set the state to fmt_uninterpreted.
(COP_SW): Temporarily set the state to fmt_word while calling
ValueFPR.
1997-02-06 22:19:05 +00:00
Ian Lance Taylor
6389d8561c
* gencode.c (build_instruction): The high order may be set in the
...
comparison flags at any ISA level, not just ISA 4.
1997-02-04 21:48:54 +00:00
David Edelsohn
19c5af72af
* Makefile.in (@COMMON_MAKEFILE_FRAG): Use
...
COMMON_{PRE,POST}_CONFIG_FRAG instead.
* configure.in: sinclude ../common/aclocal.m4.
* configure: Regenerated.
1997-02-04 21:42:27 +00:00
Ian Lance Taylor
736a306cb2
* configure: Rebuild after change to aclocal.m4.
1997-01-31 16:12:09 +00:00
Stu Grossman
ae0d7848d8
* ../common/aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
...
comments and single quotes. Fixes a problem found on hpux.
1997-01-24 18:44:29 +00:00
Stu Grossman
a695143eae
* configure: Remove targ-vals.def when doing distclean. (Change
...
is actually in ../common/aclocal.m4.)
1997-01-24 00:44:03 +00:00
Stu Grossman
2757866e9e
* configure: Remove Make-common.in from dependencies. (Actually in
...
../common/aclocal.m4).
1997-01-24 00:04:57 +00:00
Stu Grossman
295dbbe44c
* configure configure.in Makefile.in: Update to new configure
...
scheme which is more compatible with WinGDB builds.
* configure.in: Improve comment on how to run autoconf.
* configure: Re-run autoconf to get new ../common/aclocal.m4.
* Makefile.in: Use autoconf substitution to install common
makefile fragment.
1997-01-23 22:09:52 +00:00
Jim Wilson
b99125bc1c
For NEC 4300 project, fix last remaining host/target endianness problem
...
* gencode.c (build_instruction): Use BigEndianCPU instead of
ByteSwapMem.
1997-01-08 20:40:40 +00:00
Mark Alexander
e1db0d47c5
* interp.c (sim_monitor): Make output to stdout visible in
...
wingdb's I/O log window.
1997-01-03 06:28:21 +00:00
Mark Alexander
2902e8ab51
* support.h: Undo previous change to SIGTRAP
...
and SIGQUIT values.
1996-12-31 15:05:46 +00:00
Ian Lance Taylor
7e6c297e82
* interp.c (store_word, load_word): New static functions.
...
(mips16_entry): New static function.
(SignalException): Look for mips16 entry and exit instructions.
(simulate): Use the correct index when setting fpr_state after
doing a pending move.
1996-12-30 22:37:30 +00:00
Mark Alexander
0049ba7a8d
* interp.c: Fix byte-swapping code throughout to work on
...
both little- and big-endian hosts.
1996-12-29 17:47:25 +00:00
Mark Alexander
2510786bd4
* support.h: Make definitions of SIGTRAP and SIGQUIT consistent
...
with gdb/config/i386/xm-windows.h.
1996-12-29 17:20:47 +00:00