3 * armemu.c (handle_v6_insn): New function - emulate a few of the
4 v6 instructions - the ones now generated by GCC.
5 (ARMulEmulate32): Call handle_v6_insn when a possible v6 insn is
7 * armdefs.h (struct ARMul_State): Add new field: is_v6.
9 * arminit.c (ARMul_NewState): Initialise the v6 flag.
10 (ARMul_SelectProcessor): Determine if the v6 flag should be
12 * wrapper.c (sim_create_inferior): For unknown architectures,
13 default to allowing the v6 instructions.
17 * iwmmxt.c (WMAC, WMADD): Move casts from the LHS of an assignment
19 (WSLL, WSRA, WSRL, WUNPCKEH, WUNPACKEL): Use ULL suffix to
20 indicate an unsigned long long constant.
24 * configure: Regenerate.
28 * configure.ac: Sinclude aclocal.m4 before common.m4. Add
29 explicit call to AC_CONFIG_HEADER.
30 * configure: Regenerate.
34 * configure.ac: Update to use ../common/common.m4.
35 * configure: Re-generate.
39 * configure: Regenerated to track ../common/aclocal.m4 changes.
43 * configure.ac: Rename configure.in, require autoconf 2.59.
44 * configure: Re-generate.
48 * configure: Regenerate for ../common/aclocal.m4 update.
52 * armemu.c: Rename ui_loop_hook to deprecated_ui_loop_hook.
56 * armos.c (fcntl.h): Do not include it.
57 (O_RDONLY): Do not define.
60 (targ-vals.h): Include it.
61 (translate_open_mode): Use TARGET_O_* instead of O_*.
63 * Makefile.in (armos.o): Depend on targ-vals.h.
67 * armvirt.c (GetWord): Only call XScale_check_memacc if in XScale
73 * configure.in (CON_FLAGS): Remove.
74 (COPRO): Unconditionally include iwmmxt.o.
75 * configure: Regenerate.
76 * Makefile.in (CON_FLAGS): Remove.
77 * armcopro.c: Remove use of __IWMMXT__ flag.
78 * wrapper.c: Likewise.
80 Add explanatory comment for suppressed code.
84 * armos.c (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors.
88 * configure.in: (CON_FLAGS): Define and intialise.
89 (COPRO): Add iwmmxt.o if configuring for XScale.
90 * configure: Regenerate.
91 * Makefile.in (iwmmxt.o): Add rule to build.
93 (ALL_FLAGS): Add CON_FLAGS.
94 * armcopro.c (ARMul_CoProInit): Initialise iWMMXt coprocessors.
95 * armdefs.h (struct ARMul_State): Add 'is_iWMMXt' field.
96 (ARM_iWMMXt_Prop): Define.
97 * armemu.c (ARMul_Emulate16): Intercept iWMMXt instructions and
99 * arminit.c (ARMul_NewState): Initialise 'is_iWMMXt'.
100 (ARMul_Abort): Catch branches through uninitialised vectors.
101 * armos.c (softevtorcode): Update comment.
102 (ARMul_OsInit): Use ARMUndefinedInstrV.
103 * wrapper.c (sim_create_inferior): Handle iWMMXt processor type.
104 (sim_store_register): Handle iWMMXt registers.
105 (sim_fetch_register): Handle iWMMXt registers.
106 * iwmmxt.h: New file. Exported iWMMXt coprocessor emulator
108 * iwmmxt.c: New file: iWMMXt emulator.
112 * Contribute support for Cirrus Maverick ARM co-processor,
116 * maverick.c: New file: Support for Maverick floating point
118 * Makefile.in: Add maverick.o target.
119 * configure.in (COPRO): Add maverick.o.
120 * configure: Regenerate.
121 * armcopro.c (ARMul_CoProInit): Only initialise co-processors
122 available on target processor. Add code to initialse Maverick
123 co-processor support code.
124 * armdefs.h (ARMul_state): Add is_ep9312 field.
125 (ARM_ep9312_Prop): Define.
126 * armemu.h: Add prototypes for Maverick co-processor
128 * arminit.c (ARMul_SelectProcessor): Initialise the
129 co-processor support once the chip has been selected.
130 * wrapper.c: Add support for Maverick co-processor.
131 (init): Do not call ARMul_CoProInit. Delays this until the
132 chip has been selected.
136 * armos.c (SWIWrite0): Catch big-endian bug when printing
141 * wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd.
145 * README.Cygnus: Rename from this ..
146 * README: .. to this.
150 * wrapper.c (sim_open): Add support for -m<mem-size>.
151 (mem_size): Reduce to 2MB.
156 * armos.c (ARMul_OSHandleSWI): Catch and ignore SWIs of -1, they
157 can be caused by an interrupted system call being resumed by GDB.
161 * armemu.c (ARMul_Emulate32): Add more tests for valid MIA, MIAPH
162 and MIAxy instructions.
166 * armos.h (ADP_Stopped_RunTimeError): Set correct value.
170 * configure: Regenerated to track ../common/aclocal.m4 changes.
174 * Makefile.in: Update copyright.
175 (wrapper.o): Specify dependencies.
176 * wrapper.c: Include "gdb/sim-arm.h".
177 (sim_store_register, sim_fetch_register): Rewrite using `enum
178 arm_sim_regs' and a switch.
182 * wrapper.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
183 * armos.c: Include "gdb/callback.h".
187 * armcopro.c (XScale_check_memacc): Set the FSR and FAR registers
188 if a Data Abort is detected.
192 * armvirt.c (GetWord): Only perform access checks if 'check'
195 * wrapper.c (sim_create_inferior): Report unknown machine
197 * thumbemu.c (ARMul_ThumbDecode, Case 31): Do not set LR to pc +
198 2, it has already been advanced.
202 * thumbemu.c (ARMul_ThumbDecode): When decoding a BLX(1)
203 instruction do not add in the second bit of the base address -
204 this has already been accounted for.
208 * armcopro.c (check_cp13_access): Allow access to register 1 when
210 (write_cp13_reg): Allow bit 0 of reg 1 of CRm 1 to be written to.
214 * Makefile.in (SIM_TARGET_SWITCHES): Define.
215 * armos.c (swi_mask): Define. Initialise to supporting all
217 (ARMul_OSInit): For XScale targets, only support the ANGEL
218 SWI interface. (This is at the request if Intel).
219 (ARMul_OSHandleSWI): Examine swi_mask to see if a particular
220 SWI call should be emulated.
221 Do not fall through from AngelSWI_Reason_WriteC.
222 Propagate exit code from RedBoot Exit SWI.
223 * rdi-dgb.h (swi_mask): Prototype.
224 (SWI_MASK_DEMON, SWI_MASK_ANGEL, SWI_MASK_REDBOOT): Define.
225 * wrapper.c (sim_target_parse_command_line): New function.
226 Look for and handle --swi-support switch.
227 (sim_target_parse_arg_array): New function. Process an argv
228 array for parsing by sim_target_parse_command_line.
229 (sim_target_display_usage): New function. Describe syntax of
230 --swi-suppoort switch.
231 (sim_open): Add call to sim_target_parse_arg_array).
235 * armos.c (ARMul_OSHandleSWI): Support the RedBoot SWI in ARM
236 mode and some of its system calls.
240 * wrapper.c (mem_size): Increase the default target memory to 8MB.
244 * armos.c (SWIWrite0): Use generic host_callback mechanism
245 for supported OS functions "open", "close", "write", etc.
248 (SWIwrite): Likewise.
250 (ARMul_OSHandleSWI): Likewise.
254 * wrapper.c (sim_create_inferior): Modify previous patch so that
255 it is only triggered for COFF format executables.
259 * wrapper.c (sin_create_inferior): If a v5 architecture is
260 detected, assume it might be an XScale binary, since there is no
261 way to distinguish between the two in the COFF file format.
265 * arminit.c (ARMul_Abort): Fix parameters passed to CPRead[13].
266 * armemu.c (ARMul_Emulate32): Fix parameters passed to CPRead[13]
268 Fix formatting. Improve layout.
269 * armemu.h: Fix formatting. Improve layout.
273 * wrapper.c (sim_fetch_register): If fetching more than 4 bytes
274 return zeroes in the other words.
275 General formatting tidy ups.
279 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
285 * armemu.h (CP_ACCESS_ALLOWED): New macro.
287 * armcopro.c (read_cp14_reg): Make static.
288 (write_cp14_reg): Make static.
289 (check_cp13_access): Use CP_ACCESS_ALLOWED macro.
291 * armsupp.c (ARMul_LDC): Check CP_ACCESS_ALLOWED.
292 (ARMul_STC): Check CP_ACCESS_ALLOWED.
293 (ARMul_MCR): Check CP_ACCESS_ALLOWED.
294 (ARMul_MRC): Check CP_ACCESS_ALLOWED.
295 (ARMul_CDP): Check CP_ACCESS_ALLOWED.
297 * armemu.c (MCRR): Check CP_ACCESS_ALLOWED. Test Rd and Rn not
299 (MRRC): Check CP_ACCESS_ALLOWED. Test Rd and Rn not equal to 15.
304 * armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD
305 instructions with post indexed addressing modes.
309 * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to
310 determine rocesor mode.
314 * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes.
315 (read_cp15_reg): Make non-static.
316 (XScale_cp15_LDC): Update for write_cp15_reg() change.
317 (XScale_cp15_MCR): Likewise.
318 (XScale_cp15_write_reg): Likewise.
319 (XScale_check_memacc): New function. Check for breakpoints being
320 activated by memory accesses. Does not support the Branch Target
322 (XScale_set_fsr_far): New function. Set FSR and FAR for XScale.
323 (XScale_debug_moe): New function. Set the debug Method Of Entry,
325 (write_cp14_reg): Reset count counter if requested.
326 * armdefs.h (struct ARMul_State): New members `LastTime' and
327 `CP14R0_CCD' used for the timer/counters.
328 (ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS,
329 ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD,
330 ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2,
331 ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2,
332 ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT,
333 ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X,
334 ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT,
335 ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New
336 defines for XScale registers.
337 (XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype.
338 (ARMul_Emulate32, ARMul_Emulate26): Clean up function definition.
339 (ARMul_Emulate32): Handle the clock counter and hardware instruction
340 breakpoints. Call XScale_set_fsr_far() for software breakpoints and
342 (LoadMult): Call XScale_set_fsr_far() for data aborts.
343 (LoadSMult): Likewise.
344 (StoreMult): Likewise.
345 (StoreSMult): Likewise.
346 * armemu.h (write_cp15_reg): Update prototype.
347 * arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime.
348 (ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13
350 * armvirt.c (GetWord): Call XScale_check_memacc().
355 * armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking
356 when loading unaligned thumb instructions.
360 * thumbemu.c (ARMul_ThumbDecode): Delete label bo_blx2.
361 Compute destination address of BLX(1) instruction by
362 taking bit 1 from PC and not from bit 0 of the offset.
366 * armvirt.c (GetWord): Add new parameter - check - to enable or
367 disable the alignment checking.
368 (PutWord): Add new parameter - check - to enable or disable the
370 (ARMul_ReLoadInstr): Pass extra parameter to GetWord.
371 (ARMul_ReadWord): Pass extra parameter to GetWord.
372 (ARMul_WriteWord): Pass extra parameter to PutWord.
373 (ARMul_StoreHalfWord): Pass extra parameter to PutWord.
374 (ARMul_WriteByte): Pass extra parameter to GetWord.
375 (ARMul_SwapWord): Pass extra parameter to PutWord.
376 (ARMul_SafeReadByte): New Function: Read a byte but do not abort.
377 (ARMul_SafeWriteByte): New Function: Write a byte but do not abort.
379 * armdefs.h: Add prototypes for ARMul_SafeReadByte and
382 * wrapper.c (sim_write): Use ARMul_SafeWriteByte.
383 (sim_read): Use ARMul_SafeReadByte.
385 * armos.c (in_SWI_handler): Remove.
386 (SWIWrite0): Use ARMul_SafeReadByte.
387 (WriteCommandLineTo): Use ARMul_SafeWriteByte.
388 (SWIopen): Use ARMul_SafeReadByte.
389 (SWIread): Use ARMul_SafeWriteByte.
390 (SWIwrite): Use ARMul_SafeReadByte.
391 (ARMul_OSHandleSWI): Remove use of is_SWI_handler.
392 (ARMul_OSException): Remove use of is_SWI_handler.
396 * armemu.c: Remove Prefetch abort for breakpoints. Instead set
401 * armemu.c: Add code to preserve processor mode when a prefetch
402 abort is signalled after processing a breakpoint.
404 * wrapper.c (sim_create_inferior): Reset processor into ARM mode
405 for any machine type except the early ARMs.
409 * armos.c (in_SWI_handler): New static variable.
410 (ARMul_OSHandleSWI): Set in_SWI_handler whilst emulating a SWI.
411 (ARMul_OSException): Ignore exceptions generated whilst emulating
416 * armemu.h (NEGBRANCH): Fix defintion.
420 * armemu.c (LoadSMult): Update base address register after
421 restoring register bank.
422 (StoreMult): Update base address register after restoring register
427 * armvirt.c (PutWord): Detect installation of SWI vector.
428 (SWI_vector_installed): Define.
429 * armos.c (ARMul_OsInit): Reset SWI_vector_installed.
430 * armos.h (SWI_vector_installed): Declare.
431 * wrapper.c (SWI_vector_installed): Remove definition.
432 (sim_write): Remove check of SWI vector installation
436 * armemu.c (ARMul_Emulate26): Fix test for StoreDouble
441 * armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI.
445 * armemu.c (ARMul_Emulate26): Detect double word load and
446 store instructions and call emulation routines.
447 (Handle_Load_Double): Emulate a double word load instruction.
448 (Handle_Store_Double): Emulate a double word store
453 * armos.c: Fix formatting.
454 (ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale
459 * armdefs.h (State): Add 'v5e' and 'xscale' fields.
460 (ARM_v5e_Prop): Define.
461 (ARM_XScale_Prop): Define.
463 * wrapper.c (sim_create_inferior): Select processor based on
465 (SWI_vector_installed): New boolean. Set to true if the SWI
466 vector address is written to by the executable.
468 * arminit.c (ARMul_NewState): Switch default to 32 bit mode.
469 (ARMul_SelectProcessor): Initialise v5e and xscale signals.
470 (ARMul_Abort): Fix calculation of LR address.
472 * armos.c (ARMul_OSHandleSWI): If a SWI vector has been installed
473 and a SWI is not handled by the simulator, pass the SWI off to the
474 vector, otherwise issue a warning message and continue.
476 * armsupp.c (ARMul_CPSRAltered): Set S bit aswell.
478 * thumbemu.c: Add v5 instruction simulation.
479 * armemu.c: Add v5, XScale and El Segundo instruction simulation.
481 * armcopro.c: Add XScale co-processor emulation.
482 * armemu.h: Add exported XScale co-processor functions.
486 * armdefs.h: Rename StrongARM property to v4_ARM and add v5 ARM
487 property. Delete unnecessary processor names.
488 (ARM_Strong_Prop): Delete.
492 (State): Delete is_StrongARM boolean. Add is_v4 and is_v5
495 * armemu.h (BUSUSEDINCPCS): Use is_v4 boolean.
496 (BUSUSEDINCPCN): Use is_v4 boolean.
498 * arminit.c (ARMul_NewState): Initialise is_v4 and is_v5 fields.
499 (ARMul_SelectProcessor): Change second parameter from 'processor'
500 to 'properties'. Set is_v4 and is_v5 booleans in State.
502 * armrdi.c: Remove use of ARM processor names. Replace with ARM
503 processor properties.
505 * wrapper.c (sim_create_inferior): Choose properties passed to
506 ARMul_SelectProcessor based on machine number.
510 * armemu.c (LHPOSTDOWN): Compute write back value before
511 performing load in case the offset register is overwritten.
516 * wrapper.c (sim_create_inferior): Fix typo in the previous patch.
520 * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
525 * armvirt.c (ABORTS): Do not define.
527 * armdefs.h (struct ARMul_State): Add is_StrongARM.
528 (ARM_Strong_Prop, STRONGARM): Define.
529 * arminit.c (ARMul_NewState): Reset is_StrongARM.
530 (ARMul_SelectProcessor): Set is_StrongARM.
531 * wrapper.c (sim_create_inferior): Use bfd machine type to
532 determine processor type to emulate.
533 * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
534 when emulating StrongARM.
536 * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.
538 * armemu.h (INSN_SIZE): New macro.
539 (SET_ABORT): Save CPSR in SPSR and set LR.
540 * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
541 (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
542 * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
544 * armemu.c (LoadSMult): Use WriteR15() to discard the least
545 significant bits of PC.
547 * armemu.h (WRITEDESTB): New macro.
548 * armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
549 modify PC. Moved the existing logic...
550 (WriteR15Branch): ... here. New function.
551 (WriteR15, WriteSR15): Drop the two least significant bits.
552 (LoadSMult): Use WriteR15Branch() to modify PC.
553 (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
555 * armemu.h (GETSPSR): Call ARMul_GetSPSR().
556 * armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
557 extracted from state->Cpsr, but preserve the unused bits.
558 (ARMul_GetCPSR): Get bits preserved in state->Cpsr.
559 (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
560 get the full CPSR word.
562 * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
563 (SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
564 (SETPSR, SET_INTMODE, SETCC): Removed.
565 * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
566 mask. Use SETPSR_* to modify PSR.
567 (ARMul_SetCPSR): Load all bits from value.
568 * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
570 * armemu.c (ARMul_Emulate): Compute writeback value before
571 loading, since the offset register may be the destination
574 * armdefs.h (SYSTEMBANK): Define as USERBANK.
575 * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
579 * armemu.c (Multiply64): Fix computation of flag N.
581 * armemu.c (MultiplyAdd64): Fix computation of flag N.
585 * armemu.h (NEGBRANCH): Do not overwrite the two most significant
590 * armcopro.c (MMUMCR): Only indicate mode change if a singal has
592 (MMUWrite): Only indicate mode change if a singal has really
595 * armdefs.h (SYSTEMMODE): Define.
596 (BANK_CAN_ACEESS_SPSR): Define.
598 * armemu.c (ARM_Emulate26): If the mode has changed allow the PC
599 to advance before stopping the emulation.
601 * arminit.c (ARMul_Reset): Ensure Mode field of State is set
604 * armos.c (ARMul_OSInit): Create a initial stack pointer for
607 * armsupp.c (ModeToBank): Remove unused first parameter.
608 Add support for System Mode.
609 (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
610 (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
611 (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro.
612 (ARMulSwitchMode): Add support for System Mode.
616 * configure: Regenerated to track ../common/aclocal.m4 changes.
620 * wrapper.c (sim_store_register): Special handling for CPSR
625 * armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
630 * wrapper.c (sim_open,sim_close): Copy into myname, free myname.
634 * wrapper.c: Fix compile time warning messages.
635 * armcopro.c: Fix compile time warning messages.
636 * armdefs.h: Fix compile time warning messages.
637 * armemu.c: Fix compile time warning messages.
638 * armemu.h: Fix compile time warning messages.
639 * armos.c: Fix compile time warning messages.
640 * armsupp.c: Fix compile time warning messages.
641 * armvirt.c: Fix compile time warning messages.
642 * bag.c: Fix compile time warning messages.
646 * *.[ch]: Use indent to make readable.
650 * armos.c (SWIread): Generate an error message if a huge read is
652 (SWIwrite): Generate an error message if a huge write is
657 * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
662 * armos.c (SWIopen): Always pass third parameter with 0666 since
663 otherwise uninitialized memory gets access if the O_CREAT bit is
664 set and so we possibly cannot access the file afterwards.
668 * armos.c (SWIWrite0): Send output to stdout instead of stderr.
669 (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto.
673 * configure: Regenerated to track ../common/aclocal.m4 changes.
677 * configure: Regenerated to track ../common/aclocal.m4 changes.
681 * wrapper.c (stop_simulator): New global.
682 (sim_stop): Set sim state to STOP and set
684 (sim_resume): Reset stop_simulator.
685 (sim_stop_reason): If stop_simulator is set, tell gdb
686 that the we took SIGINT.
687 * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if
688 stop_simulator is set.
692 * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook
693 whenever the counter expires.
694 * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK.
698 * armemu.c (ARMul_Emulate26): Handle new breakpoint value.
699 * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value.
703 * wrapper.c (sim_open): Set endianness according to BFD or command
706 * tconfig.in: Define SIM_HAVE_BIENDIAN.
710 * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
711 the same as either RdHi or RdLo.
715 * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
716 Set Reg[0] based on reason for for the exception.
720 * armos.c (SWIwrite0): New function.
721 (WriteCommandLineTo): New function.
722 (SWIopen): New function.
723 (SWIread): New function.
724 (SWIwrite): New function.
725 (SWIflen): New function.
726 (ARMul_OSHandleSWI): Call new functions instead of handling
728 (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
729 (*): Reformat spacing to be a bit more GNUly.
730 Most code taken from a patch by Anthony Thompson
735 * armos.h: Add Angel SWI and its reason codes.
736 * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
740 * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
741 of ":tt" to catch stdin in addition to stdout.
742 (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
743 or success of lseek().
747 * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
752 * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
753 SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only
754 seek from offset 0 and not to use R2 for whence since it is
755 not passed as part of the SWI call.
759 * configure: Regenerated to track ../common/aclocal.m4 changes.
761 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
763 * configure: Regenerated to track ../common/aclocal.m4 changes.
768 * acconfig.h: New file.
769 * configure.in: Reverted change of Apr 24; use sinclude again.
771 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
773 * configure: Regenerated to track ../common/aclocal.m4 changes.
778 * configure.in: Don't call sinclude.
782 * configure: Regenerated to track ../common/aclocal.m4 changes.
786 * configure: Regenerated to track ../common/aclocal.m4 changes.
790 * configure: Regenerated to track ../common/aclocal.m4 changes.
794 * configure: Regenerated to track ../common/aclocal.m4 changes.
798 * armopts.h: Remove definition of LITTLEND - it is not used.
802 * wrapper.c (sim_store_register, sim_fetch_register): Pass in
803 length parameter. Return -1.
807 * configure: Regenerated to track ../common/aclocal.m4 changes.
811 * configure: Regenerated to track ../common/aclocal.m4 changes.
813 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
815 * configure: Regenerated to track ../common/aclocal.m4 changes.
819 * configure: Regenerated to track ../common/aclocal.m4 changes.
824 * Makefile.in: Updated with changes from branch.
826 * armemu.c: ditto these changes
827 * armemu.h: ditto add support for
828 * armos.c: ditto the Thumb instruction
829 * armsupp.c: ditto set and the new v4
830 * armvirt.c: ditto architecture.
832 * thumbemu.c: New file from branch.
837 * configure: Regenerated to track ../common/aclocal.m4 changes.
841 * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch
844 * wrapper.c (sim_create_inferior): Add code to create an execution
849 * wrapper.c (sim_load): Pass lma_p and sim_write args to
854 * configure: Regenerated to track ../common/aclocal.m4 changes.
858 * configure: Regenerated to track ../common/aclocal.m4 changes.
862 * configure: Regenerated to track ../common/aclocal.m4 changes.
866 * configure: Regenerated to track ../common/aclocal.m4 changes.
870 * configure: Regenerated to track ../common/aclocal.m4 changes.
874 * configure: Regenerated to track ../common/aclocal.m4 changes.
876 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
878 * configure: Regenerated to track ../common/aclocal.m4 changes.
882 * configure: Regenerated to track ../common/aclocal.m4 changes.
887 * wrapper.c (sim_kill): Delete.
888 (sim_create_inferior): Add ABFD argument.
889 (sim_load): Move setting of PC from here.
890 (sim_create_inferior): To here.
894 * configure: Regenerated to track ../common/aclocal.m4 changes.
899 * wrapper.c (sim_open): Add ABFD argument.
903 * wrapper.c (sim_open): Add callback argument.
904 (sim_set_callbacks): Drop SIM_DESC argument.
908 * configure: Regenerated to track ../common/aclocal.m4 changes.
912 * wrapper.c (sim_stop): Stub sim_stop function.
916 * arminit.c (ARMul_NewState): Preinitialize the state to
921 * Makefile.in (SIM_OBJS): Add sim-load.o.
922 * wrapper.c (sim_kind,myname): New static locals.
923 (sim_open): Set sim_kind, myname.
924 (sim_load): Call sim_load_file to do work. Set start address from bfd.
925 (sim_create_inferior): Return SIM_RC. Delete start_address arg.
929 * wrapper.c (sim_trace): Update so that it matches prototype.
933 * configure: Regenerated to track ../common/aclocal.m4 changes.
938 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
944 * wrapper.c (sim_open): New arg `kind'.
946 * configure: Regenerated to track ../common/aclocal.m4 changes.
950 * COPYING: Update FSF address.
954 * configure: Regenerated to track ../common/aclocal.m4 changes.
958 * configure: Regenerated to track ../common/aclocal.m4 changes.
962 * configure: Re-generate.
966 * configure: Regenerate to track ../common/aclocal.m4 changes.
970 * wrapper.c (sim_open): Has result now.
971 (sim_*): New SIM_DESC argument.
975 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
976 COMMON_{PRE,POST}_CONFIG_FRAG instead.
977 * configure.in: sinclude ../common/aclocal.m4.
978 * configure: Regenerated.
982 * configure configure.in Makefile.in: Update to new configure
983 scheme which is more compatible with WinGDB builds.
984 * configure.in: Improve comment on how to run autoconf.
985 * configure: Re-run autoconf to get new ../common/aclocal.m4.
986 * Makefile.in: Use autoconf substitution to install common
991 * run.c: Deleted, use one in ../common now.
992 * Makefile.in: Delete everything that's been moved to
993 ../common/Make-common.in.
995 * configure.in: Simplify using macros in ../common/aclocal.m4.
996 * configure: Regenerated.
997 * config.in: New file.
998 * armos.c: #include config.h.
999 * wrapper.c (mem_size): Value is in bytes now.
1000 (sim_callback): New global.
1001 (arm_sim_set_profile{,_size}): Delete.
1002 (arm_sim_set_mem_size): Rename to sim_size.
1003 (sim_do_command): Call printf_filtered via callback.
1004 (sim_set_callbacks): Record callback.
1008 * Makefile.in (mostlyclean): Remove config.log.
1012 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
1013 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
1015 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
1016 (AC_PROG_INSTALL): Added.
1017 * configure: Rebuilt.
1021 * configure: Regenerate with autoconf 2.7.
1025 * run.c (main): Use new bfd_big_endian macro.
1029 * run.c: Include "getopt.h".
1031 (usage): Make static.
1032 (main): Call arm_sim_set_verbosity.
1033 Only load sections marked SEC_LOAD.
1034 * wrapper.c (mem_size, verbosity): New static global.
1035 (arm_sim_set_mem_size): Renamed from sim_size. Callers updated.
1036 (arm_sim_set_profile{,_size}): Renamed from sim_foo. Callers updated.
1040 * armdefs.h (ARMul_State): New member `verbose'.
1041 * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
1042 * run.c (verbose): Make global.
1043 * wrapper.c (init): Set state->verbose.
1044 (ARMul_ConsolePrint): Don't print anything if !verbose.
1048 * armos.c: #include dbg_rdi.h.
1049 (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
1050 * armos.h (SWI_Breakpoint): Define.
1051 * wrapper.c: #include armemu.h, dbg_rdi.h.
1053 (sim_resume): Use state->EndCondition to record stop state.
1054 Call FLUSHPIPE before returning.
1055 (sim_stop_reason): Determine reason from state->EndCondition.
1059 * wrapper.c (sim_set_callbacks): New.
1063 * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
1064 number of bytes not read/written (or -1).
1068 * Makefile.in (maintainer-clean): New synonym for realclean.
1072 * configure.in: Remove AC_PROG_INSTALL.
1073 * configure: Rebuild.
1074 * Makefile.in (INSTALL): Revert to using install.sh.
1075 (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
1076 (INSTALL_XFORM, INSTALL_XFORM1): Restore.
1077 (mostlyclean): Make the same as clean, not distclean.
1078 (clean): Remove config.log.
1079 (install): Don't install in $(tooldir).
1083 (Try to) Update to new bfd autoconf scheme.
1084 * run.c: Don't include sysdep.h.
1085 * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
1086 (CC, CFLAGS, AR, RANLIB): Likewise.
1087 (HDEFINES, TDEFINES): Define.
1088 (CC_FOR_BUILD): Delete.
1089 (host_makefile_frag): Delete.
1090 (Makefile): Don't depend on frags.
1091 * configure.in (sysdep.h): Don't create symlink.
1092 (host_makefile_frag, frags): Deleted.
1093 (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
1094 * configure: Regenerated.
1098 * Update all FSF addresses except those in COPYING* files.
1102 * Makefile.in (clean): Remove run, libsim.a.
1104 * Makefile.in, configure.in: converted to autoconf.
1105 * configure: New file, generated with autconf 2.4.
1111 * wrapper.c (sim_do_command): New function.
1115 * armos.c (ARMul_OSHandleSWI): New version to work with
1120 * run.c (main): Grab return value from right register.