binutils-gdb/sim/arm/ChangeLog
Daniel Jacobowitz eeea466063 * armos.c (ARMul_OSHandleSWI): Handle the RedBoot system
call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
2006-02-02 01:48:16 +00:00

1181 lines
39 KiB
Plaintext

2006-02-01 Shaun Jackman <sjackman@gmail.com>
* armos.c (ARMul_OSHandleSWI): Handle the RedBoot system
call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
2005-11-23 Mark Mitchell <mark@codesourcery.com>
* wrapper.c (gdb/signals.h): Include it.
(SIGTRAP): Don't define.
(SIGBUS): Likewise.
(sim_stop_reason): Use TARGET_SIGNAL_* instead of SIG*.
2005-11-16 Shaun Jackman <sjackman@gmail.com>
* armos.c: Include limits.h
(unlink): Remove this macro. It is unused in this file and
conflicts with sim_callback->unlink.
(PATH_MAX): Define as 1024 if not already defined.
(ReadFileName): New function.
(SWIopen): Fix a potential buffer overflow.
(SWIremove): New function.
(SWIrename): Ditto.
(ARMul_OSHandleSWI): Handle the RDP calls SWI_IsTTY,
SWI_Remove, and SWI_Rename, as well as the RDI calls
AngelSWI_Reason_IsTTY, AngelSWI_Reason_Remove, and
AngelSWI_Reason_Rename.
2005-09-19 Paul Brook <paul@codesourcery.com>
* armdefs.h: Define ARMsword and ARMsdword. Use stdint.h when
available.
* armemu.c: Use them.
* armvirt.c (ARMul_MemoryInit): Use correct type for size.
* configure.ac: Check for stdint.h.
* config.in: Regenerate.
* configure: Regenerate.
2005-05-24 Nick Clifton <nickc@redhat.com>
* thumbemu.c (handle_v6_thumb_insn): New function.
(ARMul_ThumbDecode): Call handle_v6_thumb_insn() when an undefined
instruction binary is encountered.
2005-05-12 Nick Clifton <nickc@redhat.com>
* Update the address and phone number of the FSF organization in
the GPL notices in the following files:
COPYING, Makefile.in, armcopro.c, armdefs.h, armemu.c,
armemu.h, armfpe.h, arminit.c, armopts.h, armos.c, armos.h,
armrdi.c, armsupp.c, armvirt.c, bag.c, bag.h, communicate.c,
communicate.h, dbg_conf.h, dbg_cp.h, dbg_hif.h, dbg_rdi.h,
gdbhost.c, gdbhost.h, iwmmxt.c, iwmmxt.h, kid.c, main.c,
maverick.c, parent.c, thumbemu.c, wrapper.c
2005-04-20 Nick Clifton <nickc@redhat.com>
* armemu.c (handle_v6_insn): New function - emulate a few of the
v6 instructions - the ones now generated by GCC.
(ARMulEmulate32): Call handle_v6_insn when a possible v6 insn is
found.
* armdefs.h (struct ARMul_State): Add new field: is_v6.
(ARM_v6_Prop): Define.
* arminit.c (ARMul_NewState): Initialise the v6 flag.
(ARMul_SelectProcessor): Determine if the v6 flag should be
set.
* wrapper.c (sim_create_inferior): For unknown architectures,
default to allowing the v6 instructions.
2005-04-18 Nick Clifton <nickc@redhat.com>
* iwmmxt.c (WMAC, WMADD): Move casts from the LHS of an assignment
operator to the RHS.
(WSLL, WSRA, WSRL, WUNPCKEH, WUNPACKEL): Use ULL suffix to
indicate an unsigned long long constant.
2005-03-23 Mark Kettenis <kettenis@gnu.org>
* configure: Regenerate.
2005-01-14 Andrew Cagney <cagney@gnu.org>
* configure.ac: Sinclude aclocal.m4 before common.m4. Add
explicit call to AC_CONFIG_HEADER.
* configure: Regenerate.
2005-01-12 Andrew Cagney <cagney@gnu.org>
* configure.ac: Update to use ../common/common.m4.
* configure: Re-generate.
2005-01-11 Andrew Cagney <cagney@localhost.localdomain>
* configure: Regenerated to track ../common/aclocal.m4 changes.
2005-01-07 Andrew Cagney <cagney@gnu.org>
* configure.ac: Rename configure.in, require autoconf 2.59.
* configure: Re-generate.
2004-12-08 Hans-Peter Nilsson <hp@axis.com>
* configure: Regenerate for ../common/aclocal.m4 update.
2004-06-28 Andrew Cagney <cagney@gnu.org>
* armemu.c: Rename ui_loop_hook to deprecated_ui_loop_hook.
2003-12-29 Mark Mitchell <mark@codesourcery.com>
* armos.c (fcntl.h): Do not include it.
(O_RDONLY): Do not define.
(O_WRONLY): Likewise.
(O_RDWR): Likewise.
(targ-vals.h): Include it.
(translate_open_mode): Use TARGET_O_* instead of O_*.
(SWIopen): Likewise.
* Makefile.in (armos.o): Depend on targ-vals.h.
2003-04-13 Nick Clifton <nickc@redhat.com>
* armvirt.c (GetWord): Only call XScale_check_memacc if in XScale
mode.
(PutWord): Likewise.
2003-03-30 Nick Clifton <nickc@redhat.com>
* configure.in (CON_FLAGS): Remove.
(COPRO): Unconditionally include iwmmxt.o.
* configure: Regenerate.
* Makefile.in (CON_FLAGS): Remove.
* armcopro.c: Remove use of __IWMMXT__ flag.
* wrapper.c: Likewise.
* armemu.c: Likewise.
Add explanatory comment for suppressed code.
2003-03-27 Nick Clifton <nickc@redhat.com>
* armos.c (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors.
2003-03-27 Nick Clifton <nickc@redhat.com>
* configure.in: (CON_FLAGS): Define and intialise.
(COPRO): Add iwmmxt.o if configuring for XScale.
* configure: Regenerate.
* Makefile.in (iwmmxt.o): Add rule to build.
(COM_FLAGS): Define.
(ALL_FLAGS): Add CON_FLAGS.
* armcopro.c (ARMul_CoProInit): Initialise iWMMXt coprocessors.
* armdefs.h (struct ARMul_State): Add 'is_iWMMXt' field.
(ARM_iWMMXt_Prop): Define.
* armemu.c (ARMul_Emulate16): Intercept iWMMXt instructions and
pass to coprocessor.
* arminit.c (ARMul_NewState): Initialise 'is_iWMMXt'.
(ARMul_Abort): Catch branches through uninitialised vectors.
* armos.c (softevtorcode): Update comment.
(ARMul_OsInit): Use ARMUndefinedInstrV.
* wrapper.c (sim_create_inferior): Handle iWMMXt processor type.
(sim_store_register): Handle iWMMXt registers.
(sim_fetch_register): Handle iWMMXt registers.
* iwmmxt.h: New file. Exported iWMMXt coprocessor emulator
functions.
* iwmmxt.c: New file: iWMMXt emulator.
2003-03-20 Nick Clifton <nickc@redhat.com>
* Contribute support for Cirrus Maverick ARM co-processor,
written by Aldy Hernandez <aldyh@redhat.com> and
Andrew Cagney <cagney@redhat.com>:
* maverick.c: New file: Support for Maverick floating point
co-processor.
* Makefile.in: Add maverick.o target.
* configure.in (COPRO): Add maverick.o.
* configure: Regenerate.
* armcopro.c (ARMul_CoProInit): Only initialise co-processors
available on target processor. Add code to initialse Maverick
co-processor support code.
* armdefs.h (ARMul_state): Add is_ep9312 field.
(ARM_ep9312_Prop): Define.
* armemu.h: Add prototypes for Maverick co-processor
functions.
* arminit.c (ARMul_SelectProcessor): Initialise the
co-processor support once the chip has been selected.
* wrapper.c: Add support for Maverick co-processor.
(init): Do not call ARMul_CoProInit. Delays this until the
chip has been selected.
2003-03-02 Nick Clifton <nickc@redhat.com>
* armos.c (SWIWrite0): Catch big-endian bug when printing
characters.
2003-02-27 Andrew Cagney <cagney@redhat.com>
* wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd.
2003-01-10 Ben Elliston <bje@redhat.com>
* README.Cygnus: Rename from this ..
* README: .. to this.
2002-09-27 Andrew Cagney <ac131313@redhat.com>
* wrapper.c (sim_open): Add support for -m<mem-size>.
(mem_size): Reduce to 2MB.
Fix PR gdb/433.
2002-08-15 Nick Clifton <nickc@redhat.com>
* armos.c (ARMul_OSHandleSWI): Catch and ignore SWIs of -1, they
can be caused by an interrupted system call being resumed by GDB.
2002-07-05 Nick Clifton <nickc@cambridge.redhat.com>
* armemu.c (ARMul_Emulate32): Add more tests for valid MIA, MIAPH
and MIAxy instructions.
2002-06-21 Nick Clifton <nickc@cambridge.redhat.com>
* armos.h (ADP_Stopped_RunTimeError): Set correct value.
2002-06-16 Andrew Cagney <ac131313@redhat.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
2002-06-12 Andrew Cagney <ac131313@redhat.com>
* Makefile.in: Update copyright.
(wrapper.o): Specify dependencies.
* wrapper.c: Include "gdb/sim-arm.h".
(sim_store_register, sim_fetch_register): Rewrite using `enum
arm_sim_regs' and a switch.
2002-06-09 Andrew Cagney <cagney@redhat.com>
* wrapper.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
* armos.c: Include "gdb/callback.h".
2002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
* armcopro.c (XScale_check_memacc): Set the FSR and FAR registers
if a Data Abort is detected.
2002-05-27 Nick Clifton <nickc@cambridge.redhat.com>
* armvirt.c (GetWord): Only perform access checks if 'check'
is set.
(PutWord): Likewise.
* wrapper.c (sim_create_inferior): Report unknown machine
numbers.
* thumbemu.c (ARMul_ThumbDecode, Case 31): Do not set LR to pc +
2, it has already been advanced.
2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
* thumbemu.c (ARMul_ThumbDecode): When decoding a BLX(1)
instruction do not add in the second bit of the base address -
this has already been accounted for.
2002-05-21 Nick Clifton <nickc@cambridge.redhat.com>
* armcopro.c (check_cp13_access): Allow access to register 1 when
CRm is 1.
(write_cp13_reg): Allow bit 0 of reg 1 of CRm 1 to be written to.
2002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
* Makefile.in (SIM_TARGET_SWITCHES): Define.
* armos.c (swi_mask): Define. Initialise to supporting all
SWI emulations.
(ARMul_OSInit): For XScale targets, only support the ANGEL
SWI interface. (This is at the request if Intel).
(ARMul_OSHandleSWI): Examine swi_mask to see if a particular
SWI call should be emulated.
Do not fall through from AngelSWI_Reason_WriteC.
Propagate exit code from RedBoot Exit SWI.
* rdi-dgb.h (swi_mask): Prototype.
(SWI_MASK_DEMON, SWI_MASK_ANGEL, SWI_MASK_REDBOOT): Define.
* wrapper.c (sim_target_parse_command_line): New function.
Look for and handle --swi-support switch.
(sim_target_parse_arg_array): New function. Process an argv
array for parsing by sim_target_parse_command_line.
(sim_target_display_usage): New function. Describe syntax of
--swi-suppoort switch.
(sim_open): Add call to sim_target_parse_arg_array).
2002-05-09 Nick Clifton <nickc@cambridge.redhat.com>
* armos.c (ARMul_OSHandleSWI): Support the RedBoot SWI in ARM
mode and some of its system calls.
2002-03-17 Anthony Green <green@redhat.com>
* wrapper.c (mem_size): Increase the default target memory to 8MB.
2002-02-21 Keith Seitz <keiths@redhat.com>
* armos.c (SWIWrite0): Use generic host_callback mechanism
for supported OS functions "open", "close", "write", etc.
(SWIopen): Likewise.
(SWIread): Likewise.
(SWIwrite): Likewise.
(SWIflen): Likewise.
(ARMul_OSHandleSWI): Likewise.
2002-02-05 Nick Clifton <nickc@cambridge.redhat.com>
* wrapper.c (sim_create_inferior): Modify previous patch so that
it is only triggered for COFF format executables.
2002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
* wrapper.c (sin_create_inferior): If a v5 architecture is
detected, assume it might be an XScale binary, since there is no
way to distinguish between the two in the COFF file format.
2002-01-10 Nick Clifton <nickc@cambridge.redhat.com>
* arminit.c (ARMul_Abort): Fix parameters passed to CPRead[13].
* armemu.c (ARMul_Emulate32): Fix parameters passed to CPRead[13]
and CPRead[14].
Fix formatting. Improve layout.
* armemu.h: Fix formatting. Improve layout.
2002-01-09 Nick Clifton <nickc@cambridge.redhat.com>
* wrapper.c (sim_fetch_register): If fetching more than 4 bytes
return zeroes in the other words.
General formatting tidy ups.
2001-11-16 Ben Harris <bjh21@netbsd.org>
* Makefile.in (armemu32.o): Replace $< with autoconf recommended
$(srcdir)/....
(armemu26.o): Ditto.
2001-10-18 Nick Clifton <nickc@cambridge.redhat.com>
* armemu.h (CP_ACCESS_ALLOWED): New macro.
Fix formatting.
* armcopro.c (read_cp14_reg): Make static.
(write_cp14_reg): Make static.
(check_cp13_access): Use CP_ACCESS_ALLOWED macro.
Fix formatting.
* armsupp.c (ARMul_LDC): Check CP_ACCESS_ALLOWED.
(ARMul_STC): Check CP_ACCESS_ALLOWED.
(ARMul_MCR): Check CP_ACCESS_ALLOWED.
(ARMul_MRC): Check CP_ACCESS_ALLOWED.
(ARMul_CDP): Check CP_ACCESS_ALLOWED.
Fix formatting.
* armemu.c (MCRR): Check CP_ACCESS_ALLOWED. Test Rd and Rn not
equal to 15.
(MRRC): Check CP_ACCESS_ALLOWED. Test Rd and Rn not equal to 15.
Fix formatting.
2001-05-11 Nick Clifton <nickc@cambridge.redhat.com>
* armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD
instructions with post indexed addressing modes.
2001-05-08 Jens-Christian Lache <lache@tu-harburg.de>
* armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to
determine rocesor mode.
2001-04-18 matthew green <mrg@redhat.com>
* armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes.
(read_cp15_reg): Make non-static.
(XScale_cp15_LDC): Update for write_cp15_reg() change.
(XScale_cp15_MCR): Likewise.
(XScale_cp15_write_reg): Likewise.
(XScale_check_memacc): New function. Check for breakpoints being
activated by memory accesses. Does not support the Branch Target
Buffer.
(XScale_set_fsr_far): New function. Set FSR and FAR for XScale.
(XScale_debug_moe): New function. Set the debug Method Of Entry,
if configured.
(write_cp14_reg): Reset count counter if requested.
* armdefs.h (struct ARMul_State): New members `LastTime' and
`CP14R0_CCD' used for the timer/counters.
(ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS,
ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD,
ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2,
ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2,
ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT,
ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X,
ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT,
ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New
defines for XScale registers.
(XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype.
(ARMul_Emulate32, ARMul_Emulate26): Clean up function definition.
(ARMul_Emulate32): Handle the clock counter and hardware instruction
breakpoints. Call XScale_set_fsr_far() for software breakpoints and
software interrupts.
(LoadMult): Call XScale_set_fsr_far() for data aborts.
(LoadSMult): Likewise.
(StoreMult): Likewise.
(StoreSMult): Likewise.
* armemu.h (write_cp15_reg): Update prototype.
* arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime.
(ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13
register 0.
* armvirt.c (GetWord): Call XScale_check_memacc().
(PutWord): Likewise.
2001-03-20 Nick Clifton <nickc@redhat.com>
* armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking
when loading unaligned thumb instructions.
2001-03-06 Nick Clifton <nickc@redhat.com>
* thumbemu.c (ARMul_ThumbDecode): Delete label bo_blx2.
Compute destination address of BLX(1) instruction by
taking bit 1 from PC and not from bit 0 of the offset.
2001-02-27 Nick Clifton <nickc@redhat.com>
* armvirt.c (GetWord): Add new parameter - check - to enable or
disable the alignment checking.
(PutWord): Add new parameter - check - to enable or disable the
alignment checking.
(ARMul_ReLoadInstr): Pass extra parameter to GetWord.
(ARMul_ReadWord): Pass extra parameter to GetWord.
(ARMul_WriteWord): Pass extra parameter to PutWord.
(ARMul_StoreHalfWord): Pass extra parameter to PutWord.
(ARMul_WriteByte): Pass extra parameter to GetWord.
(ARMul_SwapWord): Pass extra parameter to PutWord.
(ARMul_SafeReadByte): New Function: Read a byte but do not abort.
(ARMul_SafeWriteByte): New Function: Write a byte but do not abort.
* armdefs.h: Add prototypes for ARMul_SafeReadByte and
ARMul_SafeWriteByte.
* wrapper.c (sim_write): Use ARMul_SafeWriteByte.
(sim_read): Use ARMul_SafeReadByte.
* armos.c (in_SWI_handler): Remove.
(SWIWrite0): Use ARMul_SafeReadByte.
(WriteCommandLineTo): Use ARMul_SafeWriteByte.
(SWIopen): Use ARMul_SafeReadByte.
(SWIread): Use ARMul_SafeWriteByte.
(SWIwrite): Use ARMul_SafeReadByte.
(ARMul_OSHandleSWI): Remove use of is_SWI_handler.
(ARMul_OSException): Remove use of is_SWI_handler.
2001-02-16 Nick Clifton <nickc@redhat.com>
* armemu.c: Remove Prefetch abort for breakpoints. Instead set
the state to RESUME.
2001-02-14 Nick Clifton <nickc@redhat.com>
* armemu.c: Add code to preserve processor mode when a prefetch
abort is signalled after processing a breakpoint.
* wrapper.c (sim_create_inferior): Reset processor into ARM mode
for any machine type except the early ARMs.
2001-02-13 Nick Clifton <nickc@redhat.com>
* armos.c (in_SWI_handler): New static variable.
(ARMul_OSHandleSWI): Set in_SWI_handler whilst emulating a SWI.
(ARMul_OSException): Ignore exceptions generated whilst emulating
a SWI.
2001-02-12 Nick Clifton <nickc@redhat.com>
* armemu.h (NEGBRANCH): Fix defintion.
2001-02-01 Nick Clifton <nickc@redhat.com>
* armemu.c (LoadSMult): Update base address register after
restoring register bank.
(StoreMult): Update base address register after restoring register
bank.
2001-01-31 Nick Clifton <nickc@redhat.com>
* armvirt.c (PutWord): Detect installation of SWI vector.
(SWI_vector_installed): Define.
* armos.c (ARMul_OsInit): Reset SWI_vector_installed.
* armos.h (SWI_vector_installed): Declare.
* wrapper.c (SWI_vector_installed): Remove definition.
(sim_write): Remove check of SWI vector installation
2000-12-18 Nick Clifton <nickc@redhat.com>
* armemu.c (ARMul_Emulate26): Fix test for StoreDouble
instruction.
2000-12-10 Nick Clifton <nickc@redhat.com>
* armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI.
2000-12-07 Nick Clifton <nickc@redhat.com>
* armemu.c (ARMul_Emulate26): Detect double word load and
store instructions and call emulation routines.
(Handle_Load_Double): Emulate a double word load instruction.
(Handle_Store_Double): Emulate a double word store
instruction.
2000-12-03 Nick Clifton <nickc@redhat.com>
* armos.c: Fix formatting.
(ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale
mode.
2000-11-29 Nick Clifton <nickc@redhat.com>
* armdefs.h (State): Add 'v5e' and 'xscale' fields.
(ARM_v5e_Prop): Define.
(ARM_XScale_Prop): Define.
* wrapper.c (sim_create_inferior): Select processor based on
machine number.
(SWI_vector_installed): New boolean. Set to true if the SWI
vector address is written to by the executable.
* arminit.c (ARMul_NewState): Switch default to 32 bit mode.
(ARMul_SelectProcessor): Initialise v5e and xscale signals.
(ARMul_Abort): Fix calculation of LR address.
* armos.c (ARMul_OSHandleSWI): If a SWI vector has been installed
and a SWI is not handled by the simulator, pass the SWI off to the
vector, otherwise issue a warning message and continue.
* armsupp.c (ARMul_CPSRAltered): Set S bit aswell.
* thumbemu.c: Add v5 instruction simulation.
* armemu.c: Add v5, XScale and El Segundo instruction simulation.
* armcopro.c: Add XScale co-processor emulation.
* armemu.h: Add exported XScale co-processor functions.
2000-09-15 Nick Clifton <nickc@redhat.com>
* armdefs.h: Rename StrongARM property to v4_ARM and add v5 ARM
property. Delete unnecessary processor names.
(ARM_Strong_Prop): Delete.
(STRONGARM): Delete.
(ARM_v4_Prop): Add.
(ARM_v5_Prop): Add
(State): Delete is_StrongARM boolean. Add is_v4 and is_v5
booleans.
* armemu.h (BUSUSEDINCPCS): Use is_v4 boolean.
(BUSUSEDINCPCN): Use is_v4 boolean.
* arminit.c (ARMul_NewState): Initialise is_v4 and is_v5 fields.
(ARMul_SelectProcessor): Change second parameter from 'processor'
to 'properties'. Set is_v4 and is_v5 booleans in State.
* armrdi.c: Remove use of ARM processor names. Replace with ARM
processor properties.
* wrapper.c (sim_create_inferior): Choose properties passed to
ARMul_SelectProcessor based on machine number.
2000-08-14 Nick Clifton <nickc@redhat.com>
* armemu.c (LHPOSTDOWN): Compute write back value before
performing load in case the offset register is overwritten.
(LHPOSTUP): Ditto.
2000-07-14 Fernando Nasser <fnasser@cygnus.com>
* wrapper.c (sim_create_inferior): Fix typo in the previous patch.
2000-07-14 Fernando Nasser <fnasser@cygnus.com>
* wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
new inferior.
2000-07-04 Alexandre Oliva <aoliva@redhat.com>
* 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 <aoliva@cygnus.com>
* armemu.c (Multiply64): Fix computation of flag N.
* armemu.c (MultiplyAdd64): Fix computation of flag N.
2000-06-20 Alexandre Oliva <aoliva@cygnus.com>
* armemu.h (NEGBRANCH): Do not overwrite the two most significant
bits of the offset.
2000-05-25 Nick Clifton <nickc@cygnus.com>
* 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 <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
2000-05-23 Nick Clifton <nickc@cygnus.com>
* wrapper.c (sim_store_register): Special handling for CPSR
register.
2000-03-11 Philip Blundell <philb@gnu.org>
* armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
Patch from Allan Skillman <Allan.Skillman@arm.com>.
Wed Mar 22 15:24:21 2000 glen mccready <gkm@pobox.com>
* wrapper.c (sim_open,sim_close): Copy into myname, free myname.
2000-02-08 Nick Clifton <nickc@cygnus.com>
* 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 <bernds@cygnus.co.uk>
* *.[ch]: Use indent to make readable.
1999-11-22 Nick Clifton <nickc@cygnus.com>
* 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 <nickc@cygnus.com>
* thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
breakpoint.
1999-10-08 Ulrich Drepper <drepper@cygnus.com>
* 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 <devans@casey.cygnus.com>
* 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 <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
1999-05-08 Felix Lee <flee@cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
1999-04-06 Keith Seitz <keiths@cygnus.com>
* 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 <keiths@cygnus.com>
* 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 <nickc@cygnus.com>
* 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 <nickc@cygnus.com>
* 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 <nickc@cygnus.com>
* 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 <nickc@cygnus.com>
* 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 <nickc@cygnus.com>
* 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 <nickc@cygnus.com>
* armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
to open stdout.
Wed Apr 29 15:29:55 1998 Jeff Johnston <jjohnstn@cygnus.com>
* 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 <noer@cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
Sun Apr 26 15:20:26 1998 Tom Tromey <tromey@cygnus.com>
* acconfig.h: New file.
* configure.in: Reverted change of Apr 24; use sinclude again.
Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
Fri Apr 24 11:20:19 1998 Tom Tromey <tromey@cygnus.com>
* configure.in: Don't call sinclude.
Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Tue Mar 10 09:26:38 1998 Nick Clifton <nickc@cygnus.com>
* armopts.h: Remove definition of LITTLEND - it is not used.
Tue Feb 17 12:35:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
* wrapper.c (sim_store_register, sim_fetch_register): Pass in
length parameter. Return -1.
Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
Tue Dec 9 11:30:48 1997 Nick Clifton <nickc@cygnus.com>
* 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 <devans@canuck.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Thu Oct 30 13:54:06 1997 Nick Clifton <nickc@cygnus.com>
* 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 <cagney@b1.cygnus.com>
* wrapper.c (sim_load): Pass lma_p and sim_write args to
sim_load_file.
Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
Tue Aug 26 10:37:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
* 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 <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
Mon Aug 25 15:35:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
* wrapper.c (sim_open): Add ABFD argument.
Tue May 20 10:13:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
* wrapper.c (sim_open): Add callback argument.
(sim_set_callbacks): Drop SIM_DESC argument.
Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Fri Apr 18 13:32:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
* wrapper.c (sim_stop): Stub sim_stop function.
Thu Apr 17 18:33:01 1997 Fred Fish <fnf@cygnus.com>
* arminit.c (ARMul_NewState): Preinitialize the state to
all zero/NULL.
Thu Apr 17 02:39:02 1997 Doug Evans <dje@canuck.cygnus.com>
* 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 <cagney@b1.cygnus.com>
* wrapper.c (sim_trace): Update so that it matches prototype.
Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
* config.in: Ditto.
Mon Apr 7 12:01:17 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* Makefile.in (armemu32.o): Replace $< with autoconf recommended
$(srcdir)/....
(armemu26.o): Ditto.
Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
* 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 <ian@cygnus.com>
* COPYING: Update FSF address.
Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* configure: Re-generate.
Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
* configure: Regenerate to track ../common/aclocal.m4 changes.
Thu Mar 13 12:38:56 1997 Doug Evans <dje@canuck.cygnus.com>
* wrapper.c (sim_open): Has result now.
(sim_*): New SIM_DESC argument.
Tue Feb 4 13:22:21 1997 Doug Evans <dje@canuck.cygnus.com>
* 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 <dje@canuck.cygnus.com>
* 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 <ian@cygnus.com>
* configure: Regenerate with autoconf 2.7.
Fri Dec 15 16:27:30 1995 Ian Lance Taylor <ian@cygnus.com>
* run.c (main): Use new bfd_big_endian macro.
Mon Nov 20 17:40:38 1995 Doug Evans <dje@canuck.cygnus.com>
* 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 <dje@canuck.cygnus.com>
* 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 <dje@canuck.cygnus.com>
* 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 <sac@slash.cygnus.com>
* wrapper.c (sim_set_callbacks): New.
Thu Sep 28 19:45:56 1995 Doug Evans <dje@deneb.cygnus.com>
* 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 <ian@cygnus.com>
* Makefile.in (maintainer-clean): New synonym for realclean.
Fri Sep 8 14:27:20 1995 Ian Lance Taylor <ian@cygnus.com>
* 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 <dje@canuck.cygnus.com>
(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 <fnf@cygnus.com>
* Update all FSF addresses except those in COPYING* files.
Wed Jul 5 16:15:54 1995 J.T. Conklin <jtc@rtl.cygnus.com>
* 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 <shebs@andros.cygnus.com>
* wrapper.c (sim_do_command): New function.
Tue Jun 13 10:57:32 1995 Steve Chamberlain <sac@slash.cygnus.com>
* armos.c (ARMul_OSHandleSWI): New version to work with
newlib simply.
Thu Jun 8 14:37:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
* run.c (main): Grab return value from right register.
Wed May 24 14:37:31 1995 Steve Chamberlain <sac@slash.cygnus.com>
* New.