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.


