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