Add Cirrus Maverick support to arm simulator
[external/binutils.git] / sim / arm / ChangeLog
1 2003-02-10  Nick Clifton  <nickc@redhat.com>
2
3         * Contribute support for Cirrus Maverick ARM co-processor,
4         written by Aldy Hernandez  <aldyh@redhat.com> and
5         Andrew Cagney  <cagney@redhat.com>:
6
7         * maverick.c: New file: Support for Maverick floating point
8         co-processor. 
9         * Makefile.in: Add maverick.o target.
10         * configure.in (COPRO): Add maverick.o.
11         * configure: Regenerate.
12         * armcopro.c (ARMul_CoProInit): Only initialise co-processors
13         available on target processor.  Add code to initialse Maverick
14         co-processor support code.
15         * armdefs.h (ARMul_state): Add is_ep9312 field.
16         (ARM_ep9312_Prop): Define.
17         * armemu.h: Add prototypes for Maverick co-processor
18         functions.
19         * arminit.c (ARMul_SelectProcessor): Initialise the
20         co-processor support once the chip has been selected.
21         * wrapper.c: Add support for Maverick co-processor.
22         (init): Do not call ARMul_CoProInit.  Delays this until the
23         chip has been selected.
24
25 2003-03-02  Nick Clifton  <nickc@redhat.com>
26
27         * armos.c (SWIWrite0): Catch big-endian bug when printing
28         characters.
29
30 2003-02-27  Andrew Cagney  <cagney@redhat.com>
31
32         * wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd.
33         
34 2003-01-10  Ben Elliston  <bje@redhat.com>
35
36         * README.Cygnus: Rename from this ..
37         * README: .. to this.
38
39 2002-09-27  Andrew Cagney  <ac131313@redhat.com>
40
41         * wrapper.c (sim_open): Add support for -m<mem-size>.
42         (mem_size): Reduce to 2MB.
43         Fix PR gdb/433.
44
45 2002-08-15  Nick Clifton  <nickc@redhat.com>
46
47         * armos.c (ARMul_OSHandleSWI): Catch and ignore SWIs of -1, they
48         can be caused by an interrupted system call being resumed by GDB.
49
50 2002-07-05  Nick Clifton  <nickc@cambridge.redhat.com>
51
52         * armemu.c (ARMul_Emulate32): Add more tests for valid MIA, MIAPH
53         and MIAxy instructions.
54         
55 2002-06-21  Nick Clifton  <nickc@cambridge.redhat.com>
56
57         * armos.h (ADP_Stopped_RunTimeError): Set correct value.
58
59 2002-06-16  Andrew Cagney  <ac131313@redhat.com>
60
61         * configure: Regenerated to track ../common/aclocal.m4 changes.
62
63 2002-06-12  Andrew Cagney  <ac131313@redhat.com>
64
65         * Makefile.in: Update copyright.
66         (wrapper.o): Specify dependencies.
67         * wrapper.c: Include "gdb/sim-arm.h".
68         (sim_store_register, sim_fetch_register): Rewrite using `enum
69         arm_sim_regs' and a switch.
70
71 2002-06-09  Andrew Cagney  <cagney@redhat.com>
72
73         * wrapper.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
74         * armos.c: Include "gdb/callback.h".
75
76 2002-05-29  Nick Clifton  <nickc@cambridge.redhat.com>
77
78         * armcopro.c (XScale_check_memacc): Set the FSR and FAR registers
79         if a Data Abort is detected.
80
81 2002-05-27  Nick Clifton  <nickc@cambridge.redhat.com>
82
83         * armvirt.c (GetWord): Only perform access checks if 'check'
84         is set.
85         (PutWord): Likewise.
86         * wrapper.c (sim_create_inferior): Report unknown machine
87         numbers.
88         * thumbemu.c (ARMul_ThumbDecode, Case 31): Do not set LR to pc +
89         2, it has already been advanced.
90
91 2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
92
93         * thumbemu.c (ARMul_ThumbDecode): When decoding a BLX(1)
94         instruction do not add in the second bit of the base address -
95         this has already been accounted for.
96
97 2002-05-21  Nick Clifton  <nickc@cambridge.redhat.com>
98
99         * armcopro.c (check_cp13_access): Allow access to register 1 when
100         CRm is 1.
101         (write_cp13_reg): Allow bit 0 of reg 1 of CRm 1 to be written to.
102
103 2002-05-17  Nick Clifton  <nickc@cambridge.redhat.com>
104
105         * Makefile.in (SIM_TARGET_SWITCHES): Define.
106         * armos.c (swi_mask): Define.  Initialise to supporting all
107         SWI emulations.
108         (ARMul_OSInit): For XScale targets, only support the ANGEL
109         SWI interface.  (This is at the request if Intel).
110         (ARMul_OSHandleSWI): Examine swi_mask to see if a particular
111         SWI call should be emulated.
112         Do not fall through from AngelSWI_Reason_WriteC.
113         Propagate exit code from RedBoot Exit SWI.
114         * rdi-dgb.h (swi_mask): Prototype.
115         (SWI_MASK_DEMON, SWI_MASK_ANGEL, SWI_MASK_REDBOOT): Define.
116         * wrapper.c (sim_target_parse_command_line): New function.
117         Look for and handle --swi-support switch.
118         (sim_target_parse_arg_array): New function.  Process an argv
119         array for parsing by sim_target_parse_command_line.
120         (sim_target_display_usage): New function.  Describe syntax of
121         --swi-suppoort switch.
122         (sim_open): Add call to sim_target_parse_arg_array).
123
124 2002-05-09  Nick Clifton  <nickc@cambridge.redhat.com>
125
126         * armos.c (ARMul_OSHandleSWI): Support the RedBoot SWI in ARM
127         mode and some of its system calls.
128
129 2002-03-17  Anthony Green  <green@redhat.com>
130
131         * wrapper.c (mem_size): Increase the default target memory to 8MB.
132
133 2002-02-21  Keith Seitz  <keiths@redhat.com>
134
135         * armos.c (SWIWrite0): Use generic host_callback mechanism
136         for supported OS functions "open", "close", "write", etc.
137         (SWIopen): Likewise.
138         (SWIread): Likewise.
139         (SWIwrite): Likewise.
140         (SWIflen): Likewise.
141         (ARMul_OSHandleSWI): Likewise.
142
143 2002-02-05  Nick Clifton  <nickc@cambridge.redhat.com>
144
145         * wrapper.c (sim_create_inferior): Modify previous patch so that
146         it is only triggered for COFF format executables.
147
148 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
149
150         * wrapper.c (sin_create_inferior): If a v5 architecture is
151         detected, assume it might be an XScale binary, since there is no
152         way to distinguish between the two in the COFF file format.
153
154 2002-01-10  Nick Clifton  <nickc@cambridge.redhat.com>
155
156         * arminit.c (ARMul_Abort): Fix parameters passed to CPRead[13].
157         * armemu.c (ARMul_Emulate32): Fix parameters passed to CPRead[13]
158         and CPRead[14].
159         Fix formatting.  Improve layout.
160         * armemu.h: Fix formatting.  Improve layout.
161
162 2002-01-09  Nick Clifton  <nickc@cambridge.redhat.com>
163
164         * wrapper.c (sim_fetch_register): If fetching more than 4 bytes
165         return zeroes in the other words.
166         General formatting tidy ups.
167
168 2001-11-16  Ben Harris  <bjh21@netbsd.org>
169
170         * Makefile.in (armemu32.o): Replace $< with autoconf recommended
171         $(srcdir)/....
172         (armemu26.o): Ditto.
173
174 2001-10-18  Nick Clifton  <nickc@cambridge.redhat.com>
175
176         * armemu.h (CP_ACCESS_ALLOWED): New macro.
177         Fix formatting.
178         * armcopro.c (read_cp14_reg): Make static.
179         (write_cp14_reg): Make static.
180         (check_cp13_access): Use CP_ACCESS_ALLOWED macro.
181         Fix formatting.
182         * armsupp.c (ARMul_LDC): Check CP_ACCESS_ALLOWED.
183         (ARMul_STC): Check CP_ACCESS_ALLOWED.
184         (ARMul_MCR): Check CP_ACCESS_ALLOWED.
185         (ARMul_MRC): Check CP_ACCESS_ALLOWED.
186         (ARMul_CDP): Check CP_ACCESS_ALLOWED.
187         Fix formatting.
188         * armemu.c (MCRR): Check CP_ACCESS_ALLOWED.  Test Rd and Rn not
189         equal to 15.
190         (MRRC): Check CP_ACCESS_ALLOWED.  Test Rd and Rn not equal to 15.
191         Fix formatting.
192
193 2001-05-11  Nick Clifton  <nickc@cambridge.redhat.com>
194
195         * armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD
196         instructions with post indexed addressing modes.
197
198 2001-05-08  Jens-Christian Lache  <lache@tu-harburg.de>
199
200         * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to
201         determine rocesor mode.
202
203 2001-04-18  matthew green  <mrg@redhat.com>
204
205         * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes.
206         (read_cp15_reg): Make non-static.
207         (XScale_cp15_LDC): Update for write_cp15_reg() change.
208         (XScale_cp15_MCR): Likewise.
209         (XScale_cp15_write_reg): Likewise.
210         (XScale_check_memacc): New function. Check for breakpoints being
211         activated by memory accesses.  Does not support the Branch Target
212         Buffer.
213         (XScale_set_fsr_far): New function. Set FSR and FAR for XScale.
214         (XScale_debug_moe): New function. Set the debug Method Of Entry,
215         if configured.
216         (write_cp14_reg): Reset count counter if requested.
217         * armdefs.h (struct ARMul_State): New members `LastTime' and
218         `CP14R0_CCD' used for the timer/counters.
219         (ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS,
220         ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD,
221         ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2,
222         ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2,
223         ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT,
224         ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X,
225         ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT,
226         ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New
227         defines for XScale registers.
228         (XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype.
229         (ARMul_Emulate32, ARMul_Emulate26): Clean up function definition.
230         (ARMul_Emulate32): Handle the clock counter and hardware instruction
231         breakpoints.  Call XScale_set_fsr_far() for software breakpoints and
232         software interrupts.
233         (LoadMult): Call XScale_set_fsr_far() for data aborts.
234         (LoadSMult): Likewise.
235         (StoreMult): Likewise.
236         (StoreSMult): Likewise.
237         * armemu.h (write_cp15_reg): Update prototype.
238         * arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime.
239         (ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13
240         register 0.
241         * armvirt.c (GetWord): Call XScale_check_memacc().
242         (PutWord): Likewise.
243
244 2001-03-20  Nick Clifton  <nickc@redhat.com>
245
246         * armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking
247         when loading unaligned thumb instructions.
248
249 2001-03-06  Nick Clifton  <nickc@redhat.com>
250
251         * thumbemu.c (ARMul_ThumbDecode): Delete label bo_blx2.
252         Compute destination address of BLX(1) instruction by
253         taking bit 1 from PC and not from bit 0 of the offset.        
254
255 2001-02-27  Nick Clifton  <nickc@redhat.com>
256
257         * armvirt.c (GetWord): Add new parameter - check - to enable or
258         disable the alignment checking.
259         (PutWord):  Add new parameter - check - to enable or disable the
260         alignment checking.
261         (ARMul_ReLoadInstr): Pass extra parameter to GetWord.
262         (ARMul_ReadWord): Pass extra parameter to GetWord.
263         (ARMul_WriteWord): Pass extra parameter to PutWord.
264         (ARMul_StoreHalfWord): Pass extra parameter to PutWord.
265         (ARMul_WriteByte): Pass extra parameter to GetWord.
266         (ARMul_SwapWord): Pass extra parameter to PutWord.
267         (ARMul_SafeReadByte): New Function: Read a byte but do not abort.
268         (ARMul_SafeWriteByte): New Function: Write a byte but do not abort.
269         
270         * armdefs.h: Add prototypes for ARMul_SafeReadByte and
271         ARMul_SafeWriteByte.
272         
273         * wrapper.c (sim_write): Use ARMul_SafeWriteByte.
274         (sim_read): Use ARMul_SafeReadByte.
275
276         * armos.c (in_SWI_handler): Remove.
277         (SWIWrite0): Use ARMul_SafeReadByte.
278         (WriteCommandLineTo): Use ARMul_SafeWriteByte.
279         (SWIopen): Use ARMul_SafeReadByte.
280         (SWIread): Use ARMul_SafeWriteByte.
281         (SWIwrite): Use ARMul_SafeReadByte.
282         (ARMul_OSHandleSWI): Remove use of is_SWI_handler.
283         (ARMul_OSException): Remove use of is_SWI_handler.
284         
285 2001-02-16  Nick Clifton  <nickc@redhat.com>
286
287         * armemu.c: Remove Prefetch abort for breakpoints.  Instead set
288         the state to RESUME.
289
290 2001-02-14  Nick Clifton  <nickc@redhat.com>
291
292         * armemu.c: Add code to preserve processor mode when a prefetch
293         abort is signalled after processing a breakpoint.
294
295         * wrapper.c (sim_create_inferior): Reset processor into ARM mode
296         for any machine type except the early ARMs.
297
298 2001-02-13  Nick Clifton  <nickc@redhat.com>
299
300         * armos.c (in_SWI_handler): New static variable.
301         (ARMul_OSHandleSWI): Set in_SWI_handler whilst emulating a SWI.
302         (ARMul_OSException): Ignore exceptions generated whilst emulating
303         a SWI.
304
305 2001-02-12  Nick Clifton  <nickc@redhat.com>
306
307         * armemu.h (NEGBRANCH): Fix defintion.
308
309 2001-02-01  Nick Clifton  <nickc@redhat.com>
310
311         * armemu.c (LoadSMult): Update base address register after
312         restoring register bank.
313         (StoreMult): Update base address register after restoring register
314         bank.
315
316 2001-01-31  Nick Clifton  <nickc@redhat.com>
317
318         * armvirt.c (PutWord): Detect installation of SWI vector.
319         (SWI_vector_installed): Define.
320         * armos.c (ARMul_OsInit): Reset SWI_vector_installed.
321         * armos.h (SWI_vector_installed): Declare.
322         * wrapper.c (SWI_vector_installed): Remove definition.
323         (sim_write): Remove check of SWI vector installation
324
325 2000-12-18  Nick Clifton  <nickc@redhat.com>
326
327         * armemu.c (ARMul_Emulate26): Fix test for StoreDouble
328         instruction.
329
330 2000-12-10  Nick Clifton  <nickc@redhat.com>
331
332         * armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI.
333
334 2000-12-07  Nick Clifton  <nickc@redhat.com>
335
336         * armemu.c (ARMul_Emulate26): Detect double word load and
337         store instructions and call emulation routines.
338         (Handle_Load_Double): Emulate a double word load instruction.
339         (Handle_Store_Double): Emulate a double word store
340         instruction.
341
342 2000-12-03  Nick Clifton  <nickc@redhat.com>
343
344         * armos.c: Fix formatting.
345         (ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale
346         mode.
347
348 2000-11-29  Nick Clifton  <nickc@redhat.com>
349
350         * armdefs.h (State): Add 'v5e' and 'xscale' fields.
351         (ARM_v5e_Prop): Define.
352         (ARM_XScale_Prop): Define.
353         
354         * wrapper.c (sim_create_inferior): Select processor based on
355         machine number.
356         (SWI_vector_installed): New boolean.  Set to true if the SWI
357         vector address is written to by the executable.
358         
359         * arminit.c (ARMul_NewState): Switch default to 32 bit mode.
360         (ARMul_SelectProcessor): Initialise v5e and xscale signals.
361         (ARMul_Abort): Fix calculation of LR address.
362
363         * armos.c (ARMul_OSHandleSWI): If a SWI vector has been installed
364         and a SWI is not handled by the simulator, pass the SWI off to the
365         vector, otherwise issue a warning message and continue.
366
367         * armsupp.c (ARMul_CPSRAltered): Set S bit aswell.
368         
369         * thumbemu.c: Add v5 instruction simulation.
370         * armemu.c: Add v5, XScale and El Segundo instruction simulation.
371
372         * armcopro.c: Add XScale co-processor emulation.
373         * armemu.h: Add exported XScale co-processor functions.
374         
375 2000-09-15  Nick Clifton  <nickc@redhat.com>
376
377         * armdefs.h: Rename StrongARM property to v4_ARM and add v5 ARM
378         property.  Delete unnecessary processor names.
379         (ARM_Strong_Prop): Delete.
380         (STRONGARM): Delete.
381         (ARM_v4_Prop): Add.
382         (ARM_v5_Prop): Add
383         (State): Delete is_StrongARM boolean.  Add is_v4 and is_v5
384         booleans.
385
386         * armemu.h (BUSUSEDINCPCS): Use is_v4 boolean.
387         (BUSUSEDINCPCN): Use is_v4 boolean.
388
389         * arminit.c (ARMul_NewState): Initialise is_v4 and is_v5 fields.
390         (ARMul_SelectProcessor): Change second parameter from 'processor'
391         to 'properties'.  Set is_v4 and is_v5 booleans in State.
392
393         * armrdi.c: Remove use of ARM processor names.  Replace with ARM
394         processor properties.
395
396         * wrapper.c (sim_create_inferior): Choose properties passed to
397         ARMul_SelectProcessor based on machine number.
398
399 2000-08-14  Nick Clifton  <nickc@redhat.com>
400
401         * armemu.c (LHPOSTDOWN): Compute write back value before
402         performing load in case the offset register is overwritten.
403         (LHPOSTUP): Ditto.
404
405 2000-07-14  Fernando Nasser <fnasser@cygnus.com>
406
407         * wrapper.c (sim_create_inferior): Fix typo in the previous patch.
408
409 2000-07-14  Fernando Nasser <fnasser@cygnus.com>
410
411         * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
412         new inferior.
413
414 2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
415
416         * armvirt.c (ABORTS): Do not define.
417
418         * armdefs.h (struct ARMul_State): Add is_StrongARM.
419         (ARM_Strong_Prop, STRONGARM): Define.
420         * arminit.c (ARMul_NewState): Reset is_StrongARM.
421         (ARMul_SelectProcessor): Set is_StrongARM.
422         * wrapper.c (sim_create_inferior): Use bfd machine type to
423         determine processor type to emulate.
424         * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
425         when emulating StrongARM.
426
427         * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.
428
429         * armemu.h (INSN_SIZE): New macro.
430         (SET_ABORT): Save CPSR in SPSR and set LR.
431         * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
432         (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
433         * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
434
435         * armemu.c (LoadSMult): Use WriteR15() to discard the least
436         significant bits of PC.
437
438         * armemu.h (WRITEDESTB): New macro.
439         * armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
440         modify PC.  Moved the existing logic...
441         (WriteR15Branch): ... here.  New function.
442         (WriteR15, WriteSR15): Drop the two least significant bits.
443         (LoadSMult): Use WriteR15Branch() to modify PC.
444         (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
445
446         * armemu.h (GETSPSR): Call ARMul_GetSPSR().
447         * armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
448         extracted from state->Cpsr, but preserve the unused bits.
449         (ARMul_GetCPSR): Get bits preserved in state->Cpsr.
450         (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
451         get the full CPSR word.
452
453         * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
454         (SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
455         (SETPSR, SET_INTMODE, SETCC): Removed.
456         * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
457         mask.  Use SETPSR_* to modify PSR.
458         (ARMul_SetCPSR): Load all bits from value.
459         * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
460
461         * armemu.c (ARMul_Emulate): Compute writeback value before
462         loading, since the offset register may be the destination
463         register.
464
465         * armdefs.h (SYSTEMBANK): Define as USERBANK.
466         * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
467
468 2000-06-22  Alexandre Oliva  <aoliva@cygnus.com>
469
470         * armemu.c (Multiply64): Fix computation of flag N.
471
472         * armemu.c (MultiplyAdd64): Fix computation of flag N.
473
474 2000-06-20  Alexandre Oliva  <aoliva@cygnus.com>
475
476         * armemu.h (NEGBRANCH): Do not overwrite the two most significant
477         bits of the offset.
478
479 2000-05-25  Nick Clifton  <nickc@cygnus.com>
480
481         * armcopro.c (MMUMCR): Only indicate mode change if a singal has
482         really changed.
483         (MMUWrite): Only indicate mode change if a singal has really
484         changed.
485
486         * armdefs.h (SYSTEMMODE): Define.
487         (BANK_CAN_ACEESS_SPSR): Define.
488
489         * armemu.c (ARM_Emulate26): If the mode has changed allow the PC
490         to advance before stopping the emulation.
491
492         * arminit.c (ARMul_Reset): Ensure Mode field of State is set
493         correctly.
494
495         * armos.c (ARMul_OSInit): Create a initial stack pointer for
496         System mode.
497
498         * armsupp.c (ModeToBank): Remove unused first parameter.
499         Add support for System Mode.
500         (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
501         (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
502         (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro.
503         (ARMulSwitchMode): Add support for System Mode.
504
505 Wed May 24 14:40:34 2000  Andrew Cagney  <cagney@b1.cygnus.com>
506
507         * configure: Regenerated to track ../common/aclocal.m4 changes.
508
509 2000-05-23  Nick Clifton  <nickc@cygnus.com>
510
511         * wrapper.c (sim_store_register): Special handling for CPSR
512         register.
513
514 2000-03-11  Philip Blundell  <philb@gnu.org>
515
516         * armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
517         Patch from Allan Skillman <Allan.Skillman@arm.com>.
518
519 Wed Mar 22 15:24:21 2000  glen mccready  <gkm@pobox.com>
520
521         * wrapper.c (sim_open,sim_close): Copy into myname, free myname.
522
523 2000-02-08  Nick Clifton  <nickc@cygnus.com>
524
525         * wrapper.c: Fix compile time warning messages.
526         * armcopro.c: Fix compile time warning messages.
527         * armdefs.h: Fix compile time warning messages.
528         * armemu.c: Fix compile time warning messages.
529         * armemu.h: Fix compile time warning messages.
530         * armos.c: Fix compile time warning messages.
531         * armsupp.c: Fix compile time warning messages.
532         * armvirt.c: Fix compile time warning messages.
533         * bag.c: Fix compile time warning messages.
534         
535 2000-02-02  Bernd Schmidt  <bernds@cygnus.co.uk>
536
537         * *.[ch]: Use indent to make readable.
538
539 1999-11-22  Nick Clifton  <nickc@cygnus.com>
540
541         * armos.c (SWIread): Generate an error message if a huge read is
542         performed.
543         (SWIwrite): Generate an error message if a huge write is
544         performed.
545
546 1999-10-27  Nick Clifton  <nickc@cygnus.com>
547
548         * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
549         breakpoint. 
550
551 1999-10-08  Ulrich Drepper  <drepper@cygnus.com>
552
553         * armos.c (SWIopen): Always pass third parameter with 0666 since
554         otherwise uninitialized memory gets access if the O_CREAT bit is
555         set and so we possibly cannot access the file afterwards.
556
557 1999-09-29  Doug Evans  <devans@casey.cygnus.com>
558
559         * armos.c (SWIWrite0): Send output to stdout instead of stderr.
560         (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto.
561
562 Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
563
564         * configure: Regenerated to track ../common/aclocal.m4 changes.
565
566 1999-05-08  Felix Lee  <flee@cygnus.com>
567
568         * configure: Regenerated to track ../common/aclocal.m4 changes.
569         
570 1999-04-06  Keith Seitz  <keiths@cygnus.com>
571
572         * wrapper.c (stop_simulator): New global.
573         (sim_stop): Set sim state to STOP and set
574         stop_simulator.
575         (sim_resume): Reset stop_simulator.
576         (sim_stop_reason): If stop_simulator is set, tell gdb
577         that the we took SIGINT.
578         * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if
579         stop_simulator is set.
580
581 1999-04-02  Keith Seitz  <keiths@cygnus.com>
582
583         * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook
584         whenever the counter expires.
585         * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK.
586
587 1999-03-24  Nick Clifton  <nickc@cygnus.com>
588
589         * armemu.c (ARMul_Emulate26): Handle new breakpoint value.
590         * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value.
591
592 Mon Sep 14 09:00:05 1998  Nick Clifton  <nickc@cygnus.com>
593
594         * wrapper.c (sim_open): Set endianness according to BFD or command
595         line switch.
596
597         * tconfig.in: Define SIM_HAVE_BIENDIAN.
598
599 Thu Aug 27 11:00:05 1998  Nick Clifton  <nickc@cygnus.com>
600
601         * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
602         the same as either RdHi or RdLo.
603
604 Thu Jul  2 10:24:35 1998  Nick Clifton  <nickc@cygnus.com>
605
606         * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
607         Set Reg[0] based on reason for for the exception.
608
609 Thu Jun  4 15:22:03 1998  Jason Molenda  (crash@bugshack.cygnus.com)
610
611         * armos.c (SWIwrite0): New function.
612         (WriteCommandLineTo): New function.
613         (SWIopen): New function.
614         (SWIread): New function.
615         (SWIwrite): New function.
616         (SWIflen): New function.
617         (ARMul_OSHandleSWI): Call new functions instead of handling     
618         these here.
619         (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
620         (*): Reformat spacing to be a bit more GNUly.
621         Most code taken from a patch by Anthony Thompson 
622         (athompso@cambridge.arm.com)
623
624 Tue Jun  2 15:22:22 1998  Nick Clifton  <nickc@cygnus.com>
625
626         * armos.h: Add Angel SWI and its reason codes.
627         * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
628
629 Mon Jun  1 17:14:19 1998  Anthony Thompson (athompso@cambridge.arm.com)
630
631         * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
632         of ":tt" to catch stdin in addition to stdout.
633         (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
634         or success of lseek().
635
636 Wed May 20 17:36:25 1998  Nick Clifton  <nickc@cygnus.com>
637
638         * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
639         to open stdout.
640
641 Wed Apr 29 15:29:55 1998  Jeff Johnston  <jjohnstn@cygnus.com>
642
643         * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
644         SWI_Flen, and SWI_Time.  Also fixed SWI_Seek code to only
645         seek from offset 0 and not to use R2 for whence since it is
646         not passed as part of the SWI call.
647
648 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
649
650         * configure: Regenerated to track ../common/aclocal.m4 changes.
651
652 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
653
654         * configure: Regenerated to track ../common/aclocal.m4 changes.
655         * config.in: Ditto.
656
657 Sun Apr 26 15:20:26 1998  Tom Tromey  <tromey@cygnus.com>
658
659         * acconfig.h: New file.
660         * configure.in: Reverted change of Apr 24; use sinclude again.
661
662 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
663
664         * configure: Regenerated to track ../common/aclocal.m4 changes.
665         * config.in: Ditto.
666
667 Fri Apr 24 11:20:19 1998  Tom Tromey  <tromey@cygnus.com>
668
669         * configure.in: Don't call sinclude.
670
671 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
672
673         * configure: Regenerated to track ../common/aclocal.m4 changes.
674
675 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
676
677         * configure: Regenerated to track ../common/aclocal.m4 changes.
678
679 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
680
681         * configure: Regenerated to track ../common/aclocal.m4 changes.
682
683 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
684
685         * configure: Regenerated to track ../common/aclocal.m4 changes.
686
687 Tue Mar 10 09:26:38 1998  Nick Clifton  <nickc@cygnus.com>
688
689         * armopts.h: Remove definition of LITTLEND - it is not used.
690
691 Tue Feb 17 12:35:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
692
693         * wrapper.c (sim_store_register, sim_fetch_register): Pass in
694         length parameter. Return -1.
695
696 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
697
698         * configure: Regenerated to track ../common/aclocal.m4 changes.
699
700 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
701
702         * configure: Regenerated to track ../common/aclocal.m4 changes.
703
704 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
705
706         * configure: Regenerated to track ../common/aclocal.m4 changes.
707
708 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
709
710         * configure: Regenerated to track ../common/aclocal.m4 changes.
711         * config.in: Ditto.
712
713 Tue Dec  9 11:30:48 1997  Nick Clifton  <nickc@cygnus.com>
714
715         * Makefile.in: Updated with changes from branch.
716         * armdefs.h:   ditto
717         * armemu.c:    ditto   these changes
718         * armemu.h:    ditto   add support for
719         * armos.c:     ditto   the Thumb instruction
720         * armsupp.c:   ditto   set and the new v4
721         * armvirt.c:   ditto   architecture.
722         * wrapper.c:   ditto
723         * thumbemu.c:  New file from branch.
724
725
726 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
727
728         * configure: Regenerated to track ../common/aclocal.m4 changes.
729
730 Thu Oct 30 13:54:06 1997  Nick Clifton  <nickc@cygnus.com>
731
732         * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI.  Patch
733         from Tony Thompson at ARM: athompso@arm.com 
734
735         * wrapper.c (sim_create_inferior): Add code to create an execution
736         environment.  Patch from Tony Thompson at ARM: athompso@arm.com
737
738 Wed Oct 22 14:43:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
739
740         * wrapper.c (sim_load): Pass lma_p and sim_write args to
741         sim_load_file.
742
743 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
744
745         * configure: Regenerated to track ../common/aclocal.m4 changes.
746
747 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
748
749         * configure: Regenerated to track ../common/aclocal.m4 changes.
750
751 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
752
753         * configure: Regenerated to track ../common/aclocal.m4 changes.
754
755 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
756
757         * configure: Regenerated to track ../common/aclocal.m4 changes.
758
759 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
760
761         * configure: Regenerated to track ../common/aclocal.m4 changes.
762
763 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
764
765         * configure: Regenerated to track ../common/aclocal.m4 changes.
766
767 Thu Sep  4 17:21:23 1997  Doug Evans  <dje@seba>
768
769         * configure: Regenerated to track ../common/aclocal.m4 changes.
770
771 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
772
773         * configure: Regenerated to track ../common/aclocal.m4 changes.
774         * config.in: Ditto.
775
776 Tue Aug 26 10:37:27 1997  Andrew Cagney  <cagney@b1.cygnus.com>
777
778         * wrapper.c (sim_kill): Delete.
779         (sim_create_inferior): Add ABFD argument.
780         (sim_load): Move setting of PC from here.
781         (sim_create_inferior): To here.
782
783 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
784
785         * configure: Regenerated to track ../common/aclocal.m4 changes.
786         * config.in: Ditto.
787
788 Mon Aug 25 15:35:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
789
790         * wrapper.c (sim_open): Add ABFD argument.
791
792 Tue May 20 10:13:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
793
794         * wrapper.c (sim_open): Add callback argument.
795         (sim_set_callbacks): Drop SIM_DESC argument.
796
797 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
798
799         * configure: Regenerated to track ../common/aclocal.m4 changes.
800
801 Fri Apr 18 13:32:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>
802
803         * wrapper.c (sim_stop): Stub sim_stop function.
804
805 Thu Apr 17 18:33:01 1997  Fred Fish  <fnf@cygnus.com>
806
807         * arminit.c (ARMul_NewState): Preinitialize the state to
808         all zero/NULL.
809
810 Thu Apr 17 02:39:02 1997  Doug Evans  <dje@canuck.cygnus.com>
811
812         * Makefile.in (SIM_OBJS): Add sim-load.o.
813         * wrapper.c (sim_kind,myname): New static locals.
814         (sim_open): Set sim_kind, myname.
815         (sim_load): Call sim_load_file to do work.  Set start address from bfd.
816         (sim_create_inferior): Return SIM_RC.  Delete start_address arg.
817
818 Thu Apr 17 11:48:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
819
820         * wrapper.c (sim_trace): Update so that it matches prototype.
821
822 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
823
824         * configure: Regenerated to track ../common/aclocal.m4 changes.
825         * config.in: Ditto.
826
827 Mon Apr  7 12:01:17 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
828
829         * Makefile.in (armemu32.o): Replace $< with autoconf recommended
830         $(srcdir)/....
831         (armemu26.o): Ditto.
832
833 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
834
835         * wrapper.c (sim_open): New arg `kind'.
836
837         * configure: Regenerated to track ../common/aclocal.m4 changes.
838
839 Wed Apr  2 14:50:44 1997  Ian Lance Taylor  <ian@cygnus.com>
840
841         * COPYING: Update FSF address.
842
843 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
844
845         * configure: Regenerated to track ../common/aclocal.m4 changes.
846
847 Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
848
849         * configure: Regenerated to track ../common/aclocal.m4 changes.
850
851 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
852
853         * configure: Re-generate.
854
855 Fri Mar 14 10:34:11 1997  Michael Meissner  <meissner@cygnus.com>
856
857         * configure: Regenerate to track ../common/aclocal.m4 changes.
858
859 Thu Mar 13 12:38:56 1997  Doug Evans  <dje@canuck.cygnus.com>
860
861         * wrapper.c (sim_open): Has result now.
862         (sim_*): New SIM_DESC argument.
863
864 Tue Feb  4 13:22:21 1997  Doug Evans  <dje@canuck.cygnus.com>
865
866         * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
867         COMMON_{PRE,POST}_CONFIG_FRAG instead.
868         * configure.in: sinclude ../common/aclocal.m4.
869         * configure: Regenerated.
870
871 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
872
873         * configure configure.in Makefile.in:  Update to new configure
874         scheme which is more compatible with WinGDB builds.
875         * configure.in:  Improve comment on how to run autoconf.
876         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
877         * Makefile.in:  Use autoconf substitution to install common
878         makefile fragment.
879
880 Wed Nov 20 01:05:10 1996  Doug Evans  <dje@canuck.cygnus.com>
881
882         * run.c: Deleted, use one in ../common now.
883         * Makefile.in: Delete everything that's been moved to
884         ../common/Make-common.in.
885         (SIM_OBJS): Define.
886         * configure.in: Simplify using macros in ../common/aclocal.m4.
887         * configure: Regenerated.
888         * config.in: New file.
889         * armos.c: #include config.h.
890         * wrapper.c (mem_size): Value is in bytes now.
891         (sim_callback): New global.
892         (arm_sim_set_profile{,_size}): Delete.
893         (arm_sim_set_mem_size): Rename to sim_size.
894         (sim_do_command): Call printf_filtered via callback.
895         (sim_set_callbacks): Record callback.
896
897 Thu Oct  3 16:10:27 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
898
899         * Makefile.in (mostlyclean): Remove config.log.
900
901 Wed Jun 26 12:17:24 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
902
903         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
904         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
905         (docdir): Removed.
906         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
907         (AC_PROG_INSTALL): Added.
908         * configure: Rebuilt.
909
910 Wed Feb 21 12:14:31 1996  Ian Lance Taylor  <ian@cygnus.com>
911
912         * configure: Regenerate with autoconf 2.7.
913
914 Fri Dec 15 16:27:30 1995  Ian Lance Taylor  <ian@cygnus.com>
915
916         * run.c (main): Use new bfd_big_endian macro.
917
918 Mon Nov 20 17:40:38 1995  Doug Evans  <dje@canuck.cygnus.com>
919
920         * run.c: Include "getopt.h".
921         (verbose): Delete.
922         (usage): Make static.
923         (main): Call arm_sim_set_verbosity.
924         Only load sections marked SEC_LOAD.
925         * wrapper.c (mem_size, verbosity): New static global.
926         (arm_sim_set_mem_size): Renamed from sim_size.  Callers updated.
927         (arm_sim_set_profile{,_size}): Renamed from sim_foo.  Callers updated.
928         
929 Fri Nov 17 19:35:11 1995  Doug Evans  <dje@canuck.cygnus.com>
930
931         * armdefs.h (ARMul_State): New member `verbose'.
932         * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
933         * run.c (verbose): Make global.
934         * wrapper.c (init): Set state->verbose.
935         (ARMul_ConsolePrint): Don't print anything if !verbose.
936
937 Fri Oct 13 15:30:30 1995  Doug Evans  <dje@canuck.cygnus.com>
938
939         * armos.c: #include dbg_rdi.h.
940         (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
941         * armos.h (SWI_Breakpoint): Define.
942         * wrapper.c: #include armemu.h, dbg_rdi.h.
943         (rc): Delete.
944         (sim_resume): Use state->EndCondition to record stop state.
945         Call FLUSHPIPE before returning.
946         (sim_stop_reason): Determine reason from state->EndCondition.
947
948 Fri Oct 13 15:04:05 1995  steve chamberlain  <sac@slash.cygnus.com>
949
950         * wrapper.c (sim_set_callbacks): New.
951
952 Thu Sep 28 19:45:56 1995  Doug Evans  <dje@deneb.cygnus.com>
953
954         * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
955         number of bytes not read/written (or -1).
956
957 Wed Sep 20 13:35:54 1995  Ian Lance Taylor  <ian@cygnus.com>
958
959         * Makefile.in (maintainer-clean): New synonym for realclean.
960
961 Fri Sep  8 14:27:20 1995  Ian Lance Taylor  <ian@cygnus.com>
962
963         * configure.in: Remove AC_PROG_INSTALL.
964         * configure: Rebuild.
965         * Makefile.in (INSTALL): Revert to using install.sh.
966         (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
967         (INSTALL_XFORM, INSTALL_XFORM1): Restore.
968         (mostlyclean): Make the same as clean, not distclean.
969         (clean): Remove config.log.
970         (install): Don't install in $(tooldir).
971
972 Thu Sep  7 12:00:17 1995  Doug Evans  <dje@canuck.cygnus.com>
973
974         (Try to) Update to new bfd autoconf scheme.
975         * run.c: Don't include sysdep.h.
976         * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
977         (CC, CFLAGS, AR, RANLIB): Likewise.
978         (HDEFINES, TDEFINES): Define.
979         (CC_FOR_BUILD): Delete.
980         (host_makefile_frag): Delete.
981         (Makefile): Don't depend on frags.
982         * configure.in (sysdep.h): Don't create symlink.
983         (host_makefile_frag, frags): Deleted.
984         (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
985         * configure: Regenerated.
986
987 Thu Aug  3 10:45:37 1995  Fred Fish  <fnf@cygnus.com>
988
989         * Update all FSF addresses except those in COPYING* files.
990
991 Wed Jul  5 16:15:54 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
992
993         * Makefile.in (clean): Remove run, libsim.a.
994
995         * Makefile.in, configure.in: converted to autoconf.
996         * configure: New file, generated with autconf 2.4.
997
998         * arm.mt: Removed.
999
1000 Fri Jun 30 16:49:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
1001
1002         * wrapper.c (sim_do_command): New function.
1003
1004 Tue Jun 13 10:57:32 1995  Steve Chamberlain  <sac@slash.cygnus.com>
1005
1006         * armos.c (ARMul_OSHandleSWI): New version to work with
1007         newlib simply.
1008
1009 Thu Jun  8 14:37:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
1010
1011         * run.c (main): Grab return value from right register.
1012
1013 Wed May 24 14:37:31 1995  Steve Chamberlain  <sac@slash.cygnus.com>
1014
1015         * New.
1016
1017