Commit graph

151 commits

Author SHA1 Message Date
Nick Clifton
9a6b6a66b7 Add 0x91 as an FPE SWI. 2000-12-11 03:08:17 +00:00
Nick Clifton
df38a86eec oops - remove redundant prototype introduced in previous delta 2000-12-08 01:39:48 +00:00
Nick Clifton
760a7bbec5 Add emulation of double word load and store instructions. 2000-12-08 01:38:47 +00:00
Nick Clifton
7f53bc3526 Suppress support of DEMON swi's in XScale mode. 2000-12-03 23:28:46 +00:00
Nick Clifton
f1129fb8ff Add support for ARM's v5TE architecture and Intel's XScale extenstions 2000-11-30 01:55:12 +00:00
Nick Clifton
3943c96b07 Replace StrongARM property with v4 and v5 properties. 2000-09-15 23:55:50 +00:00
Nick Clifton
4bc1de7b2d Compute write back value for post increment loads before
performing the load in case the offset register is overwritten.
2000-08-15 00:10:52 +00:00
Fernando Nasser
0a4321b903 2000-07-14 Fernando Nasser <fnasser@cygnus.com>
* wrapper.c (sim_create_inferior): Fix typo in the previous patch.
2000-07-14 21:27:15 +00:00
Fernando Nasser
64a1067567 2000-07-14 Fernando Nasser <fnasser@cygnus.com>
* wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
        new inferior.
2000-07-14 16:49:46 +00:00
Alexandre Oliva
ae3c7619e1 * armvirt.c (ABORTS): Do not define. 2000-07-04 08:00:19 +00:00
Alexandre Oliva
1e6b544a97 * armdefs.h (struct ARMul_State): Add is_StrongARM.
(ARM_Strong_Prop, STRONGARM): Define.
* arminit.c (ARMul_NewState): Reset is_StrongARM.
(ARMul_SelectProcessor): Set is_StrongARM.
* wrapper.c (sim_create_inferior): Use bfd machine type to
determine processor type to emulate.
* armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
when emulating StrongARM.
2000-07-04 07:18:18 +00:00
Alexandre Oliva
66210567f0 * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn. 2000-07-04 06:54:48 +00:00
Alexandre Oliva
e063aa3bd8 * armemu.h (INSN_SIZE): New macro.
(SET_ABORT): Save CPSR in SPSR and set LR.
* armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
(WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
* arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
2000-07-04 06:52:30 +00:00
Alexandre Oliva
13b6dd6f68 * armemu.c (LoadSMult): Use WriteR15() to discard the least
significant bits of PC.
2000-07-04 06:39:39 +00:00
Alexandre Oliva
892c6b9d8f * armemu.h (WRITEDESTB): New macro.
* armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
modify PC.  Moved the existing logic...
(WriteR15Branch): ... here.  New function.
(WriteR15, WriteSR15): Drop the two least significant bits.
(LoadSMult): Use WriteR15Branch() to modify PC.
(LoadMult): Use WRITEDESTB() instead of WRITEDEST().
2000-07-04 06:35:36 +00:00
Alexandre Oliva
cf52c765b0 * armemu.h (GETSPSR): Call ARMul_GetSPSR().
* armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
extracted from state->Cpsr, but preserve the unused bits.
(ARMul_GetCPSR): Get bits preserved in state->Cpsr.
(ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
get the full CPSR word.
2000-07-04 06:19:29 +00:00
Alexandre Oliva
4ef2594f4e * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
(SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
(SETPSR, SET_INTMODE, SETCC): Removed.
* armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
mask.  Use SETPSR_* to modify PSR.
(ARMul_SetCPSR): Load all bits from value.
* armemu.c (ARMul_Emulate, msr): Do not test bit mask.
2000-07-04 06:06:30 +00:00
Alexandre Oliva
e62263b8ec * armemu.c (ARMul_Emulate): Compute writeback value before
loading, since the offset register may be the destination
register.
2000-07-04 05:30:43 +00:00
Alexandre Oliva
b0eae074ca * armdefs.h (SYSTEMBANK): Define as USERBANK.
* armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
2000-07-04 05:16:20 +00:00
Alexandre Oliva
f9c22bc3a4 * armemu.c (Multiply64): Fix computation of flag N. 2000-06-22 20:42:34 +00:00
Alexandre Oliva
ee9a777240 * armemu.c (MultiplyAdd64): Fix computation of flag N. 2000-06-22 20:03:32 +00:00
Alexandre Oliva
fe47e8dfd3 * armemu.h (NEGBRANCH): Do not overwrite the two most significant
bits of the offset.
2000-06-20 09:36:12 +00:00
Nick Clifton
c1a72ffdd6 Add support for v4 SystemMode. 2000-05-30 17:13:37 +00:00
Andrew Cagney
eb2d80b469 Change profiling so that it is enabled by default. Re-generate everything. 2000-05-24 04:39:50 +00:00
Nick Clifton
3463c3fbbb Add special case handling when GDB set CPSR register 2000-05-23 23:52:46 +00:00
Frank Ch. Eigler
5d0d395e94 * arm abort fix
2000-03-11  Philip Blundell  <philb@gnu.org>

	* armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
	Patch from Allan Skillman <Allan.Skillman@arm.com>.
2000-04-10 15:35:56 +00:00
Frank Ch. Eigler
6c9e0292a3 * memory corruption fix
Wed Mar 22 15:24:21 2000  glen mccready  <gkm@pobox.com>

	* wrapper.c (sim_open,sim_close): Copy into myname, free myname.
2000-03-23 23:28:43 +00:00
Frank Ch. Eigler
d018757450 * adding forgotten entry 2000-03-02 21:53:51 +00:00
Nick Clifton
6d358e869b Fix compile time warning messages. 2000-02-08 20:54:27 +00:00
Jason Molenda
dfcd3bfb6f import gdb-2000-02-04 snapshot 2000-02-05 07:30:26 +00:00
Jason Molenda
f743149ecb import gdb-2000-01-26 snapshot 2000-01-26 21:49:14 +00:00
Jason Molenda
c2d11a7da0 import gdb-1999-12-06 snapshot 1999-12-07 03:56:43 +00:00
Jason Molenda
5c44784c11 import gdb-1999-11-01 snapshot 1999-11-02 04:44:47 +00:00
Jason Molenda
2df3850c7b import gdb-1999-10-11 snapshot 1999-10-12 04:37:53 +00:00
Jason Molenda
2acceee218 import gdb-1999-10-04 snapshot 1999-10-05 23:13:56 +00:00
Stan Shebs
d4f3574e77 import gdb-1999-09-08 snapshot 1999-09-09 00:02:17 +00:00
Jason Molenda
43e526b9b4 import gdb-1999-07-12 snapshot 1999-07-12 11:15:22 +00:00
Stan Shebs
cd0fc7c3eb import gdb-1999-05-10 1999-05-11 13:35:55 +00:00
Stan Shebs
7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Jeff Law
312de19bdd Fixes. 1998-12-10 23:36:40 +00:00
Nick Clifton
043333a61a define SIM_HAVE_BIENDIAN 1998-09-14 16:58:00 +00:00
Nick Clifton
e3ace30a61 Allow simulator to work with Angel SWIs. 1998-06-02 22:23:52 +00:00
Jason Molenda
7d449b448b Mon Jun 1 17:14:19 1998 Anthony Thompson (athompso@cambridge.arm.com)
* armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
        of ":tt" to catch stdin in addition to stdout.
        (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
        or success of lseek().

From PR 15839, modified a bit by me to appease my sense of style--but
not too much because I am lazy.
1998-06-02 00:18:31 +00:00
Geoffrey Noer
9d45df1b8c Tue Apr 28 18:28:58 1998 Geoffrey Noer <noer@cygnus.com>
* common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
        AM_CYGWIN32 and AM_EXEEXT.
        * common/Make-common.in: set EXEEXT, add missing EXEEXTs
        to run and install-common rules.
        * common/configure: regenerate

And update all subdirectory ChangeLogs and configure files.
1998-04-29 01:44:23 +00:00
Tom Tromey
5da9ce07eb * configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
	* acconfig.h: New file.
	* configure.in: Reverted change of Apr 24; use sinclude again.
1998-04-26 22:03:55 +00:00
Tom Tromey
b1df34b9ed * configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
	* configure.in: Don't call sinclude.
1998-04-24 20:39: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
Doug Evans
462cfbc4eb * aclocal.m4: Recognize --enable-maintainer-mode.
*/configure: Regenerated.
1998-01-20 06:37:00 +00:00
Felix Lee
06434f5f16 sanitization fixes. (files not mentioned, fences misspelled) 1997-12-11 04:18:47 +00:00
Doug Evans
6e51f990a2 Regenerate configure files. 1997-12-04 17:26:06 +00:00
Nick Clifton
d3e9ca1a88 Patches to support generating an executing environment.
Patches from Tony Thompson at ARM:  athompso@arm.com
1997-10-30 21:52:16 +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
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
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
David Edelsohn
6fea47635b * configure: Regenerated to track ../common/aclocal.m4 changes. 1997-09-05 00:42:05 +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
David Edelsohn
cf8b5fc15e Makefile.orig, README.orig deleted. 1997-05-06 21:21:53 +00:00
Angela Marie Thomas
949fccf66b remove junk files that have been here waaaaaaaay too long 1997-05-02 06:43:07 +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
Fred Fish
6e236775b5 * arminit.c (ARMul_NewState): Preinitialize the state to
all zero/NULL.
1997-04-18 01:33:07 +00:00
David Edelsohn
0ab92fe79f * Makefile.in (SIM_OBJS): Add sim-load.o.
* wrapper.c (sim_kind,myname): New static locals.
	(sim_open): Set sim_kind, myname.
	(sim_load): Call sim_load_file to do work.  Set start address from bfd.
	(sim_create_inferior): Return SIM_RC.  Delete start_address arg.
1997-04-17 09:41:11 +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
Andrew Cagney
7934ec88db Use $(srcdir)/... instead of $< in make rules 1997-04-07 05:21:04 +00:00
David Edelsohn
99f84c8192 * wrapper.c (sim_open): New arg `kind'. 1997-04-02 23:29:08 +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
Ian Lance Taylor
64d2004922 * COPYING: Update FSF address. 1997-04-02 19:51:31 +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
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
a579d134ac * wrapper.c (sim_open): Has result now.
(sim_*): New SIM_DESC argument.
1997-03-13 20:40:53 +00:00
David Edelsohn
111c0666a7 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
COMMON_{PRE,POST}_CONFIG_FRAG instead.
	* configure.in: sinclude ../common/aclocal.m4.
	* configure: Regenerated.
1997-02-04 21:24:23 +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
David Edelsohn
e01714ccda * run.c: Deleted, use one in ../common now.
* Makefile.in: Delete everything that's been moved to
	../common/Make-common.in.
	(SIM_OBJS): Define.
	* configure.in: Simplify using macros in ../common/aclocal.m4.
	* configure: Regenerated.
	* config.in: New file.
	* armos.c: #include config.h.
	* wrapper.c (mem_size): Value is in bytes now.
	(sim_callback): New global.
	(arm_sim_set_profile{,_size}): Delete.
	(arm_sim_set_mem_size): Rename to sim_size.
	(sim_do_command): Call printf_filtered via callback.
	(sim_set_callbacks): Record callback.
1996-11-20 09:10:22 +00:00
Jason Molenda
445289655a * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
        (docdir): Removed.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
        (AC_PROG_INSTALL): Added.
        * configure: Rebuilt.
1996-06-26 03:22:34 +00:00
Ian Lance Taylor
e924127a4f * run.c (main): Use new bfd_big_endian macro. 1995-12-15 21:28:11 +00:00
David Edelsohn
c3ccc15e43 minor cleanup 1995-11-21 01:45:07 +00:00
David Edelsohn
6d8e15cbaf * run.c: Include "getopt.h".
(verbose): Delete.
	(usage): Make static.
	(main): Call arm_sim_set_verbosity.
	Only load sections marked SEC_LOAD.
	* wrapper.c (mem_size, verbosity): New static global.
	(arm_sim_set_mem_size): Renamed from sim_size.
	Callers updated
	(arm_sim_set_profile{,_size}): Renamed from sim_foo.  Callers updated.
1995-11-21 01:44:50 +00:00
David Edelsohn
e47e480588 * armdefs.h (ARMul_State): New member `verbose'.
* armrdi.c (ARMul_ConsolePrint): Add missing va_end.
	* run.c (verbose): Make global.
	* wrapper.c (init): Set state->verbose.
	(ARMul_ConsolePrint): Don't print anything if !verbose.
1995-11-18 03:39:17 +00:00
Steve Chamberlain
a325a02e36 Add sim_set_callbacks. 1995-10-13 22:06:30 +00:00
Ian Lance Taylor
602677ad44 add maintainer-clean Makefile targets 1995-09-20 17:38:13 +00:00
Ian Lance Taylor
c64dfabd07 * configure.in: Remove AC_PROG_INSTALL.
* configure: Rebuild.
	* Makefile.in (INSTALL): Revert to using install.sh.
	(INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
	(INSTALL_XFORM, INSTALL_XFORM1): Restore.
	(mostlyclean): Make the same as clean, not distclean.
	(clean): Remove config.log.
	(install): Don't install in $(tooldir).
1995-09-08 18:29:22 +00:00
David Edelsohn
24691f5599 (Try to) Update to new bfd autoconf scheme.
* run.c: Don't include sysdep.h.
	* Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
	(CC, CFLAGS, AR, RANLIB): Likewise.
	(HDEFINES, TDEFINES): Define.
	(CC_FOR_BUILD): Delete.
	(host_makefile_frag): Delete.
	(Makefile): Don't depend on frags.
	* configure.in (sysdep.h): Don't create symlink.
	(host_makefile_frag, frags): Deleted.
	(CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
	* configure: Regenerated.
1995-09-07 19:08:15 +00:00
Fred Fish
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
J.T. Conklin
80c5739dbe forgot to check this in 1995-07-05 23:51:30 +00:00
J.T. Conklin
982744ff4c * Makefile.in, configure.in: converted to autoconf.
* configure: New file, generated with autconf 2.4.
1995-07-05 23:39:33 +00:00
J.T. Conklin
d1709457d9 * arm.mt: Removed. 1995-07-05 23:18:25 +00:00
Stan Shebs
1a0e5dd043 * wrapper.c (sim_do_command): New function. 1995-06-30 23:59:46 +00:00
Steve Chamberlain
5cb74cfef5 * armos.c (ARMul_OSHandleSWI): New version to work with
newlib simply.
1995-06-13 17:57:26 +00:00
Steve Chamberlain
c8aea29bd6 * run.c (main): Grab return value from right register. 1995-06-08 21:37:35 +00:00
Steve Chamberlain
d32033ad35 Wed May 24 14:48:46 1995 Steve Chamberlain <sac@slash.cygnus.com>
* Makefile.in: Support ARM.
	* configure.in: Ditto.
1995-05-24 21:49:24 +00:00