]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - sim/arm/ChangeLog
sim:
[thirdparty/binutils-gdb.git] / sim / arm / ChangeLog
index 4b1331a766ae566ff1ded33fb19a92ed93092620..78e512307486655247fe78a2e83fd8e640a3699b 100644 (file)
@@ -1,3 +1,498 @@
+2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
+            Daniel Jacobowitz  <dan@codesourcery.com>
+            Joseph Myers  <joseph@codesourcery.com>
+
+       * configure: Regenerate.
+       * wrapper.c (sim_target_display_usage): Add help parameter.
+
+2007-02-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * armos.c (SWIflen): Do not treate file descriptor zero as
+       special.
+
+2007-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * armemu.c (handle_v6_insn): Fix typo in sign extension test of
+       the sext and sxtah instructions.
+
+2007-02-08  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       Reported by timeless@gmail.com:
+       * wrapper.c (sim_target_parse_arg_array): Do not return void value.
+
+2006-12-21  Hans-Peter Nilsson  <hp@axis.com>
+
+       * acconfig.h: Remove.
+       * config.in: Regenerate.
+
+2006-06-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * configure: Regenerated.
+
+2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure: Regenerated.
+
+2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * configure: Regenerated.
+
+2006-03-07  Paul Brook  <paul@codesourcery.com>
+
+       * elfos.c (ARMul_OSHandleSWI): Call correct function for IsTTY.
+
+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