3 * wrapper.c: If a v5 architecture is detected, assume it might be
4 an XScale binary, since there is no way to distinguish between
5 the two in the COFF file format.
9 * arminit.c (ARMul_Abort): Fix parameters passed to CPRead[13].
10 * armemu.c (ARMul_Emulate32): Fix parameters passed to CPRead[13]
12 Fix formatting. Improve layout.
13 * armemu.h: Fix formatting. Improve layout.
17 * wrapper.c (sim_fetch_register): If fetching more than 4 bytes
18 return zeroes in the other words.
19 General formatting tidy ups.
23 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
29 * armemu.h (CP_ACCESS_ALLOWED): New macro.
31 * armcopro.c (read_cp14_reg): Make static.
32 (write_cp14_reg): Make static.
33 (check_cp13_access): Use CP_ACCESS_ALLOWED macro.
35 * armsupp.c (ARMul_LDC): Check CP_ACCESS_ALLOWED.
36 (ARMul_STC): Check CP_ACCESS_ALLOWED.
37 (ARMul_MCR): Check CP_ACCESS_ALLOWED.
38 (ARMul_MRC): Check CP_ACCESS_ALLOWED.
39 (ARMul_CDP): Check CP_ACCESS_ALLOWED.
41 * armemu.c (MCRR): Check CP_ACCESS_ALLOWED. Test Rd and Rn not
43 (MRRC): Check CP_ACCESS_ALLOWED. Test Rd and Rn not equal to 15.
48 * armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD
49 instructions with post indexed addressing modes.
53 * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to
54 determine rocesor mode.
58 * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes.
59 (read_cp15_reg): Make non-static.
60 (XScale_cp15_LDC): Update for write_cp15_reg() change.
61 (XScale_cp15_MCR): Likewise.
62 (XScale_cp15_write_reg): Likewise.
63 (XScale_check_memacc): New function. Check for breakpoints being
64 activated by memory accesses. Does not support the Branch Target
66 (XScale_set_fsr_far): New function. Set FSR and FAR for XScale.
67 (XScale_debug_moe): New function. Set the debug Method Of Entry,
69 (write_cp14_reg): Reset count counter if requested.
70 * armdefs.h (struct ARMul_State): New members `LastTime' and
71 `CP14R0_CCD' used for the timer/counters.
72 (ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS,
73 ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD,
74 ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2,
75 ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2,
76 ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT,
77 ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X,
78 ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT,
79 ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New
80 defines for XScale registers.
81 (XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype.
82 (ARMul_Emulate32, ARMul_Emulate26): Clean up function definition.
83 (ARMul_Emulate32): Handle the clock counter and hardware instruction
84 breakpoints. Call XScale_set_fsr_far() for software breakpoints and
86 (LoadMult): Call XScale_set_fsr_far() for data aborts.
87 (LoadSMult): Likewise.
88 (StoreMult): Likewise.
89 (StoreSMult): Likewise.
90 * armemu.h (write_cp15_reg): Update prototype.
91 * arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime.
92 (ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13
94 * armvirt.c (GetWord): Call XScale_check_memacc().
99 * armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking
100 when loading unaligned thumb instructions.
104 * thumbemu.c (ARMul_ThumbDecode): Delete label bo_blx2.
105 Compute destination address of BLX(1) instruction by
106 taking bit 1 from PC and not from bit 0 of the offset.
110 * armvirt.c (GetWord): Add new parameter - check - to enable or
111 disable the alignment checking.
112 (PutWord): Add new parameter - check - to enable or disable the
114 (ARMul_ReLoadInstr): Pass extra parameter to GetWord.
115 (ARMul_ReadWord): Pass extra parameter to GetWord.
116 (ARMul_WriteWord): Pass extra parameter to PutWord.
117 (ARMul_StoreHalfWord): Pass extra parameter to PutWord.
118 (ARMul_WriteByte): Pass extra parameter to GetWord.
119 (ARMul_SwapWord): Pass extra parameter to PutWord.
120 (ARMul_SafeReadByte): New Function: Read a byte but do not abort.
121 (ARMul_SafeWriteByte): New Function: Write a byte but do not abort.
123 * armdefs.h: Add prototypes for ARMul_SafeReadByte and
126 * wrapper.c (sim_write): Use ARMul_SafeWriteByte.
127 (sim_read): Use ARMul_SafeReadByte.
129 * armos.c (in_SWI_handler): Remove.
130 (SWIWrite0): Use ARMul_SafeReadByte.
131 (WriteCommandLineTo): Use ARMul_SafeWriteByte.
132 (SWIopen): Use ARMul_SafeReadByte.
133 (SWIread): Use ARMul_SafeWriteByte.
134 (SWIwrite): Use ARMul_SafeReadByte.
135 (ARMul_OSHandleSWI): Remove use of is_SWI_handler.
136 (ARMul_OSException): Remove use of is_SWI_handler.
140 * armemu.c: Remove Prefetch abort for breakpoints. Instead set
145 * armemu.c: Add code to preserve processor mode when a prefetch
146 abort is signalled after processing a breakpoint.
148 * wrapper.c (sim_create_inferior): Reset processor into ARM mode
149 for any machine type except the early ARMs.
153 * armos.c (in_SWI_handler): New static variable.
154 (ARMul_OSHandleSWI): Set in_SWI_handler whilst emulating a SWI.
155 (ARMul_OSException): Ignore exceptions generated whilst emulating
160 * armemu.h (NEGBRANCH): Fix defintion.
164 * armemu.c (LoadSMult): Update base address register after
165 restoring register bank.
166 (StoreMult): Update base address register after restoring register
171 * armvirt.c (PutWord): Detect installation of SWI vector.
172 (SWI_vector_installed): Define.
173 * armos.c (ARMul_OsInit): Reset SWI_vector_installed.
174 * armos.h (SWI_vector_installed): Declare.
175 * wrapper.c (SWI_vector_installed): Remove definition.
176 (sim_write): Remove check of SWI vector installation
180 * armemu.c (ARMul_Emulate26): Fix test for StoreDouble
185 * armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI.
189 * armemu.c (ARMul_Emulate26): Detect double word load and
190 store instructions and call emulation routines.
191 (Handle_Load_Double): Emulate a double word load instruction.
192 (Handle_Store_Double): Emulate a double word store
197 * armos.c: Fix formatting.
198 (ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale
203 * armdefs.h (State): Add 'v5e' and 'xscale' fields.
204 (ARM_v5e_Prop): Define.
205 (ARM_XScale_Prop): Define.
207 * wrapper.c (sim_create_inferior): Select processor based on
209 (SWI_vector_installed): New boolean. Set to true if the SWI
210 vector address is written to by the executable.
212 * arminit.c (ARMul_NewState): Switch default to 32 bit mode.
213 (ARMul_SelectProcessor): Initialise v5e and xscale signals.
214 (ARMul_Abort): Fix calculation of LR address.
216 * armos.c (ARMul_OSHandleSWI): If a SWI vector has been installed
217 and a SWI is not handled by the simulator, pass the SWI off to the
218 vector, otherwise issue a warning message and continue.
220 * armsupp.c (ARMul_CPSRAltered): Set S bit aswell.
222 * thumbemu.c: Add v5 instruction simulation.
223 * armemu.c: Add v5, XScale and El Segundo instruction simulation.
225 * armcopro.c: Add XScale co-processor emulation.
226 * armemu.h: Add exported XScale co-processor functions.
230 * armdefs.h: Rename StrongARM property to v4_ARM and add v5 ARM
231 property. Delete unnecessary processor names.
232 (ARM_Strong_Prop): Delete.
236 (State): Delete is_StrongARM boolean. Add is_v4 and is_v5
239 * armemu.h (BUSUSEDINCPCS): Use is_v4 boolean.
240 (BUSUSEDINCPCN): Use is_v4 boolean.
242 * arminit.c (ARMul_NewState): Initialise is_v4 and is_v5 fields.
243 (ARMul_SelectProcessor): Change second parameter from 'processor'
244 to 'properties'. Set is_v4 and is_v5 booleans in State.
246 * armrdi.c: Remove use of ARM processor names. Replace with ARM
247 processor properties.
249 * wrapper.c (sim_create_inferior): Choose properties passed to
250 ARMul_SelectProcessor based on machine number.
254 * armemu.c (LHPOSTDOWN): Compute write back value before
255 performing load in case the offset register is overwritten.
260 * wrapper.c (sim_create_inferior): Fix typo in the previous patch.
264 * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
269 * armvirt.c (ABORTS): Do not define.
271 * armdefs.h (struct ARMul_State): Add is_StrongARM.
272 (ARM_Strong_Prop, STRONGARM): Define.
273 * arminit.c (ARMul_NewState): Reset is_StrongARM.
274 (ARMul_SelectProcessor): Set is_StrongARM.
275 * wrapper.c (sim_create_inferior): Use bfd machine type to
276 determine processor type to emulate.
277 * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
278 when emulating StrongARM.
280 * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.
282 * armemu.h (INSN_SIZE): New macro.
283 (SET_ABORT): Save CPSR in SPSR and set LR.
284 * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
285 (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
286 * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
288 * armemu.c (LoadSMult): Use WriteR15() to discard the least
289 significant bits of PC.
291 * armemu.h (WRITEDESTB): New macro.
292 * armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
293 modify PC. Moved the existing logic...
294 (WriteR15Branch): ... here. New function.
295 (WriteR15, WriteSR15): Drop the two least significant bits.
296 (LoadSMult): Use WriteR15Branch() to modify PC.
297 (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
299 * armemu.h (GETSPSR): Call ARMul_GetSPSR().
300 * armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
301 extracted from state->Cpsr, but preserve the unused bits.
302 (ARMul_GetCPSR): Get bits preserved in state->Cpsr.
303 (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
304 get the full CPSR word.
306 * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
307 (SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
308 (SETPSR, SET_INTMODE, SETCC): Removed.
309 * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
310 mask. Use SETPSR_* to modify PSR.
311 (ARMul_SetCPSR): Load all bits from value.
312 * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
314 * armemu.c (ARMul_Emulate): Compute writeback value before
315 loading, since the offset register may be the destination
318 * armdefs.h (SYSTEMBANK): Define as USERBANK.
319 * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
323 * armemu.c (Multiply64): Fix computation of flag N.
325 * armemu.c (MultiplyAdd64): Fix computation of flag N.
329 * armemu.h (NEGBRANCH): Do not overwrite the two most significant
334 * armcopro.c (MMUMCR): Only indicate mode change if a singal has
336 (MMUWrite): Only indicate mode change if a singal has really
339 * armdefs.h (SYSTEMMODE): Define.
340 (BANK_CAN_ACEESS_SPSR): Define.
342 * armemu.c (ARM_Emulate26): If the mode has changed allow the PC
343 to advance before stopping the emulation.
345 * arminit.c (ARMul_Reset): Ensure Mode field of State is set
348 * armos.c (ARMul_OSInit): Create a initial stack pointer for
351 * armsupp.c (ModeToBank): Remove unused first parameter.
352 Add support for System Mode.
353 (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
354 (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
355 (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro.
356 (ARMulSwitchMode): Add support for System Mode.
360 * configure: Regenerated to track ../common/aclocal.m4 changes.
364 * wrapper.c (sim_store_register): Special handling for CPSR
369 * armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
374 * wrapper.c (sim_open,sim_close): Copy into myname, free myname.
378 * wrapper.c: Fix compile time warning messages.
379 * armcopro.c: Fix compile time warning messages.
380 * armdefs.h: Fix compile time warning messages.
381 * armemu.c: Fix compile time warning messages.
382 * armemu.h: Fix compile time warning messages.
383 * armos.c: Fix compile time warning messages.
384 * armsupp.c: Fix compile time warning messages.
385 * armvirt.c: Fix compile time warning messages.
386 * bag.c: Fix compile time warning messages.
390 * *.[ch]: Use indent to make readable.
394 * armos.c (SWIread): Generate an error message if a huge read is
396 (SWIwrite): Generate an error message if a huge write is
401 * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
406 * armos.c (SWIopen): Always pass third parameter with 0666 since
407 otherwise uninitialized memory gets access if the O_CREAT bit is
408 set and so we possibly cannot access the file afterwards.
412 * armos.c (SWIWrite0): Send output to stdout instead of stderr.
413 (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto.
417 * configure: Regenerated to track ../common/aclocal.m4 changes.
421 * configure: Regenerated to track ../common/aclocal.m4 changes.
425 * wrapper.c (stop_simulator): New global.
426 (sim_stop): Set sim state to STOP and set
428 (sim_resume): Reset stop_simulator.
429 (sim_stop_reason): If stop_simulator is set, tell gdb
430 that the we took SIGINT.
431 * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if
432 stop_simulator is set.
436 * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook
437 whenever the counter expires.
438 * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK.
442 * armemu.c (ARMul_Emulate26): Handle new breakpoint value.
443 * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value.
447 * wrapper.c (sim_open): Set endianness according to BFD or command
450 * tconfig.in: Define SIM_HAVE_BIENDIAN.
454 * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
455 the same as either RdHi or RdLo.
459 * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
460 Set Reg[0] based on reason for for the exception.
464 * armos.c (SWIwrite0): New function.
465 (WriteCommandLineTo): New function.
466 (SWIopen): New function.
467 (SWIread): New function.
468 (SWIwrite): New function.
469 (SWIflen): New function.
470 (ARMul_OSHandleSWI): Call new functions instead of handling
472 (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
473 (*): Reformat spacing to be a bit more GNUly.
474 Most code taken from a patch by Anthony Thompson
479 * armos.h: Add Angel SWI and its reason codes.
480 * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
484 * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
485 of ":tt" to catch stdin in addition to stdout.
486 (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
487 or success of lseek().
491 * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
496 * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
497 SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only
498 seek from offset 0 and not to use R2 for whence since it is
499 not passed as part of the SWI call.
503 * configure: Regenerated to track ../common/aclocal.m4 changes.
505 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
507 * configure: Regenerated to track ../common/aclocal.m4 changes.
512 * acconfig.h: New file.
513 * configure.in: Reverted change of Apr 24; use sinclude again.
515 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
517 * configure: Regenerated to track ../common/aclocal.m4 changes.
522 * configure.in: Don't call sinclude.
526 * configure: Regenerated to track ../common/aclocal.m4 changes.
530 * configure: Regenerated to track ../common/aclocal.m4 changes.
534 * configure: Regenerated to track ../common/aclocal.m4 changes.
538 * configure: Regenerated to track ../common/aclocal.m4 changes.
542 * armopts.h: Remove definition of LITTLEND - it is not used.
546 * wrapper.c (sim_store_register, sim_fetch_register): Pass in
547 length parameter. Return -1.
551 * configure: Regenerated to track ../common/aclocal.m4 changes.
555 * configure: Regenerated to track ../common/aclocal.m4 changes.
557 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
559 * configure: Regenerated to track ../common/aclocal.m4 changes.
563 * configure: Regenerated to track ../common/aclocal.m4 changes.
568 * Makefile.in: Updated with changes from branch.
570 * armemu.c: ditto these changes
571 * armemu.h: ditto add support for
572 * armos.c: ditto the Thumb instruction
573 * armsupp.c: ditto set and the new v4
574 * armvirt.c: ditto architecture.
576 * thumbemu.c: New file from branch.
581 * configure: Regenerated to track ../common/aclocal.m4 changes.
585 * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch
588 * wrapper.c (sim_create_inferior): Add code to create an execution
593 * wrapper.c (sim_load): Pass lma_p and sim_write args to
598 * configure: Regenerated to track ../common/aclocal.m4 changes.
602 * configure: Regenerated to track ../common/aclocal.m4 changes.
606 * configure: Regenerated to track ../common/aclocal.m4 changes.
610 * configure: Regenerated to track ../common/aclocal.m4 changes.
614 * configure: Regenerated to track ../common/aclocal.m4 changes.
618 * configure: Regenerated to track ../common/aclocal.m4 changes.
620 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
622 * configure: Regenerated to track ../common/aclocal.m4 changes.
626 * configure: Regenerated to track ../common/aclocal.m4 changes.
631 * wrapper.c (sim_kill): Delete.
632 (sim_create_inferior): Add ABFD argument.
633 (sim_load): Move setting of PC from here.
634 (sim_create_inferior): To here.
638 * configure: Regenerated to track ../common/aclocal.m4 changes.
643 * wrapper.c (sim_open): Add ABFD argument.
647 * wrapper.c (sim_open): Add callback argument.
648 (sim_set_callbacks): Drop SIM_DESC argument.
652 * configure: Regenerated to track ../common/aclocal.m4 changes.
656 * wrapper.c (sim_stop): Stub sim_stop function.
660 * arminit.c (ARMul_NewState): Preinitialize the state to
665 * Makefile.in (SIM_OBJS): Add sim-load.o.
666 * wrapper.c (sim_kind,myname): New static locals.
667 (sim_open): Set sim_kind, myname.
668 (sim_load): Call sim_load_file to do work. Set start address from bfd.
669 (sim_create_inferior): Return SIM_RC. Delete start_address arg.
673 * wrapper.c (sim_trace): Update so that it matches prototype.
677 * configure: Regenerated to track ../common/aclocal.m4 changes.
682 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
688 * wrapper.c (sim_open): New arg `kind'.
690 * configure: Regenerated to track ../common/aclocal.m4 changes.
694 * COPYING: Update FSF address.
698 * configure: Regenerated to track ../common/aclocal.m4 changes.
702 * configure: Regenerated to track ../common/aclocal.m4 changes.
706 * configure: Re-generate.
710 * configure: Regenerate to track ../common/aclocal.m4 changes.
714 * wrapper.c (sim_open): Has result now.
715 (sim_*): New SIM_DESC argument.
719 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
720 COMMON_{PRE,POST}_CONFIG_FRAG instead.
721 * configure.in: sinclude ../common/aclocal.m4.
722 * configure: Regenerated.
726 * configure configure.in Makefile.in: Update to new configure
727 scheme which is more compatible with WinGDB builds.
728 * configure.in: Improve comment on how to run autoconf.
729 * configure: Re-run autoconf to get new ../common/aclocal.m4.
730 * Makefile.in: Use autoconf substitution to install common
735 * run.c: Deleted, use one in ../common now.
736 * Makefile.in: Delete everything that's been moved to
737 ../common/Make-common.in.
739 * configure.in: Simplify using macros in ../common/aclocal.m4.
740 * configure: Regenerated.
741 * config.in: New file.
742 * armos.c: #include config.h.
743 * wrapper.c (mem_size): Value is in bytes now.
744 (sim_callback): New global.
745 (arm_sim_set_profile{,_size}): Delete.
746 (arm_sim_set_mem_size): Rename to sim_size.
747 (sim_do_command): Call printf_filtered via callback.
748 (sim_set_callbacks): Record callback.
752 * Makefile.in (mostlyclean): Remove config.log.
756 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
757 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
759 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
760 (AC_PROG_INSTALL): Added.
761 * configure: Rebuilt.
765 * configure: Regenerate with autoconf 2.7.
769 * run.c (main): Use new bfd_big_endian macro.
773 * run.c: Include "getopt.h".
775 (usage): Make static.
776 (main): Call arm_sim_set_verbosity.
777 Only load sections marked SEC_LOAD.
778 * wrapper.c (mem_size, verbosity): New static global.
779 (arm_sim_set_mem_size): Renamed from sim_size. Callers updated.
780 (arm_sim_set_profile{,_size}): Renamed from sim_foo. Callers updated.
784 * armdefs.h (ARMul_State): New member `verbose'.
785 * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
786 * run.c (verbose): Make global.
787 * wrapper.c (init): Set state->verbose.
788 (ARMul_ConsolePrint): Don't print anything if !verbose.
792 * armos.c: #include dbg_rdi.h.
793 (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
794 * armos.h (SWI_Breakpoint): Define.
795 * wrapper.c: #include armemu.h, dbg_rdi.h.
797 (sim_resume): Use state->EndCondition to record stop state.
798 Call FLUSHPIPE before returning.
799 (sim_stop_reason): Determine reason from state->EndCondition.
803 * wrapper.c (sim_set_callbacks): New.
807 * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
808 number of bytes not read/written (or -1).
812 * Makefile.in (maintainer-clean): New synonym for realclean.
816 * configure.in: Remove AC_PROG_INSTALL.
817 * configure: Rebuild.
818 * Makefile.in (INSTALL): Revert to using install.sh.
819 (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
820 (INSTALL_XFORM, INSTALL_XFORM1): Restore.
821 (mostlyclean): Make the same as clean, not distclean.
822 (clean): Remove config.log.
823 (install): Don't install in $(tooldir).
827 (Try to) Update to new bfd autoconf scheme.
828 * run.c: Don't include sysdep.h.
829 * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
830 (CC, CFLAGS, AR, RANLIB): Likewise.
831 (HDEFINES, TDEFINES): Define.
832 (CC_FOR_BUILD): Delete.
833 (host_makefile_frag): Delete.
834 (Makefile): Don't depend on frags.
835 * configure.in (sysdep.h): Don't create symlink.
836 (host_makefile_frag, frags): Deleted.
837 (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
838 * configure: Regenerated.
842 * Update all FSF addresses except those in COPYING* files.
846 * Makefile.in (clean): Remove run, libsim.a.
848 * Makefile.in, configure.in: converted to autoconf.
849 * configure: New file, generated with autconf 2.4.
855 * wrapper.c (sim_do_command): New function.
859 * armos.c (ARMul_OSHandleSWI): New version to work with
864 * run.c (main): Grab return value from right register.