2008-06-06 Vladimir Prus Daniel Jacobowitz Joseph Myers * configure: Regenerate. * wrapper.c (sim_target_display_usage): Add help parameter. 2007-02-27 Mark Mitchell * armos.c (SWIflen): Do not treate file descriptor zero as special. 2007-02-15 Nick Clifton * armemu.c (handle_v6_insn): Fix typo in sign extension test of the sext and sxtah instructions. 2007-02-08 Daniel Jacobowitz Reported by timeless@gmail.com: * wrapper.c (sim_target_parse_arg_array): Do not return void value. 2006-12-21 Hans-Peter Nilsson * acconfig.h: Remove. * config.in: Regenerate. 2006-06-13 Richard Earnshaw * configure: Regenerated. 2006-06-05 Daniel Jacobowitz * configure: Regenerated. 2006-05-31 Daniel Jacobowitz * configure: Regenerated. 2006-03-07 Paul Brook * elfos.c (ARMul_OSHandleSWI): Call correct function for IsTTY. 2006-02-01 Shaun Jackman * armos.c (ARMul_OSHandleSWI): Handle the RedBoot system call meminfo. Return ENOSYS for unhandled RedBoot syscalls. 2005-11-23 Mark Mitchell * 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 * 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 * 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 * 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 * 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 * 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 * 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 * configure: Regenerate. 2005-01-14 Andrew Cagney * configure.ac: Sinclude aclocal.m4 before common.m4. Add explicit call to AC_CONFIG_HEADER. * configure: Regenerate. 2005-01-12 Andrew Cagney * configure.ac: Update to use ../common/common.m4. * configure: Re-generate. 2005-01-11 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. 2005-01-07 Andrew Cagney * configure.ac: Rename configure.in, require autoconf 2.59. * configure: Re-generate. 2004-12-08 Hans-Peter Nilsson * configure: Regenerate for ../common/aclocal.m4 update. 2004-06-28 Andrew Cagney * armemu.c: Rename ui_loop_hook to deprecated_ui_loop_hook. 2003-12-29 Mark Mitchell * 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 * armvirt.c (GetWord): Only call XScale_check_memacc if in XScale mode. (PutWord): Likewise. 2003-03-30 Nick Clifton * 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 * armos.c (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors. 2003-03-27 Nick Clifton * 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 * Contribute support for Cirrus Maverick ARM co-processor, written by Aldy Hernandez and Andrew Cagney : * 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 * armos.c (SWIWrite0): Catch big-endian bug when printing characters. 2003-02-27 Andrew Cagney * wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd. 2003-01-10 Ben Elliston * README.Cygnus: Rename from this .. * README: .. to this. 2002-09-27 Andrew Cagney * wrapper.c (sim_open): Add support for -m. (mem_size): Reduce to 2MB. Fix PR gdb/433. 2002-08-15 Nick Clifton * 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 * armemu.c (ARMul_Emulate32): Add more tests for valid MIA, MIAPH and MIAxy instructions. 2002-06-21 Nick Clifton * armos.h (ADP_Stopped_RunTimeError): Set correct value. 2002-06-16 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. 2002-06-12 Andrew Cagney * 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 * wrapper.c: Include "gdb/callback.h" and "gdb/remote-sim.h". * armos.c: Include "gdb/callback.h". 2002-05-29 Nick Clifton * armcopro.c (XScale_check_memacc): Set the FSR and FAR registers if a Data Abort is detected. 2002-05-27 Nick Clifton * 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 * 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 * 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 * 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 * armos.c (ARMul_OSHandleSWI): Support the RedBoot SWI in ARM mode and some of its system calls. 2002-03-17 Anthony Green * wrapper.c (mem_size): Increase the default target memory to 8MB. 2002-02-21 Keith Seitz * 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 * wrapper.c (sim_create_inferior): Modify previous patch so that it is only triggered for COFF format executables. 2002-02-04 Nick Clifton * 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 * 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 * 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 * Makefile.in (armemu32.o): Replace $< with autoconf recommended $(srcdir)/.... (armemu26.o): Ditto. 2001-10-18 Nick Clifton * 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 * armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD instructions with post indexed addressing modes. 2001-05-08 Jens-Christian Lache * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to determine rocesor mode. 2001-04-18 matthew green * 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 * armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking when loading unaligned thumb instructions. 2001-03-06 Nick Clifton * 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 * 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 * armemu.c: Remove Prefetch abort for breakpoints. Instead set the state to RESUME. 2001-02-14 Nick Clifton * 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 * 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 * armemu.h (NEGBRANCH): Fix defintion. 2001-02-01 Nick Clifton * 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 * 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 * armemu.c (ARMul_Emulate26): Fix test for StoreDouble instruction. 2000-12-10 Nick Clifton * armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI. 2000-12-07 Nick Clifton * 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 * armos.c: Fix formatting. (ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale mode. 2000-11-29 Nick Clifton * 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 * 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 * 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.