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