3 * armcopro.c: Remove extraneous whitespace.
11 * armsupp.c: Likewise.
12 * armvirt.c: Likewise.
15 * communicate.c: Likewise.
16 * communicate.h: Likewise.
17 * dbg_conf.h: Likewise.
19 * dbg_hif.h: Likewise.
20 * dbg_rdi.h: Likewise.
21 * gdbhost.c: Likewise.
22 * gdbhost.h: Likewise.
27 * maverick.c: Likewise.
29 * thumbemu.c: Likewise.
30 * wrapper.c: Likewise.
34 * Makefile.in (SIM_EXTRA_CFLAGS): Revert previous delta.
35 (SIM_EXTRA_LIBS): Add -lm.
39 * Makefile.in (SIM_EXTRA_CFLAGS): Add -lm.
40 * armdefs.h (ARMdval, ARMfval): New types.
41 (ARM_VFP_reg): New union.
42 (struct ARMul_State): Add VFP_Reg and FPSCR fields.
43 (VFP_fval, VFP_uword, VFP_sword, VFP_dval, VFP_dword): Accessor
44 macros for the new VFP_Reg field.
45 * armemu.c (handle_v6_insn): Add code to handle MOVW, MOVT,
46 QADD16, QASX, QSAX, QSUB16, QADD8, QSUB8, UADD16, USUB16, UADD8,
47 USUB8, SEL, REV, REV16, RBIT, BFC, BFI, SBFX and UBFX
49 (handle_VFP_move): New function.
50 (ARMul_Emulate16): Add checks for newly supported v6
51 instructions. Add support for VMRS, VMOV and MRC instructions.
52 (Multiply64): Allow nRdHi == nRm and/or nRdLo == nRm when
54 * armemu.h (t_resolved): Define.
55 * armsupp.c: Include math.h.
56 (handle_VFP_xfer): New function. Handles VMOV, VSTM, VSTR, VPUSH,
57 VSTM, VLDM and VPOP instructions.
58 (ARMul_LDC): Test for co-processor 10 or 11 and pass call to the
59 new handle_VFP_xfer function.
60 (ARMul_STC): Likewise.
61 (handle_VFP_op): New function. Handles VMLA, VMLS, VNMLA, VNMLS,
62 VNMUL, VMUL, VADD, VSUB, VDIV, VMOV, VABS, VNEG, VSQRT, VCMP,
63 VCMPE and VCVT instructions.
64 (ARMul_CDP): Test for co-processor 10 or 11 and pass call to the
65 new handle_VFP_op function.
66 * thumbemu.c (tBIT, tBITS, ntBIT, ntBITS): New macros.
67 (test_cond): New function. Tests a condition and returns non-zero
68 if the condition has been met.
69 (handle_IT_block): New function.
70 (in_IT_block): New function.
71 (IT_block_allow): New function.
72 (ThumbExpandImm): New function.
73 (handle_T2_insn): New function. Handles T2 thumb instructions.
74 (handle_v6_thumb_insn): Add next_instr and pc parameters.
75 (ARMul_ThumbDecode): Add support for IT blocks. Add support for
77 * wrapper.c (sim_create_inferior): Detect a thumb address and call
82 * configure: Regenerate.
86 * armdefs.h: Always include stdint.h.
88 [!HAVE_STDINT_H]: Delete.
89 * dbg_hif.h [!__STDC__]: Delete.
93 * configure: Regenerate.
97 * configure: Regenerate.
101 * sim-main.h (SIM_CPU): Delete.
105 * sim-main.h (sim_cia): Delete.
109 * sim-main.h (CIA_GET, CIA_SET): Delete.
113 * wrapper.c (arm_pc_get, arm_pc_set): New functions.
114 (sim_open): Declare new local var i. Call CPU_PC_FETCH &
115 CPU_PC_STORE for all cpus.
119 * Makefile.in (SIM_OBJS): Delete sim-cpu.o.
120 * sim-main.h (STATE_CPU): Delete.
124 * configure: Regenerate.
128 * Makefile.in (SIM_OBJS): Move wrapper.o to the start of the list.
132 * Makefile.in (SIM_OBJS): Delete sim-engine.o.
136 * Makefile.in (armos.o, armcopro.o, maverick.o, iwmmxt.o, arminit.o,
137 armrdi.o, armsupp.o, thumbemu.o, bag.o, wrapper.o): Delete rules.
138 * tconfig.h: Delete file.
142 * config.in, configure: Regenerate.
146 * Makefile.in (SIM_RUN_OBJS): Delete.
147 (SIM_EXTRA_CFLAGS): Delete -DSIM_TARGET_SWITCHES and
148 -DSIM_USE_DEPRECATED_RUN_FRONTEND.
149 (SIM_OBJS): Change to $(SIM_NEW_COMMON_OBJS).
150 * sim-main.h: New file.
151 * wrapper.c: Delete armdefs.h, sim-utils.h, and run-sim.h includes.
152 Add sim-main.h and sim-options.h includes.
153 (sim_callback, mem_size, trace): Add TODO comments.
154 (state): Delete static and add TODO comment.
155 (sim_kind, myname, big_endian): Delete.
156 (init): Change big_endian to CURRENT_TARGET_BYTE_ORDER check.
157 (sim_size, sim_trace, sim_info, sim_target_display_usage, sim_load,
158 sim_do_command, sim_set_callbacks, sim_complete_command): Delete.
159 (sim_target_parse_command_line): Mark static.
160 (free_state): New function.
161 (sim_open): Rewrite to use new common logic.
162 (sim_close): Delete body.
166 * Makefile.in (SIM_EXTRA_CFLAGS): Delete -DNEED_UI_LOOP_HOOK.
167 * interp.c [NEED_UI_LOOP_HOOK] (UI_LOOP_POLL_INTERVAL,
168 ui_loop_hook_counter, deprecated_ui_loop_hook): Delete.
169 (sim_resume) [NEED_UI_LOOP_HOOK]: Delete ui code.
173 * armemu.c [MODE32] (handle_v6_insn): Move definition.
174 (ARMul_Emulate26): Initialize do_int after label target.
175 * armemu.h (UNDEF_Test, UNDEF_Shift, UNDEF_MSRPC, UNDEF_MRSPC,
176 UNDEF_MULPCDest, UNDEF_MULDestEQOp1, UNDEF_LSRBPC,
177 UNDEF_LSRBaseEQOffWb, UNDEF_LSRBaseEQDestWb, UNDEF_LSRPCBaseWb,
178 UNDEF_LSRPCOffWb, UNDEF_LSMNoRegs, UNDEF_LSMPCBase,
179 UNDEF_LSMUserBankWb, UNDEF_LSMBaseInListWb, UNDEF_SWPPC,
180 UNDEF_CoProHS, UNDEF_MCRPC, UNDEF_LSCPCBaseWb,
181 UNDEF_UndefNotBounced, UNDEF_ShortInt, UNDEF_IllegalMode,
182 UNDEF_Prog32SigChange, UNDEF_Data32SigChange): Define to while(0).
183 * armsupp.c (ARMul_Align): Convert old style prototype.
184 * bag.c (addtolist, killwholelist): Mark static.
185 (BAG_newbag): Convert old style prototype.
186 * maverick.c (mv_compute_host_endianness): Delete.
187 * wrapper.c (verbosity, sim_set_verbose): Delete.
188 (init): Set state->verbose to 0.
192 * configure.ac: Call SIM_AC_OPTION_ENDIAN, SIM_AC_OPTION_ALIGNMENT,
193 SIM_AC_OPTION_HOSTENDIAN, SIM_AC_OPTION_ENVIRONMENT,
194 SIM_AC_OPTION_INLINE, and SIM_AC_OPTION_WARNINGS.
195 * config.in, configure: Regenerate.
199 * Makefile.in (COPRO): Delete.
200 (SIM_OBJS): Expand COPRO.
201 * configure.ac: Deletd stdint.h check.
203 * configure: Regenerate.
207 * config.in, configure: Regenerate.
208 * tconfig.in: Rename file ...
209 * tconfig.h: ... here.
213 * Makefile.in (SIM_EXTRA_CFLAGS): Add
214 -DSIM_USE_DEPRECATED_RUN_FRONTEND.
215 (SIM_RUN_OBJS): Set to run.o.
219 * configure.ac (AC_CHECK_HEADERS): Delete unistd.h.
220 * aclocal.m4, configure: Regenerate.
224 * configure: Regenerate.
228 * configure: Regenerate.
229 * config.in: Regenerate.
233 * wrapper.c: Convert function declarations to ISO C format.
234 (sim_open): Delete code for handling t,d and z command line
239 * wrapper.c (op_print): New function.
240 (sim_dis_read): New function.
241 (print_insn): New function - disassembles the given instruction.
242 (sim_trace): Note that tracing is now allowed.
243 (sim_create_inferior): Default to emulating v6.
244 Initialise the disassembler machinery.
245 (sim_target_parse_command_line): Add support for -t -d and -z
247 (sim_target_display_usage): Note existence of -d and -z options.
248 (sim_open): Parse -t -d and -z options.
249 * armemu.h: Add exports of trace, disas and trace_funcs.
250 Add prototype for print_insn.
251 * armemu.c (ARMul_Emulate26): Add tracing code.
252 Delete unused variables.
253 * thumbemu (handle_v6_thumb_insn): Delete unused variable Rd.
254 Move Rm variable into switch cases.
257 * armcopro.c (XScale_cp15_init): Add a return value.
258 (XScale_cp13_init): Likewise.
259 (XScale_cp14_init): Likewise.
260 (XScale_cp15_LDC): Delete unused function.
261 (XScale_cp15_STC): Likewise.
262 * maverick.c: Delete comment inside comment.
263 (DSPInit): Delete unused function.
264 (DSPMCR4): Fix compile time warning about missing parenthesis.
266 (DSPCDP6): Delete unused variable opcode2.
271 * armemu.c (WriteR15Load): New function. Determines if the state
272 can be changed upon a write to R15.
273 (LoadMult): Use WriteR15Load.
274 * armemu.h (WRITEDESTB): Use WriteR15Load.
278 * wrapper.c (sim_do_command): Add const to cmd.
282 * wrapper.c (sim_load): Add const to prog.
286 * configure: Regenerate.
290 * aclocal.m4, configure: Regenerate.
295 * armemu.c (ARMul_Emulate32): Emulate instructions MOVW and MOVT.
299 * COPYING: Update to GPL version 3.
304 * armsupp.c (ARMul_MRC): Return 0 if access to the MRC instruction
309 * wrapper.c (libiberty.h): Include.
310 (sim_store_register, sim_fetch_register): On success, return
311 length, instead of -1.
315 * config.in, configure: Regenerate.
319 * wrapper.c (sim_create_inferior): Treat WMMX2 binaries as iWMMXt
326 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
331 * wrapper.c: Include config.h before system header files.
335 * aclocal.m4, config.in, configure: Regenerate.
339 * aclocal.m4: New file.
340 * configure: Regenerate.
344 * configure.ac: Change include to common/acinclude.m4.
348 * configure.ac: Change AC_PREREQ to 2.64. Delete AC_CONFIG_HEADER
349 call. Replace common.m4 include with SIM_AC_COMMON.
350 * configure: Regenerate.
355 * iwmmxt.c (WCMPGT): Sign extend 32-bit values before performing a
357 (WMAC): Extend computed result before adding to result register.
358 (WRSA): Sign extend 32-bit values before shifting.
362 * wrapper.c (sim_complete_command): New stub function.
366 * communicate.c (MYread_char): Check error return from accept() call
367 by its equality to -1 not by it being negative.
368 (MYread_charwait): Likewise.
369 * main.c (main): Likewise for both socket() and accept() calls.
373 * wrapper.c (sim_write): Add const to buffer arg.
377 * configure: Regenerate.
381 * config.in: Regenerate.
382 * configure: Likewise.
384 * configure: Regenerate.
388 * arminit.c, iwmmxt.c: Include <string.h> to
392 * configure: Regenerate to track ../common/common.m4 changes.
399 * configure: Regenerate.
400 * wrapper.c (sim_target_display_usage): Add help parameter.
404 * armos.c (SWIflen): Do not treate file descriptor zero as
409 * armemu.c (handle_v6_insn): Fix typo in sign extension test of
410 the sext and sxtah instructions.
415 * wrapper.c (sim_target_parse_arg_array): Do not return void value.
419 * acconfig.h: Remove.
420 * config.in: Regenerate.
424 * configure: Regenerated.
428 * configure: Regenerated.
432 * configure: Regenerated.
436 * elfos.c (ARMul_OSHandleSWI): Call correct function for IsTTY.
440 * armos.c (ARMul_OSHandleSWI): Handle the RedBoot system
441 call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
445 * wrapper.c (gdb/signals.h): Include it.
446 (SIGTRAP): Don't define.
448 (sim_stop_reason): Use TARGET_SIGNAL_* instead of SIG*.
452 * armos.c: Include limits.h
453 (unlink): Remove this macro. It is unused in this file and
454 conflicts with sim_callback->unlink.
455 (PATH_MAX): Define as 1024 if not already defined.
456 (ReadFileName): New function.
457 (SWIopen): Fix a potential buffer overflow.
458 (SWIremove): New function.
460 (ARMul_OSHandleSWI): Handle the RDP calls SWI_IsTTY,
461 SWI_Remove, and SWI_Rename, as well as the RDI calls
462 AngelSWI_Reason_IsTTY, AngelSWI_Reason_Remove, and
463 AngelSWI_Reason_Rename.
467 * armdefs.h: Define ARMsword and ARMsdword. Use stdint.h when
469 * armemu.c: Use them.
470 * armvirt.c (ARMul_MemoryInit): Use correct type for size.
471 * configure.ac: Check for stdint.h.
472 * config.in: Regenerate.
473 * configure: Regenerate.
477 * thumbemu.c (handle_v6_thumb_insn): New function.
478 (ARMul_ThumbDecode): Call handle_v6_thumb_insn() when an undefined
479 instruction binary is encountered.
483 * Update the address and phone number of the FSF organization in
484 the GPL notices in the following files:
485 COPYING, Makefile.in, armcopro.c, armdefs.h, armemu.c,
486 armemu.h, armfpe.h, arminit.c, armopts.h, armos.c, armos.h,
487 armrdi.c, armsupp.c, armvirt.c, bag.c, bag.h, communicate.c,
488 communicate.h, dbg_conf.h, dbg_cp.h, dbg_hif.h, dbg_rdi.h,
489 gdbhost.c, gdbhost.h, iwmmxt.c, iwmmxt.h, kid.c, main.c,
490 maverick.c, parent.c, thumbemu.c, wrapper.c
494 * armemu.c (handle_v6_insn): New function - emulate a few of the
495 v6 instructions - the ones now generated by GCC.
496 (ARMulEmulate32): Call handle_v6_insn when a possible v6 insn is
498 * armdefs.h (struct ARMul_State): Add new field: is_v6.
499 (ARM_v6_Prop): Define.
500 * arminit.c (ARMul_NewState): Initialise the v6 flag.
501 (ARMul_SelectProcessor): Determine if the v6 flag should be
503 * wrapper.c (sim_create_inferior): For unknown architectures,
504 default to allowing the v6 instructions.
508 * iwmmxt.c (WMAC, WMADD): Move casts from the LHS of an assignment
510 (WSLL, WSRA, WSRL, WUNPCKEH, WUNPACKEL): Use ULL suffix to
511 indicate an unsigned long long constant.
515 * configure: Regenerate.
519 * configure.ac: Sinclude aclocal.m4 before common.m4. Add
520 explicit call to AC_CONFIG_HEADER.
521 * configure: Regenerate.
525 * configure.ac: Update to use ../common/common.m4.
526 * configure: Re-generate.
530 * configure: Regenerated to track ../common/aclocal.m4 changes.
534 * configure.ac: Rename configure.in, require autoconf 2.59.
535 * configure: Re-generate.
539 * configure: Regenerate for ../common/aclocal.m4 update.
543 * armemu.c: Rename ui_loop_hook to deprecated_ui_loop_hook.
547 * armos.c (fcntl.h): Do not include it.
548 (O_RDONLY): Do not define.
549 (O_WRONLY): Likewise.
551 (targ-vals.h): Include it.
552 (translate_open_mode): Use TARGET_O_* instead of O_*.
554 * Makefile.in (armos.o): Depend on targ-vals.h.
558 * armvirt.c (GetWord): Only call XScale_check_memacc if in XScale
564 * configure.in (CON_FLAGS): Remove.
565 (COPRO): Unconditionally include iwmmxt.o.
566 * configure: Regenerate.
567 * Makefile.in (CON_FLAGS): Remove.
568 * armcopro.c: Remove use of __IWMMXT__ flag.
569 * wrapper.c: Likewise.
570 * armemu.c: Likewise.
571 Add explanatory comment for suppressed code.
575 * armos.c (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors.
579 * configure.in: (CON_FLAGS): Define and intialise.
580 (COPRO): Add iwmmxt.o if configuring for XScale.
581 * configure: Regenerate.
582 * Makefile.in (iwmmxt.o): Add rule to build.
584 (ALL_FLAGS): Add CON_FLAGS.
585 * armcopro.c (ARMul_CoProInit): Initialise iWMMXt coprocessors.
586 * armdefs.h (struct ARMul_State): Add 'is_iWMMXt' field.
587 (ARM_iWMMXt_Prop): Define.
588 * armemu.c (ARMul_Emulate16): Intercept iWMMXt instructions and
590 * arminit.c (ARMul_NewState): Initialise 'is_iWMMXt'.
591 (ARMul_Abort): Catch branches through uninitialised vectors.
592 * armos.c (softevtorcode): Update comment.
593 (ARMul_OsInit): Use ARMUndefinedInstrV.
594 * wrapper.c (sim_create_inferior): Handle iWMMXt processor type.
595 (sim_store_register): Handle iWMMXt registers.
596 (sim_fetch_register): Handle iWMMXt registers.
597 * iwmmxt.h: New file. Exported iWMMXt coprocessor emulator
599 * iwmmxt.c: New file: iWMMXt emulator.
603 * Contribute support for Cirrus Maverick ARM co-processor,
607 * maverick.c: New file: Support for Maverick floating point
609 * Makefile.in: Add maverick.o target.
610 * configure.in (COPRO): Add maverick.o.
611 * configure: Regenerate.
612 * armcopro.c (ARMul_CoProInit): Only initialise co-processors
613 available on target processor. Add code to initialse Maverick
614 co-processor support code.
615 * armdefs.h (ARMul_state): Add is_ep9312 field.
616 (ARM_ep9312_Prop): Define.
617 * armemu.h: Add prototypes for Maverick co-processor
619 * arminit.c (ARMul_SelectProcessor): Initialise the
620 co-processor support once the chip has been selected.
621 * wrapper.c: Add support for Maverick co-processor.
622 (init): Do not call ARMul_CoProInit. Delays this until the
623 chip has been selected.
627 * armos.c (SWIWrite0): Catch big-endian bug when printing
632 * wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd.
636 * README.Cygnus: Rename from this ..
637 * README: .. to this.
641 * wrapper.c (sim_open): Add support for -m<mem-size>.
642 (mem_size): Reduce to 2MB.
647 * armos.c (ARMul_OSHandleSWI): Catch and ignore SWIs of -1, they
648 can be caused by an interrupted system call being resumed by GDB.
652 * armemu.c (ARMul_Emulate32): Add more tests for valid MIA, MIAPH
653 and MIAxy instructions.
657 * armos.h (ADP_Stopped_RunTimeError): Set correct value.
661 * configure: Regenerated to track ../common/aclocal.m4 changes.
665 * Makefile.in: Update copyright.
666 (wrapper.o): Specify dependencies.
667 * wrapper.c: Include "gdb/sim-arm.h".
668 (sim_store_register, sim_fetch_register): Rewrite using `enum
669 arm_sim_regs' and a switch.
673 * wrapper.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
674 * armos.c: Include "gdb/callback.h".
678 * armcopro.c (XScale_check_memacc): Set the FSR and FAR registers
679 if a Data Abort is detected.
683 * armvirt.c (GetWord): Only perform access checks if 'check'
686 * wrapper.c (sim_create_inferior): Report unknown machine
688 * thumbemu.c (ARMul_ThumbDecode, Case 31): Do not set LR to pc +
689 2, it has already been advanced.
693 * thumbemu.c (ARMul_ThumbDecode): When decoding a BLX(1)
694 instruction do not add in the second bit of the base address -
695 this has already been accounted for.
699 * armcopro.c (check_cp13_access): Allow access to register 1 when
701 (write_cp13_reg): Allow bit 0 of reg 1 of CRm 1 to be written to.
705 * Makefile.in (SIM_TARGET_SWITCHES): Define.
706 * armos.c (swi_mask): Define. Initialise to supporting all
708 (ARMul_OSInit): For XScale targets, only support the ANGEL
709 SWI interface. (This is at the request if Intel).
710 (ARMul_OSHandleSWI): Examine swi_mask to see if a particular
711 SWI call should be emulated.
712 Do not fall through from AngelSWI_Reason_WriteC.
713 Propagate exit code from RedBoot Exit SWI.
714 * rdi-dgb.h (swi_mask): Prototype.
715 (SWI_MASK_DEMON, SWI_MASK_ANGEL, SWI_MASK_REDBOOT): Define.
716 * wrapper.c (sim_target_parse_command_line): New function.
717 Look for and handle --swi-support switch.
718 (sim_target_parse_arg_array): New function. Process an argv
719 array for parsing by sim_target_parse_command_line.
720 (sim_target_display_usage): New function. Describe syntax of
721 --swi-suppoort switch.
722 (sim_open): Add call to sim_target_parse_arg_array).
726 * armos.c (ARMul_OSHandleSWI): Support the RedBoot SWI in ARM
727 mode and some of its system calls.
731 * wrapper.c (mem_size): Increase the default target memory to 8MB.
735 * armos.c (SWIWrite0): Use generic host_callback mechanism
736 for supported OS functions "open", "close", "write", etc.
739 (SWIwrite): Likewise.
741 (ARMul_OSHandleSWI): Likewise.
745 * wrapper.c (sim_create_inferior): Modify previous patch so that
746 it is only triggered for COFF format executables.
750 * wrapper.c (sin_create_inferior): If a v5 architecture is
751 detected, assume it might be an XScale binary, since there is no
752 way to distinguish between the two in the COFF file format.
756 * arminit.c (ARMul_Abort): Fix parameters passed to CPRead[13].
757 * armemu.c (ARMul_Emulate32): Fix parameters passed to CPRead[13]
759 Fix formatting. Improve layout.
760 * armemu.h: Fix formatting. Improve layout.
764 * wrapper.c (sim_fetch_register): If fetching more than 4 bytes
765 return zeroes in the other words.
766 General formatting tidy ups.
770 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
776 * armemu.h (CP_ACCESS_ALLOWED): New macro.
778 * armcopro.c (read_cp14_reg): Make static.
779 (write_cp14_reg): Make static.
780 (check_cp13_access): Use CP_ACCESS_ALLOWED macro.
782 * armsupp.c (ARMul_LDC): Check CP_ACCESS_ALLOWED.
783 (ARMul_STC): Check CP_ACCESS_ALLOWED.
784 (ARMul_MCR): Check CP_ACCESS_ALLOWED.
785 (ARMul_MRC): Check CP_ACCESS_ALLOWED.
786 (ARMul_CDP): Check CP_ACCESS_ALLOWED.
788 * armemu.c (MCRR): Check CP_ACCESS_ALLOWED. Test Rd and Rn not
790 (MRRC): Check CP_ACCESS_ALLOWED. Test Rd and Rn not equal to 15.
795 * armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD
796 instructions with post indexed addressing modes.
800 * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to
801 determine rocesor mode.
805 * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes.
806 (read_cp15_reg): Make non-static.
807 (XScale_cp15_LDC): Update for write_cp15_reg() change.
808 (XScale_cp15_MCR): Likewise.
809 (XScale_cp15_write_reg): Likewise.
810 (XScale_check_memacc): New function. Check for breakpoints being
811 activated by memory accesses. Does not support the Branch Target
813 (XScale_set_fsr_far): New function. Set FSR and FAR for XScale.
814 (XScale_debug_moe): New function. Set the debug Method Of Entry,
816 (write_cp14_reg): Reset count counter if requested.
817 * armdefs.h (struct ARMul_State): New members `LastTime' and
818 `CP14R0_CCD' used for the timer/counters.
819 (ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS,
820 ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD,
821 ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2,
822 ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2,
823 ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT,
824 ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X,
825 ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT,
826 ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New
827 defines for XScale registers.
828 (XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype.
829 (ARMul_Emulate32, ARMul_Emulate26): Clean up function definition.
830 (ARMul_Emulate32): Handle the clock counter and hardware instruction
831 breakpoints. Call XScale_set_fsr_far() for software breakpoints and
833 (LoadMult): Call XScale_set_fsr_far() for data aborts.
834 (LoadSMult): Likewise.
835 (StoreMult): Likewise.
836 (StoreSMult): Likewise.
837 * armemu.h (write_cp15_reg): Update prototype.
838 * arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime.
839 (ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13
841 * armvirt.c (GetWord): Call XScale_check_memacc().
846 * armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking
847 when loading unaligned thumb instructions.
851 * thumbemu.c (ARMul_ThumbDecode): Delete label bo_blx2.
852 Compute destination address of BLX(1) instruction by
853 taking bit 1 from PC and not from bit 0 of the offset.
857 * armvirt.c (GetWord): Add new parameter - check - to enable or
858 disable the alignment checking.
859 (PutWord): Add new parameter - check - to enable or disable the
861 (ARMul_ReLoadInstr): Pass extra parameter to GetWord.
862 (ARMul_ReadWord): Pass extra parameter to GetWord.
863 (ARMul_WriteWord): Pass extra parameter to PutWord.
864 (ARMul_StoreHalfWord): Pass extra parameter to PutWord.
865 (ARMul_WriteByte): Pass extra parameter to GetWord.
866 (ARMul_SwapWord): Pass extra parameter to PutWord.
867 (ARMul_SafeReadByte): New Function: Read a byte but do not abort.
868 (ARMul_SafeWriteByte): New Function: Write a byte but do not abort.
870 * armdefs.h: Add prototypes for ARMul_SafeReadByte and
873 * wrapper.c (sim_write): Use ARMul_SafeWriteByte.
874 (sim_read): Use ARMul_SafeReadByte.
876 * armos.c (in_SWI_handler): Remove.
877 (SWIWrite0): Use ARMul_SafeReadByte.
878 (WriteCommandLineTo): Use ARMul_SafeWriteByte.
879 (SWIopen): Use ARMul_SafeReadByte.
880 (SWIread): Use ARMul_SafeWriteByte.
881 (SWIwrite): Use ARMul_SafeReadByte.
882 (ARMul_OSHandleSWI): Remove use of is_SWI_handler.
883 (ARMul_OSException): Remove use of is_SWI_handler.
887 * armemu.c: Remove Prefetch abort for breakpoints. Instead set
892 * armemu.c: Add code to preserve processor mode when a prefetch
893 abort is signalled after processing a breakpoint.
895 * wrapper.c (sim_create_inferior): Reset processor into ARM mode
896 for any machine type except the early ARMs.
900 * armos.c (in_SWI_handler): New static variable.
901 (ARMul_OSHandleSWI): Set in_SWI_handler whilst emulating a SWI.
902 (ARMul_OSException): Ignore exceptions generated whilst emulating
907 * armemu.h (NEGBRANCH): Fix defintion.
911 * armemu.c (LoadSMult): Update base address register after
912 restoring register bank.
913 (StoreMult): Update base address register after restoring register
918 * armvirt.c (PutWord): Detect installation of SWI vector.
919 (SWI_vector_installed): Define.
920 * armos.c (ARMul_OsInit): Reset SWI_vector_installed.
921 * armos.h (SWI_vector_installed): Declare.
922 * wrapper.c (SWI_vector_installed): Remove definition.
923 (sim_write): Remove check of SWI vector installation
927 * armemu.c (ARMul_Emulate26): Fix test for StoreDouble
932 * armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI.
936 * armemu.c (ARMul_Emulate26): Detect double word load and
937 store instructions and call emulation routines.
938 (Handle_Load_Double): Emulate a double word load instruction.
939 (Handle_Store_Double): Emulate a double word store
944 * armos.c: Fix formatting.
945 (ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale
950 * armdefs.h (State): Add 'v5e' and 'xscale' fields.
951 (ARM_v5e_Prop): Define.
952 (ARM_XScale_Prop): Define.
954 * wrapper.c (sim_create_inferior): Select processor based on
956 (SWI_vector_installed): New boolean. Set to true if the SWI
957 vector address is written to by the executable.
959 * arminit.c (ARMul_NewState): Switch default to 32 bit mode.
960 (ARMul_SelectProcessor): Initialise v5e and xscale signals.
961 (ARMul_Abort): Fix calculation of LR address.
963 * armos.c (ARMul_OSHandleSWI): If a SWI vector has been installed
964 and a SWI is not handled by the simulator, pass the SWI off to the
965 vector, otherwise issue a warning message and continue.
967 * armsupp.c (ARMul_CPSRAltered): Set S bit aswell.
969 * thumbemu.c: Add v5 instruction simulation.
970 * armemu.c: Add v5, XScale and El Segundo instruction simulation.
972 * armcopro.c: Add XScale co-processor emulation.
973 * armemu.h: Add exported XScale co-processor functions.
977 * armdefs.h: Rename StrongARM property to v4_ARM and add v5 ARM
978 property. Delete unnecessary processor names.
979 (ARM_Strong_Prop): Delete.
983 (State): Delete is_StrongARM boolean. Add is_v4 and is_v5
986 * armemu.h (BUSUSEDINCPCS): Use is_v4 boolean.
987 (BUSUSEDINCPCN): Use is_v4 boolean.
989 * arminit.c (ARMul_NewState): Initialise is_v4 and is_v5 fields.
990 (ARMul_SelectProcessor): Change second parameter from 'processor'
991 to 'properties'. Set is_v4 and is_v5 booleans in State.
993 * armrdi.c: Remove use of ARM processor names. Replace with ARM
994 processor properties.
996 * wrapper.c (sim_create_inferior): Choose properties passed to
997 ARMul_SelectProcessor based on machine number.
1001 * armemu.c (LHPOSTDOWN): Compute write back value before
1002 performing load in case the offset register is overwritten.
1007 * wrapper.c (sim_create_inferior): Fix typo in the previous patch.
1011 * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
1016 * armvirt.c (ABORTS): Do not define.
1018 * armdefs.h (struct ARMul_State): Add is_StrongARM.
1019 (ARM_Strong_Prop, STRONGARM): Define.
1020 * arminit.c (ARMul_NewState): Reset is_StrongARM.
1021 (ARMul_SelectProcessor): Set is_StrongARM.
1022 * wrapper.c (sim_create_inferior): Use bfd machine type to
1023 determine processor type to emulate.
1024 * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
1025 when emulating StrongARM.
1027 * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.
1029 * armemu.h (INSN_SIZE): New macro.
1030 (SET_ABORT): Save CPSR in SPSR and set LR.
1031 * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
1032 (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
1033 * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
1035 * armemu.c (LoadSMult): Use WriteR15() to discard the least
1036 significant bits of PC.
1038 * armemu.h (WRITEDESTB): New macro.
1039 * armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
1040 modify PC. Moved the existing logic...
1041 (WriteR15Branch): ... here. New function.
1042 (WriteR15, WriteSR15): Drop the two least significant bits.
1043 (LoadSMult): Use WriteR15Branch() to modify PC.
1044 (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
1046 * armemu.h (GETSPSR): Call ARMul_GetSPSR().
1047 * armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
1048 extracted from state->Cpsr, but preserve the unused bits.
1049 (ARMul_GetCPSR): Get bits preserved in state->Cpsr.
1050 (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
1051 get the full CPSR word.
1053 * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
1054 (SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
1055 (SETPSR, SET_INTMODE, SETCC): Removed.
1056 * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
1057 mask. Use SETPSR_* to modify PSR.
1058 (ARMul_SetCPSR): Load all bits from value.
1059 * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
1061 * armemu.c (ARMul_Emulate): Compute writeback value before
1062 loading, since the offset register may be the destination
1065 * armdefs.h (SYSTEMBANK): Define as USERBANK.
1066 * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
1070 * armemu.c (Multiply64): Fix computation of flag N.
1072 * armemu.c (MultiplyAdd64): Fix computation of flag N.
1076 * armemu.h (NEGBRANCH): Do not overwrite the two most significant
1081 * armcopro.c (MMUMCR): Only indicate mode change if a singal has
1083 (MMUWrite): Only indicate mode change if a singal has really
1086 * armdefs.h (SYSTEMMODE): Define.
1087 (BANK_CAN_ACEESS_SPSR): Define.
1089 * armemu.c (ARM_Emulate26): If the mode has changed allow the PC
1090 to advance before stopping the emulation.
1092 * arminit.c (ARMul_Reset): Ensure Mode field of State is set
1095 * armos.c (ARMul_OSInit): Create a initial stack pointer for
1098 * armsupp.c (ModeToBank): Remove unused first parameter.
1099 Add support for System Mode.
1100 (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
1101 (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
1102 (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro.
1103 (ARMulSwitchMode): Add support for System Mode.
1107 * configure: Regenerated to track ../common/aclocal.m4 changes.
1111 * wrapper.c (sim_store_register): Special handling for CPSR
1116 * armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
1121 * wrapper.c (sim_open,sim_close): Copy into myname, free myname.
1125 * wrapper.c: Fix compile time warning messages.
1126 * armcopro.c: Fix compile time warning messages.
1127 * armdefs.h: Fix compile time warning messages.
1128 * armemu.c: Fix compile time warning messages.
1129 * armemu.h: Fix compile time warning messages.
1130 * armos.c: Fix compile time warning messages.
1131 * armsupp.c: Fix compile time warning messages.
1132 * armvirt.c: Fix compile time warning messages.
1133 * bag.c: Fix compile time warning messages.
1137 * *.[ch]: Use indent to make readable.
1141 * armos.c (SWIread): Generate an error message if a huge read is
1143 (SWIwrite): Generate an error message if a huge write is
1148 * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
1153 * armos.c (SWIopen): Always pass third parameter with 0666 since
1154 otherwise uninitialized memory gets access if the O_CREAT bit is
1155 set and so we possibly cannot access the file afterwards.
1159 * armos.c (SWIWrite0): Send output to stdout instead of stderr.
1160 (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto.
1164 * configure: Regenerated to track ../common/aclocal.m4 changes.
1168 * configure: Regenerated to track ../common/aclocal.m4 changes.
1172 * wrapper.c (stop_simulator): New global.
1173 (sim_stop): Set sim state to STOP and set
1175 (sim_resume): Reset stop_simulator.
1176 (sim_stop_reason): If stop_simulator is set, tell gdb
1177 that the we took SIGINT.
1178 * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if
1179 stop_simulator is set.
1183 * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook
1184 whenever the counter expires.
1185 * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK.
1189 * armemu.c (ARMul_Emulate26): Handle new breakpoint value.
1190 * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value.
1194 * wrapper.c (sim_open): Set endianness according to BFD or command
1197 * tconfig.in: Define SIM_HAVE_BIENDIAN.
1201 * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
1202 the same as either RdHi or RdLo.
1206 * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
1207 Set Reg[0] based on reason for for the exception.
1211 * armos.c (SWIwrite0): New function.
1212 (WriteCommandLineTo): New function.
1213 (SWIopen): New function.
1214 (SWIread): New function.
1215 (SWIwrite): New function.
1216 (SWIflen): New function.
1217 (ARMul_OSHandleSWI): Call new functions instead of handling
1219 (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
1220 (*): Reformat spacing to be a bit more GNUly.
1221 Most code taken from a patch by Anthony Thompson
1226 * armos.h: Add Angel SWI and its reason codes.
1227 * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
1231 * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
1232 of ":tt" to catch stdin in addition to stdout.
1233 (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
1234 or success of lseek().
1238 * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
1243 * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
1244 SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only
1245 seek from offset 0 and not to use R2 for whence since it is
1246 not passed as part of the SWI call.
1250 * configure: Regenerated to track ../common/aclocal.m4 changes.
1252 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
1254 * configure: Regenerated to track ../common/aclocal.m4 changes.
1259 * acconfig.h: New file.
1260 * configure.in: Reverted change of Apr 24; use sinclude again.
1262 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
1264 * configure: Regenerated to track ../common/aclocal.m4 changes.
1269 * configure.in: Don't call sinclude.
1273 * configure: Regenerated to track ../common/aclocal.m4 changes.
1277 * configure: Regenerated to track ../common/aclocal.m4 changes.
1281 * configure: Regenerated to track ../common/aclocal.m4 changes.
1285 * configure: Regenerated to track ../common/aclocal.m4 changes.
1289 * armopts.h: Remove definition of LITTLEND - it is not used.
1293 * wrapper.c (sim_store_register, sim_fetch_register): Pass in
1294 length parameter. Return -1.
1298 * configure: Regenerated to track ../common/aclocal.m4 changes.
1302 * configure: Regenerated to track ../common/aclocal.m4 changes.
1304 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
1306 * configure: Regenerated to track ../common/aclocal.m4 changes.
1310 * configure: Regenerated to track ../common/aclocal.m4 changes.
1315 * Makefile.in: Updated with changes from branch.
1317 * armemu.c: ditto these changes
1318 * armemu.h: ditto add support for
1319 * armos.c: ditto the Thumb instruction
1320 * armsupp.c: ditto set and the new v4
1321 * armvirt.c: ditto architecture.
1323 * thumbemu.c: New file from branch.
1328 * configure: Regenerated to track ../common/aclocal.m4 changes.
1332 * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch
1335 * wrapper.c (sim_create_inferior): Add code to create an execution
1340 * wrapper.c (sim_load): Pass lma_p and sim_write args to
1345 * configure: Regenerated to track ../common/aclocal.m4 changes.
1349 * configure: Regenerated to track ../common/aclocal.m4 changes.
1353 * configure: Regenerated to track ../common/aclocal.m4 changes.
1357 * configure: Regenerated to track ../common/aclocal.m4 changes.
1361 * configure: Regenerated to track ../common/aclocal.m4 changes.
1365 * configure: Regenerated to track ../common/aclocal.m4 changes.
1367 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
1369 * configure: Regenerated to track ../common/aclocal.m4 changes.
1373 * configure: Regenerated to track ../common/aclocal.m4 changes.
1378 * wrapper.c (sim_kill): Delete.
1379 (sim_create_inferior): Add ABFD argument.
1380 (sim_load): Move setting of PC from here.
1381 (sim_create_inferior): To here.
1385 * configure: Regenerated to track ../common/aclocal.m4 changes.
1390 * wrapper.c (sim_open): Add ABFD argument.
1394 * wrapper.c (sim_open): Add callback argument.
1395 (sim_set_callbacks): Drop SIM_DESC argument.
1399 * configure: Regenerated to track ../common/aclocal.m4 changes.
1403 * wrapper.c (sim_stop): Stub sim_stop function.
1407 * arminit.c (ARMul_NewState): Preinitialize the state to
1412 * Makefile.in (SIM_OBJS): Add sim-load.o.
1413 * wrapper.c (sim_kind,myname): New static locals.
1414 (sim_open): Set sim_kind, myname.
1415 (sim_load): Call sim_load_file to do work. Set start address from bfd.
1416 (sim_create_inferior): Return SIM_RC. Delete start_address arg.
1420 * wrapper.c (sim_trace): Update so that it matches prototype.
1424 * configure: Regenerated to track ../common/aclocal.m4 changes.
1429 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
1431 (armemu26.o): Ditto.
1435 * wrapper.c (sim_open): New arg `kind'.
1437 * configure: Regenerated to track ../common/aclocal.m4 changes.
1441 * COPYING: Update FSF address.
1445 * configure: Regenerated to track ../common/aclocal.m4 changes.
1449 * configure: Regenerated to track ../common/aclocal.m4 changes.
1453 * configure: Re-generate.
1457 * configure: Regenerate to track ../common/aclocal.m4 changes.
1461 * wrapper.c (sim_open): Has result now.
1462 (sim_*): New SIM_DESC argument.
1466 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
1467 COMMON_{PRE,POST}_CONFIG_FRAG instead.
1468 * configure.in: sinclude ../common/aclocal.m4.
1469 * configure: Regenerated.
1473 * configure configure.in Makefile.in: Update to new configure
1474 scheme which is more compatible with WinGDB builds.
1475 * configure.in: Improve comment on how to run autoconf.
1476 * configure: Re-run autoconf to get new ../common/aclocal.m4.
1477 * Makefile.in: Use autoconf substitution to install common
1482 * run.c: Deleted, use one in ../common now.
1483 * Makefile.in: Delete everything that's been moved to
1484 ../common/Make-common.in.
1486 * configure.in: Simplify using macros in ../common/aclocal.m4.
1487 * configure: Regenerated.
1488 * config.in: New file.
1489 * armos.c: #include config.h.
1490 * wrapper.c (mem_size): Value is in bytes now.
1491 (sim_callback): New global.
1492 (arm_sim_set_profile{,_size}): Delete.
1493 (arm_sim_set_mem_size): Rename to sim_size.
1494 (sim_do_command): Call printf_filtered via callback.
1495 (sim_set_callbacks): Record callback.
1499 * Makefile.in (mostlyclean): Remove config.log.
1503 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
1504 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
1506 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
1507 (AC_PROG_INSTALL): Added.
1508 * configure: Rebuilt.
1512 * configure: Regenerate with autoconf 2.7.
1516 * run.c (main): Use new bfd_big_endian macro.
1520 * run.c: Include "getopt.h".
1522 (usage): Make static.
1523 (main): Call arm_sim_set_verbosity.
1524 Only load sections marked SEC_LOAD.
1525 * wrapper.c (mem_size, verbosity): New static global.
1526 (arm_sim_set_mem_size): Renamed from sim_size. Callers updated.
1527 (arm_sim_set_profile{,_size}): Renamed from sim_foo. Callers updated.
1531 * armdefs.h (ARMul_State): New member `verbose'.
1532 * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
1533 * run.c (verbose): Make global.
1534 * wrapper.c (init): Set state->verbose.
1535 (ARMul_ConsolePrint): Don't print anything if !verbose.
1539 * armos.c: #include dbg_rdi.h.
1540 (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
1541 * armos.h (SWI_Breakpoint): Define.
1542 * wrapper.c: #include armemu.h, dbg_rdi.h.
1544 (sim_resume): Use state->EndCondition to record stop state.
1545 Call FLUSHPIPE before returning.
1546 (sim_stop_reason): Determine reason from state->EndCondition.
1550 * wrapper.c (sim_set_callbacks): New.
1554 * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
1555 number of bytes not read/written (or -1).
1559 * Makefile.in (maintainer-clean): New synonym for realclean.
1563 * configure.in: Remove AC_PROG_INSTALL.
1564 * configure: Rebuild.
1565 * Makefile.in (INSTALL): Revert to using install.sh.
1566 (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
1567 (INSTALL_XFORM, INSTALL_XFORM1): Restore.
1568 (mostlyclean): Make the same as clean, not distclean.
1569 (clean): Remove config.log.
1570 (install): Don't install in $(tooldir).
1574 (Try to) Update to new bfd autoconf scheme.
1575 * run.c: Don't include sysdep.h.
1576 * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
1577 (CC, CFLAGS, AR, RANLIB): Likewise.
1578 (HDEFINES, TDEFINES): Define.
1579 (CC_FOR_BUILD): Delete.
1580 (host_makefile_frag): Delete.
1581 (Makefile): Don't depend on frags.
1582 * configure.in (sysdep.h): Don't create symlink.
1583 (host_makefile_frag, frags): Deleted.
1584 (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
1585 * configure: Regenerated.
1589 * Update all FSF addresses except those in COPYING* files.
1593 * Makefile.in (clean): Remove run, libsim.a.
1595 * Makefile.in, configure.in: converted to autoconf.
1596 * configure: New file, generated with autconf 2.4.
1602 * wrapper.c (sim_do_command): New function.
1606 * armos.c (ARMul_OSHandleSWI): New version to work with
1611 * run.c (main): Grab return value from right register.