2000-08-14 Nick Clifton * armemu.c (LHPOSTDOWN): Compute write back value before performing load in case the offset register is overwritten. (LHPOSTUP): Ditto. 2000-07-14 Fernando Nasser * wrapper.c (sim_create_inferior): Fix typo in the previous patch. 2000-07-14 Fernando Nasser * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a new inferior. 2000-07-04 Alexandre Oliva * armvirt.c (ABORTS): Do not define. * 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. * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn. * 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. * armemu.c (LoadSMult): Use WriteR15() to discard the least significant bits of PC. * 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(). * 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. * 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. * armemu.c (ARMul_Emulate): Compute writeback value before loading, since the offset register may be the destination register. * armdefs.h (SYSTEMBANK): Define as USERBANK. * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases. 2000-06-22 Alexandre Oliva * armemu.c (Multiply64): Fix computation of flag N. * armemu.c (MultiplyAdd64): Fix computation of flag N. 2000-06-20 Alexandre Oliva * armemu.h (NEGBRANCH): Do not overwrite the two most significant bits of the offset. 2000-05-25 Nick Clifton * armcopro.c (MMUMCR): Only indicate mode change if a singal has really changed. (MMUWrite): Only indicate mode change if a singal has really changed. * armdefs.h (SYSTEMMODE): Define. (BANK_CAN_ACEESS_SPSR): Define. * armemu.c (ARM_Emulate26): If the mode has changed allow the PC to advance before stopping the emulation. * arminit.c (ARMul_Reset): Ensure Mode field of State is set correctly. * armos.c (ARMul_OSInit): Create a initial stack pointer for System mode. * armsupp.c (ModeToBank): Remove unused first parameter. Add support for System Mode. (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro. (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro. (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro. (ARMulSwitchMode): Add support for System Mode. Wed May 24 14:40:34 2000 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. 2000-05-23 Nick Clifton * wrapper.c (sim_store_register): Special handling for CPSR register. 2000-03-11 Philip Blundell * armemu.c (LoadSMult, LoadMult): Correct handling of aborts. Patch from Allan Skillman . Wed Mar 22 15:24:21 2000 glen mccready * wrapper.c (sim_open,sim_close): Copy into myname, free myname. 2000-02-08 Nick Clifton * wrapper.c: Fix compile time warning messages. * armcopro.c: Fix compile time warning messages. * armdefs.h: Fix compile time warning messages. * armemu.c: Fix compile time warning messages. * armemu.h: Fix compile time warning messages. * armos.c: Fix compile time warning messages. * armsupp.c: Fix compile time warning messages. * armvirt.c: Fix compile time warning messages. * bag.c: Fix compile time warning messages. 2000-02-02 Bernd Schmidt * *.[ch]: Use indent to make readable. 1999-11-22 Nick Clifton * armos.c (SWIread): Generate an error message if a huge read is performed. (SWIwrite): Generate an error message if a huge write is performed. 1999-10-27 Nick Clifton * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb breakpoint. 1999-10-08 Ulrich Drepper * armos.c (SWIopen): Always pass third parameter with 0666 since otherwise uninitialized memory gets access if the O_CREAT bit is set and so we possibly cannot access the file afterwards. 1999-09-29 Doug Evans * armos.c (SWIWrite0): Send output to stdout instead of stderr. (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto. Thu Sep 2 18:15:53 1999 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. 1999-05-08 Felix Lee * configure: Regenerated to track ../common/aclocal.m4 changes. 1999-04-06 Keith Seitz * wrapper.c (stop_simulator): New global. (sim_stop): Set sim state to STOP and set stop_simulator. (sim_resume): Reset stop_simulator. (sim_stop_reason): If stop_simulator is set, tell gdb that the we took SIGINT. * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if stop_simulator is set. 1999-04-02 Keith Seitz * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook whenever the counter expires. * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK. 1999-03-24 Nick Clifton * armemu.c (ARMul_Emulate26): Handle new breakpoint value. * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value. Mon Sep 14 09:00:05 1998 Nick Clifton * wrapper.c (sim_open): Set endianness according to BFD or command line switch. * tconfig.in: Define SIM_HAVE_BIENDIAN. Thu Aug 27 11:00:05 1998 Nick Clifton * armemu.c (Multiply64): Test for Rm (rather than Rs) not being the same as either RdHi or RdLo. Thu Jul 2 10:24:35 1998 Nick Clifton * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException): Set Reg[0] based on reason for for the exception. Thu Jun 4 15:22:03 1998 Jason Molenda (crash@bugshack.cygnus.com) * armos.c (SWIwrite0): New function. (WriteCommandLineTo): New function. (SWIopen): New function. (SWIread): New function. (SWIwrite): New function. (SWIflen): New function. (ARMul_OSHandleSWI): Call new functions instead of handling these here. (ARMul_OSHandleSWI): Handle Angel SWIs correctly. (*): Reformat spacing to be a bit more GNUly. Most code taken from a patch by Anthony Thompson (athompso@cambridge.arm.com) Tue Jun 2 15:22:22 1998 Nick Clifton * armos.h: Add Angel SWI and its reason codes. * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now). 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(). Wed May 20 17:36:25 1998 Nick Clifton * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts to open stdout. Wed Apr 29 15:29:55 1998 Jeff Johnston * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock, SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only seek from offset 0 and not to use R2 for whence since it is not passed as part of the SWI call. Tue Apr 28 18:33:31 1998 Geoffrey Noer * configure: Regenerated to track ../common/aclocal.m4 changes. Sun Apr 26 15:31:55 1998 Tom Tromey * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Sun Apr 26 15:20:26 1998 Tom Tromey * acconfig.h: New file. * configure.in: Reverted change of Apr 24; use sinclude again. Fri Apr 24 14:16:40 1998 Tom Tromey * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Fri Apr 24 11:20:19 1998 Tom Tromey * configure.in: Don't call sinclude. Sat Apr 4 20:36:25 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Mar 27 16:15:52 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Mar 25 12:35:29 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Mar 18 12:38:12 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Tue Mar 10 09:26:38 1998 Nick Clifton * armopts.h: Remove definition of LITTLEND - it is not used. Tue Feb 17 12:35:54 1998 Andrew Cagney * wrapper.c (sim_store_register, sim_fetch_register): Pass in length parameter. Return -1. Sun Feb 1 16:47:51 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Sat Jan 31 18:15:41 1998 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Mon Jan 19 22:26:29 1998 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Mon Dec 15 23:17:11 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Tue Dec 9 11:30:48 1997 Nick Clifton * Makefile.in: Updated with changes from branch. * armdefs.h: ditto * armemu.c: ditto these changes * armemu.h: ditto add support for * armos.c: ditto the Thumb instruction * armsupp.c: ditto set and the new v4 * armvirt.c: ditto architecture. * wrapper.c: ditto * thumbemu.c: New file from branch. Thu Dec 4 09:21:05 1997 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Thu Oct 30 13:54:06 1997 Nick Clifton * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch from Tony Thompson at ARM: athompso@arm.com * wrapper.c (sim_create_inferior): Add code to create an execution environment. Patch from Tony Thompson at ARM: athompso@arm.com Wed Oct 22 14:43:00 1997 Andrew Cagney * wrapper.c (sim_load): Pass lma_p and sim_write args to sim_load_file. Fri Oct 3 09:28:00 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Sep 24 17:38:57 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Tue Sep 23 11:04:38 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Mon Sep 22 11:46:20 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Sep 19 17:45:25 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Mon Sep 15 17:36:15 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Thu Sep 4 17:21:23 1997 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Aug 27 18:13:22 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Tue Aug 26 10:37:27 1997 Andrew Cagney * wrapper.c (sim_kill): Delete. (sim_create_inferior): Add ABFD argument. (sim_load): Move setting of PC from here. (sim_create_inferior): To here. Mon Aug 25 17:50:22 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Mon Aug 25 15:35:45 1997 Andrew Cagney * wrapper.c (sim_open): Add ABFD argument. Tue May 20 10:13:26 1997 Andrew Cagney * wrapper.c (sim_open): Add callback argument. (sim_set_callbacks): Drop SIM_DESC argument. Thu Apr 24 00:39:51 1997 Doug Evans * configure: Regenerated to track ../common/aclocal.m4 changes. Fri Apr 18 13:32:23 1997 Andrew Cagney * wrapper.c (sim_stop): Stub sim_stop function. Thu Apr 17 18:33:01 1997 Fred Fish * arminit.c (ARMul_NewState): Preinitialize the state to all zero/NULL. Thu Apr 17 02:39:02 1997 Doug Evans * 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. Thu Apr 17 11:48:25 1997 Andrew Cagney * wrapper.c (sim_trace): Update so that it matches prototype. Mon Apr 7 15:45:02 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Mon Apr 7 12:01:17 1997 Andrew Cagney * Makefile.in (armemu32.o): Replace $< with autoconf recommended $(srcdir)/.... (armemu26.o): Ditto. Wed Apr 2 15:06:28 1997 Doug Evans * wrapper.c (sim_open): New arg `kind'. * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Apr 2 14:50:44 1997 Ian Lance Taylor * COPYING: Update FSF address. Wed Apr 2 14:34:19 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Mar 19 01:14:00 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Mon Mar 17 15:10:07 1997 Andrew Cagney * configure: Re-generate. Fri Mar 14 10:34:11 1997 Michael Meissner * configure: Regenerate to track ../common/aclocal.m4 changes. Thu Mar 13 12:38:56 1997 Doug Evans * wrapper.c (sim_open): Has result now. (sim_*): New SIM_DESC argument. Tue Feb 4 13:22:21 1997 Doug Evans * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use COMMON_{PRE,POST}_CONFIG_FRAG instead. * configure.in: sinclude ../common/aclocal.m4. * configure: Regenerated. Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com) * 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. Wed Nov 20 01:05:10 1996 Doug Evans * 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. Thu Oct 3 16:10:27 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) * Makefile.in (mostlyclean): Remove config.log. Wed Jun 26 12:17:24 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) * 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. Wed Feb 21 12:14:31 1996 Ian Lance Taylor * configure: Regenerate with autoconf 2.7. Fri Dec 15 16:27:30 1995 Ian Lance Taylor * run.c (main): Use new bfd_big_endian macro. Mon Nov 20 17:40:38 1995 Doug Evans * 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. Fri Nov 17 19:35:11 1995 Doug Evans * 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. Fri Oct 13 15:30:30 1995 Doug Evans * armos.c: #include dbg_rdi.h. (ARMul_OSHandleSWI): Handle SWI_Breakpoint. * armos.h (SWI_Breakpoint): Define. * wrapper.c: #include armemu.h, dbg_rdi.h. (rc): Delete. (sim_resume): Use state->EndCondition to record stop state. Call FLUSHPIPE before returning. (sim_stop_reason): Determine reason from state->EndCondition. Fri Oct 13 15:04:05 1995 steve chamberlain * wrapper.c (sim_set_callbacks): New. Thu Sep 28 19:45:56 1995 Doug Evans * armos.c (ARMul_OSHandleSWI): Result of read/write calls is number of bytes not read/written (or -1). Wed Sep 20 13:35:54 1995 Ian Lance Taylor * Makefile.in (maintainer-clean): New synonym for realclean. Fri Sep 8 14:27:20 1995 Ian Lance Taylor * 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). Thu Sep 7 12:00:17 1995 Doug Evans (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. Thu Aug 3 10:45:37 1995 Fred Fish * Update all FSF addresses except those in COPYING* files. Wed Jul 5 16:15:54 1995 J.T. Conklin * Makefile.in (clean): Remove run, libsim.a. * Makefile.in, configure.in: converted to autoconf. * configure: New file, generated with autconf 2.4. * arm.mt: Removed. Fri Jun 30 16:49:47 1995 Stan Shebs * wrapper.c (sim_do_command): New function. Tue Jun 13 10:57:32 1995 Steve Chamberlain * armos.c (ARMul_OSHandleSWI): New version to work with newlib simply. Thu Jun 8 14:37:14 1995 Steve Chamberlain * run.c (main): Grab return value from right register. Wed May 24 14:37:31 1995 Steve Chamberlain * New.