3 * armemu.c (Multiply64): Only issue error messages about invalid
4 arguments if debugging is enabled.
5 * armos.c (ARMul_OSHandleSWI): Ignore invalid flags.
9 * config.in, configure: Regenerate.
13 * configure: Regenerate.
17 * configure.ac (SIM_AC_OPTION_ENVIRONMENT): Delete call.
18 * configure: Regenerate.
22 * configure: Regenerate.
26 * configure: Regenerate.
30 * configure.ac (SIM_AC_OPTION_INLINE): Delete call.
31 * configure: Regenerate.
35 * configure: Regenerate.
39 * configure: Regenerate.
43 * config.in, configure: Regenerate.
47 * wrapper.c (sim_create_inferior): Mark argv and env const.
48 (sim_open): Mark argv const.
52 * configure: Regenerate.
56 * wrapper.c (sim_open): Update sim_parse_args comment.
60 * wrapper.c (sim_target_parse_arg_array): Replace for loop with
65 * configure.ac (SIM_AC_OPTION_HOSTENDIAN): Delete.
66 * configure: Regenerate.
70 * configure: Regenerate.
71 * wrapper.c (init): Change BIG_ENDIAN to BFD_ENDIAN_BIG.
75 * wrapper.c (sim_store_register): Rename to ...
76 (arm_reg_store): ... this.
77 (sim_fetch_register): Rename to ...
78 (arm_reg_fetch): ... this.
79 (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
83 * Makefile.in (SIM_OBJS): Delete sim-hload.o.
87 * config.in, configure: Regenerate.
91 * Makefile.in (SIM_OBJS): Delete bag.o.
92 * armdefs.h (struct ARMul_State): Delete ErrorCode.
93 (ResetPin, FIQPin, IRQPin, AbortPin, TransPin, BigEndPin, Prog32Pin,
94 Data32Pin, LateAbortPin, ARMul_OSExit, ARMul_OSLastErrorP,
95 ARMul_Debug, ARMul_OSException,rdi_log, SpinCursor, HOURGLASS,
96 HOURGLASS_RATE): Delete.
97 * armemu.c (ARMul_Emulate26): Delete ARMul_Debug call.
98 * arminit.c (ARMul_Reset): Do not set state->ErrorCode.
99 (ARMul_Abort): Delete ARMul_OSException call.
100 * armopts.h: Delete file.
101 * armos.c (isatty_, ARMul_OSExit, ARMul_OSException,
102 ARMul_OSLastErrorP, ARMul_Debug, BUFFERSIZE, UNIQUETEMPS, NOOP,
103 BINARY, READOP, WRITEOP, FIXCRLF): Delete.
104 (struct OSblock): Delete Time0, ErrorP, FileTable, FileFlags, and
106 (ARMul_OSInit): Do not set OSptr->ErrorP, OSptr->FileTable, or
108 * armrdi.c: Delete file.
109 * armvirt.c: Delete armopts.h include.
110 (ARMul_LoadInstrS): Delete HOURGLASS logic.
111 * bag.c, bag.h, communicate.c, communicate.h, dbg_conf.h, dbg_cp.h,
112 dbg_hif.h: Delete files.
113 * dbg_rdi.h (RDP_*, RDI*): Delete defines.
114 (PointHandle, ThreadHandle, Dbg_ConfigBlock, Dbg_HostosInterface,
115 Dbg_MCState, getbufferproc): Delete.
116 (rdi_*): Delete Functions.
117 (RDI_ConfigAspect, RDI_ConfigMatchType, RDI_NameList): Delete
118 (struct RDIProcVec): Delete.
119 * gdbhost.c, gdbhost.h, kid.c, main.c, parent.c: Delete files.
120 * wrapper.c (ARMul_Debug): Delete.
124 * thumbemu.c (handle_T2_insn): Fix left shift of negative value.
125 * armemu.c (handle_v6_insn): Likewise.
129 * wrapper.c (sim_close): Delete.
133 * armcopro.c: Remove extraneous whitespace.
134 * armdefs.h: Likewise.
135 * armfpe.h: Likewise.
136 * arminit.c: Likewise.
137 * armopts.h: Likewise.
140 * armrdi.c: Likewise.
141 * armsupp.c: Likewise.
142 * armvirt.c: Likewise.
145 * communicate.c: Likewise.
146 * communicate.h: Likewise.
147 * dbg_conf.h: Likewise.
148 * dbg_cp.h: Likewise.
149 * dbg_hif.h: Likewise.
150 * dbg_rdi.h: Likewise.
151 * gdbhost.c: Likewise.
152 * gdbhost.h: Likewise.
153 * iwmmxt.c: Likewise.
154 * iwmmxt.h: Likewise.
157 * maverick.c: Likewise.
158 * parent.c: Likewise.
159 * thumbemu.c: Likewise.
160 * wrapper.c: Likewise.
164 * Makefile.in (SIM_EXTRA_CFLAGS): Revert previous delta.
165 (SIM_EXTRA_LIBS): Add -lm.
169 * Makefile.in (SIM_EXTRA_CFLAGS): Add -lm.
170 * armdefs.h (ARMdval, ARMfval): New types.
171 (ARM_VFP_reg): New union.
172 (struct ARMul_State): Add VFP_Reg and FPSCR fields.
173 (VFP_fval, VFP_uword, VFP_sword, VFP_dval, VFP_dword): Accessor
174 macros for the new VFP_Reg field.
175 * armemu.c (handle_v6_insn): Add code to handle MOVW, MOVT,
176 QADD16, QASX, QSAX, QSUB16, QADD8, QSUB8, UADD16, USUB16, UADD8,
177 USUB8, SEL, REV, REV16, RBIT, BFC, BFI, SBFX and UBFX
179 (handle_VFP_move): New function.
180 (ARMul_Emulate16): Add checks for newly supported v6
181 instructions. Add support for VMRS, VMOV and MRC instructions.
182 (Multiply64): Allow nRdHi == nRm and/or nRdLo == nRm when
183 operating in v6 mode.
184 * armemu.h (t_resolved): Define.
185 * armsupp.c: Include math.h.
186 (handle_VFP_xfer): New function. Handles VMOV, VSTM, VSTR, VPUSH,
187 VSTM, VLDM and VPOP instructions.
188 (ARMul_LDC): Test for co-processor 10 or 11 and pass call to the
189 new handle_VFP_xfer function.
190 (ARMul_STC): Likewise.
191 (handle_VFP_op): New function. Handles VMLA, VMLS, VNMLA, VNMLS,
192 VNMUL, VMUL, VADD, VSUB, VDIV, VMOV, VABS, VNEG, VSQRT, VCMP,
193 VCMPE and VCVT instructions.
194 (ARMul_CDP): Test for co-processor 10 or 11 and pass call to the
195 new handle_VFP_op function.
196 * thumbemu.c (tBIT, tBITS, ntBIT, ntBITS): New macros.
197 (test_cond): New function. Tests a condition and returns non-zero
198 if the condition has been met.
199 (handle_IT_block): New function.
200 (in_IT_block): New function.
201 (IT_block_allow): New function.
202 (ThumbExpandImm): New function.
203 (handle_T2_insn): New function. Handles T2 thumb instructions.
204 (handle_v6_thumb_insn): Add next_instr and pc parameters.
205 (ARMul_ThumbDecode): Add support for IT blocks. Add support for
207 * wrapper.c (sim_create_inferior): Detect a thumb address and call
212 * configure: Regenerate.
216 * armdefs.h: Always include stdint.h.
218 [!HAVE_STDINT_H]: Delete.
219 * dbg_hif.h [!__STDC__]: Delete.
223 * configure: Regenerate.
227 * configure: Regenerate.
231 * sim-main.h (SIM_CPU): Delete.
235 * sim-main.h (sim_cia): Delete.
239 * sim-main.h (CIA_GET, CIA_SET): Delete.
243 * wrapper.c (arm_pc_get, arm_pc_set): New functions.
244 (sim_open): Declare new local var i. Call CPU_PC_FETCH &
245 CPU_PC_STORE for all cpus.
249 * Makefile.in (SIM_OBJS): Delete sim-cpu.o.
250 * sim-main.h (STATE_CPU): Delete.
254 * configure: Regenerate.
258 * Makefile.in (SIM_OBJS): Move wrapper.o to the start of the list.
262 * Makefile.in (SIM_OBJS): Delete sim-engine.o.
266 * Makefile.in (armos.o, armcopro.o, maverick.o, iwmmxt.o, arminit.o,
267 armrdi.o, armsupp.o, thumbemu.o, bag.o, wrapper.o): Delete rules.
268 * tconfig.h: Delete file.
272 * config.in, configure: Regenerate.
276 * Makefile.in (SIM_RUN_OBJS): Delete.
277 (SIM_EXTRA_CFLAGS): Delete -DSIM_TARGET_SWITCHES and
278 -DSIM_USE_DEPRECATED_RUN_FRONTEND.
279 (SIM_OBJS): Change to $(SIM_NEW_COMMON_OBJS).
280 * sim-main.h: New file.
281 * wrapper.c: Delete armdefs.h, sim-utils.h, and run-sim.h includes.
282 Add sim-main.h and sim-options.h includes.
283 (sim_callback, mem_size, trace): Add TODO comments.
284 (state): Delete static and add TODO comment.
285 (sim_kind, myname, big_endian): Delete.
286 (init): Change big_endian to CURRENT_TARGET_BYTE_ORDER check.
287 (sim_size, sim_trace, sim_info, sim_target_display_usage, sim_load,
288 sim_do_command, sim_set_callbacks, sim_complete_command): Delete.
289 (sim_target_parse_command_line): Mark static.
290 (free_state): New function.
291 (sim_open): Rewrite to use new common logic.
292 (sim_close): Delete body.
296 * Makefile.in (SIM_EXTRA_CFLAGS): Delete -DNEED_UI_LOOP_HOOK.
297 * interp.c [NEED_UI_LOOP_HOOK] (UI_LOOP_POLL_INTERVAL,
298 ui_loop_hook_counter, deprecated_ui_loop_hook): Delete.
299 (sim_resume) [NEED_UI_LOOP_HOOK]: Delete ui code.
303 * armemu.c [MODE32] (handle_v6_insn): Move definition.
304 (ARMul_Emulate26): Initialize do_int after label target.
305 * armemu.h (UNDEF_Test, UNDEF_Shift, UNDEF_MSRPC, UNDEF_MRSPC,
306 UNDEF_MULPCDest, UNDEF_MULDestEQOp1, UNDEF_LSRBPC,
307 UNDEF_LSRBaseEQOffWb, UNDEF_LSRBaseEQDestWb, UNDEF_LSRPCBaseWb,
308 UNDEF_LSRPCOffWb, UNDEF_LSMNoRegs, UNDEF_LSMPCBase,
309 UNDEF_LSMUserBankWb, UNDEF_LSMBaseInListWb, UNDEF_SWPPC,
310 UNDEF_CoProHS, UNDEF_MCRPC, UNDEF_LSCPCBaseWb,
311 UNDEF_UndefNotBounced, UNDEF_ShortInt, UNDEF_IllegalMode,
312 UNDEF_Prog32SigChange, UNDEF_Data32SigChange): Define to while(0).
313 * armsupp.c (ARMul_Align): Convert old style prototype.
314 * bag.c (addtolist, killwholelist): Mark static.
315 (BAG_newbag): Convert old style prototype.
316 * maverick.c (mv_compute_host_endianness): Delete.
317 * wrapper.c (verbosity, sim_set_verbose): Delete.
318 (init): Set state->verbose to 0.
322 * configure.ac: Call SIM_AC_OPTION_ENDIAN, SIM_AC_OPTION_ALIGNMENT,
323 SIM_AC_OPTION_HOSTENDIAN, SIM_AC_OPTION_ENVIRONMENT,
324 SIM_AC_OPTION_INLINE, and SIM_AC_OPTION_WARNINGS.
325 * config.in, configure: Regenerate.
329 * Makefile.in (COPRO): Delete.
330 (SIM_OBJS): Expand COPRO.
331 * configure.ac: Deletd stdint.h check.
333 * configure: Regenerate.
337 * config.in, configure: Regenerate.
338 * tconfig.in: Rename file ...
339 * tconfig.h: ... here.
343 * Makefile.in (SIM_EXTRA_CFLAGS): Add
344 -DSIM_USE_DEPRECATED_RUN_FRONTEND.
345 (SIM_RUN_OBJS): Set to run.o.
349 * configure.ac (AC_CHECK_HEADERS): Delete unistd.h.
350 * aclocal.m4, configure: Regenerate.
354 * configure: Regenerate.
358 * configure: Regenerate.
359 * config.in: Regenerate.
363 * wrapper.c: Convert function declarations to ISO C format.
364 (sim_open): Delete code for handling t,d and z command line
369 * wrapper.c (op_print): New function.
370 (sim_dis_read): New function.
371 (print_insn): New function - disassembles the given instruction.
372 (sim_trace): Note that tracing is now allowed.
373 (sim_create_inferior): Default to emulating v6.
374 Initialise the disassembler machinery.
375 (sim_target_parse_command_line): Add support for -t -d and -z
377 (sim_target_display_usage): Note existence of -d and -z options.
378 (sim_open): Parse -t -d and -z options.
379 * armemu.h: Add exports of trace, disas and trace_funcs.
380 Add prototype for print_insn.
381 * armemu.c (ARMul_Emulate26): Add tracing code.
382 Delete unused variables.
383 * thumbemu (handle_v6_thumb_insn): Delete unused variable Rd.
384 Move Rm variable into switch cases.
387 * armcopro.c (XScale_cp15_init): Add a return value.
388 (XScale_cp13_init): Likewise.
389 (XScale_cp14_init): Likewise.
390 (XScale_cp15_LDC): Delete unused function.
391 (XScale_cp15_STC): Likewise.
392 * maverick.c: Delete comment inside comment.
393 (DSPInit): Delete unused function.
394 (DSPMCR4): Fix compile time warning about missing parenthesis.
396 (DSPCDP6): Delete unused variable opcode2.
401 * armemu.c (WriteR15Load): New function. Determines if the state
402 can be changed upon a write to R15.
403 (LoadMult): Use WriteR15Load.
404 * armemu.h (WRITEDESTB): Use WriteR15Load.
408 * wrapper.c (sim_do_command): Add const to cmd.
412 * wrapper.c (sim_load): Add const to prog.
416 * configure: Regenerate.
420 * aclocal.m4, configure: Regenerate.
425 * armemu.c (ARMul_Emulate32): Emulate instructions MOVW and MOVT.
429 * COPYING: Update to GPL version 3.
434 * armsupp.c (ARMul_MRC): Return 0 if access to the MRC instruction
439 * wrapper.c (libiberty.h): Include.
440 (sim_store_register, sim_fetch_register): On success, return
441 length, instead of -1.
445 * config.in, configure: Regenerate.
449 * wrapper.c (sim_create_inferior): Treat WMMX2 binaries as iWMMXt
456 Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
461 * wrapper.c: Include config.h before system header files.
465 * aclocal.m4, config.in, configure: Regenerate.
469 * aclocal.m4: New file.
470 * configure: Regenerate.
474 * configure.ac: Change include to common/acinclude.m4.
478 * configure.ac: Change AC_PREREQ to 2.64. Delete AC_CONFIG_HEADER
479 call. Replace common.m4 include with SIM_AC_COMMON.
480 * configure: Regenerate.
485 * iwmmxt.c (WCMPGT): Sign extend 32-bit values before performing a
487 (WMAC): Extend computed result before adding to result register.
488 (WRSA): Sign extend 32-bit values before shifting.
492 * wrapper.c (sim_complete_command): New stub function.
496 * communicate.c (MYread_char): Check error return from accept() call
497 by its equality to -1 not by it being negative.
498 (MYread_charwait): Likewise.
499 * main.c (main): Likewise for both socket() and accept() calls.
503 * wrapper.c (sim_write): Add const to buffer arg.
507 * configure: Regenerate.
511 * config.in: Regenerate.
512 * configure: Likewise.
514 * configure: Regenerate.
518 * arminit.c, iwmmxt.c: Include <string.h> to
522 * configure: Regenerate to track ../common/common.m4 changes.
529 * configure: Regenerate.
530 * wrapper.c (sim_target_display_usage): Add help parameter.
534 * armos.c (SWIflen): Do not treate file descriptor zero as
539 * armemu.c (handle_v6_insn): Fix typo in sign extension test of
540 the sext and sxtah instructions.
545 * wrapper.c (sim_target_parse_arg_array): Do not return void value.
549 * acconfig.h: Remove.
550 * config.in: Regenerate.
554 * configure: Regenerated.
558 * configure: Regenerated.
562 * configure: Regenerated.
566 * elfos.c (ARMul_OSHandleSWI): Call correct function for IsTTY.
570 * armos.c (ARMul_OSHandleSWI): Handle the RedBoot system
571 call meminfo. Return ENOSYS for unhandled RedBoot syscalls.
575 * wrapper.c (gdb/signals.h): Include it.
576 (SIGTRAP): Don't define.
578 (sim_stop_reason): Use TARGET_SIGNAL_* instead of SIG*.
582 * armos.c: Include limits.h
583 (unlink): Remove this macro. It is unused in this file and
584 conflicts with sim_callback->unlink.
585 (PATH_MAX): Define as 1024 if not already defined.
586 (ReadFileName): New function.
587 (SWIopen): Fix a potential buffer overflow.
588 (SWIremove): New function.
590 (ARMul_OSHandleSWI): Handle the RDP calls SWI_IsTTY,
591 SWI_Remove, and SWI_Rename, as well as the RDI calls
592 AngelSWI_Reason_IsTTY, AngelSWI_Reason_Remove, and
593 AngelSWI_Reason_Rename.
597 * armdefs.h: Define ARMsword and ARMsdword. Use stdint.h when
599 * armemu.c: Use them.
600 * armvirt.c (ARMul_MemoryInit): Use correct type for size.
601 * configure.ac: Check for stdint.h.
602 * config.in: Regenerate.
603 * configure: Regenerate.
607 * thumbemu.c (handle_v6_thumb_insn): New function.
608 (ARMul_ThumbDecode): Call handle_v6_thumb_insn() when an undefined
609 instruction binary is encountered.
613 * Update the address and phone number of the FSF organization in
614 the GPL notices in the following files:
615 COPYING, Makefile.in, armcopro.c, armdefs.h, armemu.c,
616 armemu.h, armfpe.h, arminit.c, armopts.h, armos.c, armos.h,
617 armrdi.c, armsupp.c, armvirt.c, bag.c, bag.h, communicate.c,
618 communicate.h, dbg_conf.h, dbg_cp.h, dbg_hif.h, dbg_rdi.h,
619 gdbhost.c, gdbhost.h, iwmmxt.c, iwmmxt.h, kid.c, main.c,
620 maverick.c, parent.c, thumbemu.c, wrapper.c
624 * armemu.c (handle_v6_insn): New function - emulate a few of the
625 v6 instructions - the ones now generated by GCC.
626 (ARMulEmulate32): Call handle_v6_insn when a possible v6 insn is
628 * armdefs.h (struct ARMul_State): Add new field: is_v6.
629 (ARM_v6_Prop): Define.
630 * arminit.c (ARMul_NewState): Initialise the v6 flag.
631 (ARMul_SelectProcessor): Determine if the v6 flag should be
633 * wrapper.c (sim_create_inferior): For unknown architectures,
634 default to allowing the v6 instructions.
638 * iwmmxt.c (WMAC, WMADD): Move casts from the LHS of an assignment
640 (WSLL, WSRA, WSRL, WUNPCKEH, WUNPACKEL): Use ULL suffix to
641 indicate an unsigned long long constant.
645 * configure: Regenerate.
649 * configure.ac: Sinclude aclocal.m4 before common.m4. Add
650 explicit call to AC_CONFIG_HEADER.
651 * configure: Regenerate.
655 * configure.ac: Update to use ../common/common.m4.
656 * configure: Re-generate.
660 * configure: Regenerated to track ../common/aclocal.m4 changes.
664 * configure.ac: Rename configure.in, require autoconf 2.59.
665 * configure: Re-generate.
669 * configure: Regenerate for ../common/aclocal.m4 update.
673 * armemu.c: Rename ui_loop_hook to deprecated_ui_loop_hook.
677 * armos.c (fcntl.h): Do not include it.
678 (O_RDONLY): Do not define.
679 (O_WRONLY): Likewise.
681 (targ-vals.h): Include it.
682 (translate_open_mode): Use TARGET_O_* instead of O_*.
684 * Makefile.in (armos.o): Depend on targ-vals.h.
688 * armvirt.c (GetWord): Only call XScale_check_memacc if in XScale
694 * configure.in (CON_FLAGS): Remove.
695 (COPRO): Unconditionally include iwmmxt.o.
696 * configure: Regenerate.
697 * Makefile.in (CON_FLAGS): Remove.
698 * armcopro.c: Remove use of __IWMMXT__ flag.
699 * wrapper.c: Likewise.
700 * armemu.c: Likewise.
701 Add explanatory comment for suppressed code.
705 * armos.c (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors.
709 * configure.in: (CON_FLAGS): Define and intialise.
710 (COPRO): Add iwmmxt.o if configuring for XScale.
711 * configure: Regenerate.
712 * Makefile.in (iwmmxt.o): Add rule to build.
714 (ALL_FLAGS): Add CON_FLAGS.
715 * armcopro.c (ARMul_CoProInit): Initialise iWMMXt coprocessors.
716 * armdefs.h (struct ARMul_State): Add 'is_iWMMXt' field.
717 (ARM_iWMMXt_Prop): Define.
718 * armemu.c (ARMul_Emulate16): Intercept iWMMXt instructions and
720 * arminit.c (ARMul_NewState): Initialise 'is_iWMMXt'.
721 (ARMul_Abort): Catch branches through uninitialised vectors.
722 * armos.c (softevtorcode): Update comment.
723 (ARMul_OsInit): Use ARMUndefinedInstrV.
724 * wrapper.c (sim_create_inferior): Handle iWMMXt processor type.
725 (sim_store_register): Handle iWMMXt registers.
726 (sim_fetch_register): Handle iWMMXt registers.
727 * iwmmxt.h: New file. Exported iWMMXt coprocessor emulator
729 * iwmmxt.c: New file: iWMMXt emulator.
733 * Contribute support for Cirrus Maverick ARM co-processor,
737 * maverick.c: New file: Support for Maverick floating point
739 * Makefile.in: Add maverick.o target.
740 * configure.in (COPRO): Add maverick.o.
741 * configure: Regenerate.
742 * armcopro.c (ARMul_CoProInit): Only initialise co-processors
743 available on target processor. Add code to initialse Maverick
744 co-processor support code.
745 * armdefs.h (ARMul_state): Add is_ep9312 field.
746 (ARM_ep9312_Prop): Define.
747 * armemu.h: Add prototypes for Maverick co-processor
749 * arminit.c (ARMul_SelectProcessor): Initialise the
750 co-processor support once the chip has been selected.
751 * wrapper.c: Add support for Maverick co-processor.
752 (init): Do not call ARMul_CoProInit. Delays this until the
753 chip has been selected.
757 * armos.c (SWIWrite0): Catch big-endian bug when printing
762 * wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd.
766 * README.Cygnus: Rename from this ..
767 * README: .. to this.
771 * wrapper.c (sim_open): Add support for -m<mem-size>.
772 (mem_size): Reduce to 2MB.
777 * armos.c (ARMul_OSHandleSWI): Catch and ignore SWIs of -1, they
778 can be caused by an interrupted system call being resumed by GDB.
782 * armemu.c (ARMul_Emulate32): Add more tests for valid MIA, MIAPH
783 and MIAxy instructions.
787 * armos.h (ADP_Stopped_RunTimeError): Set correct value.
791 * configure: Regenerated to track ../common/aclocal.m4 changes.
795 * Makefile.in: Update copyright.
796 (wrapper.o): Specify dependencies.
797 * wrapper.c: Include "gdb/sim-arm.h".
798 (sim_store_register, sim_fetch_register): Rewrite using `enum
799 arm_sim_regs' and a switch.
803 * wrapper.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
804 * armos.c: Include "gdb/callback.h".
808 * armcopro.c (XScale_check_memacc): Set the FSR and FAR registers
809 if a Data Abort is detected.
813 * armvirt.c (GetWord): Only perform access checks if 'check'
816 * wrapper.c (sim_create_inferior): Report unknown machine
818 * thumbemu.c (ARMul_ThumbDecode, Case 31): Do not set LR to pc +
819 2, it has already been advanced.
823 * thumbemu.c (ARMul_ThumbDecode): When decoding a BLX(1)
824 instruction do not add in the second bit of the base address -
825 this has already been accounted for.
829 * armcopro.c (check_cp13_access): Allow access to register 1 when
831 (write_cp13_reg): Allow bit 0 of reg 1 of CRm 1 to be written to.
835 * Makefile.in (SIM_TARGET_SWITCHES): Define.
836 * armos.c (swi_mask): Define. Initialise to supporting all
838 (ARMul_OSInit): For XScale targets, only support the ANGEL
839 SWI interface. (This is at the request if Intel).
840 (ARMul_OSHandleSWI): Examine swi_mask to see if a particular
841 SWI call should be emulated.
842 Do not fall through from AngelSWI_Reason_WriteC.
843 Propagate exit code from RedBoot Exit SWI.
844 * rdi-dgb.h (swi_mask): Prototype.
845 (SWI_MASK_DEMON, SWI_MASK_ANGEL, SWI_MASK_REDBOOT): Define.
846 * wrapper.c (sim_target_parse_command_line): New function.
847 Look for and handle --swi-support switch.
848 (sim_target_parse_arg_array): New function. Process an argv
849 array for parsing by sim_target_parse_command_line.
850 (sim_target_display_usage): New function. Describe syntax of
851 --swi-suppoort switch.
852 (sim_open): Add call to sim_target_parse_arg_array).
856 * armos.c (ARMul_OSHandleSWI): Support the RedBoot SWI in ARM
857 mode and some of its system calls.
861 * wrapper.c (mem_size): Increase the default target memory to 8MB.
865 * armos.c (SWIWrite0): Use generic host_callback mechanism
866 for supported OS functions "open", "close", "write", etc.
869 (SWIwrite): Likewise.
871 (ARMul_OSHandleSWI): Likewise.
875 * wrapper.c (sim_create_inferior): Modify previous patch so that
876 it is only triggered for COFF format executables.
880 * wrapper.c (sin_create_inferior): If a v5 architecture is
881 detected, assume it might be an XScale binary, since there is no
882 way to distinguish between the two in the COFF file format.
886 * arminit.c (ARMul_Abort): Fix parameters passed to CPRead[13].
887 * armemu.c (ARMul_Emulate32): Fix parameters passed to CPRead[13]
889 Fix formatting. Improve layout.
890 * armemu.h: Fix formatting. Improve layout.
894 * wrapper.c (sim_fetch_register): If fetching more than 4 bytes
895 return zeroes in the other words.
896 General formatting tidy ups.
900 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
906 * armemu.h (CP_ACCESS_ALLOWED): New macro.
908 * armcopro.c (read_cp14_reg): Make static.
909 (write_cp14_reg): Make static.
910 (check_cp13_access): Use CP_ACCESS_ALLOWED macro.
912 * armsupp.c (ARMul_LDC): Check CP_ACCESS_ALLOWED.
913 (ARMul_STC): Check CP_ACCESS_ALLOWED.
914 (ARMul_MCR): Check CP_ACCESS_ALLOWED.
915 (ARMul_MRC): Check CP_ACCESS_ALLOWED.
916 (ARMul_CDP): Check CP_ACCESS_ALLOWED.
918 * armemu.c (MCRR): Check CP_ACCESS_ALLOWED. Test Rd and Rn not
920 (MRRC): Check CP_ACCESS_ALLOWED. Test Rd and Rn not equal to 15.
925 * armemu.c (ARMul_Emulate32): Fix handling of XScale LDRD and STRD
926 instructions with post indexed addressing modes.
930 * armsupp.c (ARMul_FixCPSR): Check Mode not Bank in order to
931 determine rocesor mode.
935 * armcopro.c (write_cp15_reg): Set CHANGEMODE if endianness changes.
936 (read_cp15_reg): Make non-static.
937 (XScale_cp15_LDC): Update for write_cp15_reg() change.
938 (XScale_cp15_MCR): Likewise.
939 (XScale_cp15_write_reg): Likewise.
940 (XScale_check_memacc): New function. Check for breakpoints being
941 activated by memory accesses. Does not support the Branch Target
943 (XScale_set_fsr_far): New function. Set FSR and FAR for XScale.
944 (XScale_debug_moe): New function. Set the debug Method Of Entry,
946 (write_cp14_reg): Reset count counter if requested.
947 * armdefs.h (struct ARMul_State): New members `LastTime' and
948 `CP14R0_CCD' used for the timer/counters.
949 (ARMul_CP13_R0_FIQ, ARMul_CP13_R0_IRQ, ARMul_CP13_R8_PMUS,
950 ARMul_CP14_R0_ENABLE, ARMul_CP14_R0_CLKRST, ARMul_CP14_R0_CCD,
951 ARMul_CP14_R0_INTEN0, ARMul_CP14_R0_INTEN1, ARMul_CP14_R0_INTEN2,
952 ARMul_CP14_R0_FLAG0, ARMul_CP14_R0_FLAG1, ARMul_CP14_R0_FLAG2,
953 ARMul_CP14_R10_MOE_IB, ARMul_CP14_R10_MOE_DB, ARMul_CP14_R10_MOE_BT,
954 ARMul_CP15_R1_ENDIAN, ARMul_CP15_R1_ALIGN, ARMul_CP15_R5_X,
955 ARMul_CP15_R5_ST_ALIGN, ARMul_CP15_R5_IMPRE, ARMul_CP15_R5_MMU_EXCPT,
956 ARMul_CP15_DBCON_M, ARMul_CP15_DBCON_E1, ARMul_CP15_DBCON_E0): New
957 defines for XScale registers.
958 (XScale_check_memacc, XScale_set_fsr_far, XScale_debug_moe): Prototype.
959 (ARMul_Emulate32, ARMul_Emulate26): Clean up function definition.
960 (ARMul_Emulate32): Handle the clock counter and hardware instruction
961 breakpoints. Call XScale_set_fsr_far() for software breakpoints and
963 (LoadMult): Call XScale_set_fsr_far() for data aborts.
964 (LoadSMult): Likewise.
965 (StoreMult): Likewise.
966 (StoreSMult): Likewise.
967 * armemu.h (write_cp15_reg): Update prototype.
968 * arminit.c (ARMul_NewState): Initialise CP14R0_CCD and LastTime.
969 (ARMul_Abort): If XScale, check for FIQ and IRQ being enabled in CP13
971 * armvirt.c (GetWord): Call XScale_check_memacc().
976 * armvirt.c (ARMul_ReLoadInstr): Do not enable alignment checking
977 when loading unaligned thumb instructions.
981 * thumbemu.c (ARMul_ThumbDecode): Delete label bo_blx2.
982 Compute destination address of BLX(1) instruction by
983 taking bit 1 from PC and not from bit 0 of the offset.
987 * armvirt.c (GetWord): Add new parameter - check - to enable or
988 disable the alignment checking.
989 (PutWord): Add new parameter - check - to enable or disable the
991 (ARMul_ReLoadInstr): Pass extra parameter to GetWord.
992 (ARMul_ReadWord): Pass extra parameter to GetWord.
993 (ARMul_WriteWord): Pass extra parameter to PutWord.
994 (ARMul_StoreHalfWord): Pass extra parameter to PutWord.
995 (ARMul_WriteByte): Pass extra parameter to GetWord.
996 (ARMul_SwapWord): Pass extra parameter to PutWord.
997 (ARMul_SafeReadByte): New Function: Read a byte but do not abort.
998 (ARMul_SafeWriteByte): New Function: Write a byte but do not abort.
1000 * armdefs.h: Add prototypes for ARMul_SafeReadByte and
1001 ARMul_SafeWriteByte.
1003 * wrapper.c (sim_write): Use ARMul_SafeWriteByte.
1004 (sim_read): Use ARMul_SafeReadByte.
1006 * armos.c (in_SWI_handler): Remove.
1007 (SWIWrite0): Use ARMul_SafeReadByte.
1008 (WriteCommandLineTo): Use ARMul_SafeWriteByte.
1009 (SWIopen): Use ARMul_SafeReadByte.
1010 (SWIread): Use ARMul_SafeWriteByte.
1011 (SWIwrite): Use ARMul_SafeReadByte.
1012 (ARMul_OSHandleSWI): Remove use of is_SWI_handler.
1013 (ARMul_OSException): Remove use of is_SWI_handler.
1017 * armemu.c: Remove Prefetch abort for breakpoints. Instead set
1018 the state to RESUME.
1022 * armemu.c: Add code to preserve processor mode when a prefetch
1023 abort is signalled after processing a breakpoint.
1025 * wrapper.c (sim_create_inferior): Reset processor into ARM mode
1026 for any machine type except the early ARMs.
1030 * armos.c (in_SWI_handler): New static variable.
1031 (ARMul_OSHandleSWI): Set in_SWI_handler whilst emulating a SWI.
1032 (ARMul_OSException): Ignore exceptions generated whilst emulating
1037 * armemu.h (NEGBRANCH): Fix defintion.
1041 * armemu.c (LoadSMult): Update base address register after
1042 restoring register bank.
1043 (StoreMult): Update base address register after restoring register
1048 * armvirt.c (PutWord): Detect installation of SWI vector.
1049 (SWI_vector_installed): Define.
1050 * armos.c (ARMul_OsInit): Reset SWI_vector_installed.
1051 * armos.h (SWI_vector_installed): Declare.
1052 * wrapper.c (SWI_vector_installed): Remove definition.
1053 (sim_write): Remove check of SWI vector installation
1057 * armemu.c (ARMul_Emulate26): Fix test for StoreDouble
1062 * armos.c (ARMul_OSHandleSWI): Add 0x91 as an FPE SWI.
1066 * armemu.c (ARMul_Emulate26): Detect double word load and
1067 store instructions and call emulation routines.
1068 (Handle_Load_Double): Emulate a double word load instruction.
1069 (Handle_Store_Double): Emulate a double word store
1074 * armos.c: Fix formatting.
1075 (ARMul_OSHandleSWI): Suppress support of DEMON SWIs when in xscale
1080 * armdefs.h (State): Add 'v5e' and 'xscale' fields.
1081 (ARM_v5e_Prop): Define.
1082 (ARM_XScale_Prop): Define.
1084 * wrapper.c (sim_create_inferior): Select processor based on
1086 (SWI_vector_installed): New boolean. Set to true if the SWI
1087 vector address is written to by the executable.
1089 * arminit.c (ARMul_NewState): Switch default to 32 bit mode.
1090 (ARMul_SelectProcessor): Initialise v5e and xscale signals.
1091 (ARMul_Abort): Fix calculation of LR address.
1093 * armos.c (ARMul_OSHandleSWI): If a SWI vector has been installed
1094 and a SWI is not handled by the simulator, pass the SWI off to the
1095 vector, otherwise issue a warning message and continue.
1097 * armsupp.c (ARMul_CPSRAltered): Set S bit aswell.
1099 * thumbemu.c: Add v5 instruction simulation.
1100 * armemu.c: Add v5, XScale and El Segundo instruction simulation.
1102 * armcopro.c: Add XScale co-processor emulation.
1103 * armemu.h: Add exported XScale co-processor functions.
1107 * armdefs.h: Rename StrongARM property to v4_ARM and add v5 ARM
1108 property. Delete unnecessary processor names.
1109 (ARM_Strong_Prop): Delete.
1110 (STRONGARM): Delete.
1113 (State): Delete is_StrongARM boolean. Add is_v4 and is_v5
1116 * armemu.h (BUSUSEDINCPCS): Use is_v4 boolean.
1117 (BUSUSEDINCPCN): Use is_v4 boolean.
1119 * arminit.c (ARMul_NewState): Initialise is_v4 and is_v5 fields.
1120 (ARMul_SelectProcessor): Change second parameter from 'processor'
1121 to 'properties'. Set is_v4 and is_v5 booleans in State.
1123 * armrdi.c: Remove use of ARM processor names. Replace with ARM
1124 processor properties.
1126 * wrapper.c (sim_create_inferior): Choose properties passed to
1127 ARMul_SelectProcessor based on machine number.
1131 * armemu.c (LHPOSTDOWN): Compute write back value before
1132 performing load in case the offset register is overwritten.
1137 * wrapper.c (sim_create_inferior): Fix typo in the previous patch.
1141 * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
1146 * armvirt.c (ABORTS): Do not define.
1148 * armdefs.h (struct ARMul_State): Add is_StrongARM.
1149 (ARM_Strong_Prop, STRONGARM): Define.
1150 * arminit.c (ARMul_NewState): Reset is_StrongARM.
1151 (ARMul_SelectProcessor): Set is_StrongARM.
1152 * wrapper.c (sim_create_inferior): Use bfd machine type to
1153 determine processor type to emulate.
1154 * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
1155 when emulating StrongARM.
1157 * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.
1159 * armemu.h (INSN_SIZE): New macro.
1160 (SET_ABORT): Save CPSR in SPSR and set LR.
1161 * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
1162 (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
1163 * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
1165 * armemu.c (LoadSMult): Use WriteR15() to discard the least
1166 significant bits of PC.
1168 * armemu.h (WRITEDESTB): New macro.
1169 * armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
1170 modify PC. Moved the existing logic...
1171 (WriteR15Branch): ... here. New function.
1172 (WriteR15, WriteSR15): Drop the two least significant bits.
1173 (LoadSMult): Use WriteR15Branch() to modify PC.
1174 (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
1176 * armemu.h (GETSPSR): Call ARMul_GetSPSR().
1177 * armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
1178 extracted from state->Cpsr, but preserve the unused bits.
1179 (ARMul_GetCPSR): Get bits preserved in state->Cpsr.
1180 (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
1181 get the full CPSR word.
1183 * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
1184 (SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
1185 (SETPSR, SET_INTMODE, SETCC): Removed.
1186 * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
1187 mask. Use SETPSR_* to modify PSR.
1188 (ARMul_SetCPSR): Load all bits from value.
1189 * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
1191 * armemu.c (ARMul_Emulate): Compute writeback value before
1192 loading, since the offset register may be the destination
1195 * armdefs.h (SYSTEMBANK): Define as USERBANK.
1196 * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
1200 * armemu.c (Multiply64): Fix computation of flag N.
1202 * armemu.c (MultiplyAdd64): Fix computation of flag N.
1206 * armemu.h (NEGBRANCH): Do not overwrite the two most significant
1211 * armcopro.c (MMUMCR): Only indicate mode change if a singal has
1213 (MMUWrite): Only indicate mode change if a singal has really
1216 * armdefs.h (SYSTEMMODE): Define.
1217 (BANK_CAN_ACEESS_SPSR): Define.
1219 * armemu.c (ARM_Emulate26): If the mode has changed allow the PC
1220 to advance before stopping the emulation.
1222 * arminit.c (ARMul_Reset): Ensure Mode field of State is set
1225 * armos.c (ARMul_OSInit): Create a initial stack pointer for
1228 * armsupp.c (ModeToBank): Remove unused first parameter.
1229 Add support for System Mode.
1230 (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
1231 (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
1232 (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro.
1233 (ARMulSwitchMode): Add support for System Mode.
1237 * configure: Regenerated to track ../common/aclocal.m4 changes.
1241 * wrapper.c (sim_store_register): Special handling for CPSR
1246 * armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
1251 * wrapper.c (sim_open,sim_close): Copy into myname, free myname.
1255 * wrapper.c: Fix compile time warning messages.
1256 * armcopro.c: Fix compile time warning messages.
1257 * armdefs.h: Fix compile time warning messages.
1258 * armemu.c: Fix compile time warning messages.
1259 * armemu.h: Fix compile time warning messages.
1260 * armos.c: Fix compile time warning messages.
1261 * armsupp.c: Fix compile time warning messages.
1262 * armvirt.c: Fix compile time warning messages.
1263 * bag.c: Fix compile time warning messages.
1267 * *.[ch]: Use indent to make readable.
1271 * armos.c (SWIread): Generate an error message if a huge read is
1273 (SWIwrite): Generate an error message if a huge write is
1278 * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
1283 * armos.c (SWIopen): Always pass third parameter with 0666 since
1284 otherwise uninitialized memory gets access if the O_CREAT bit is
1285 set and so we possibly cannot access the file afterwards.
1289 * armos.c (SWIWrite0): Send output to stdout instead of stderr.
1290 (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto.
1294 * configure: Regenerated to track ../common/aclocal.m4 changes.
1298 * configure: Regenerated to track ../common/aclocal.m4 changes.
1302 * wrapper.c (stop_simulator): New global.
1303 (sim_stop): Set sim state to STOP and set
1305 (sim_resume): Reset stop_simulator.
1306 (sim_stop_reason): If stop_simulator is set, tell gdb
1307 that the we took SIGINT.
1308 * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if
1309 stop_simulator is set.
1313 * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook
1314 whenever the counter expires.
1315 * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK.
1319 * armemu.c (ARMul_Emulate26): Handle new breakpoint value.
1320 * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value.
1324 * wrapper.c (sim_open): Set endianness according to BFD or command
1327 * tconfig.in: Define SIM_HAVE_BIENDIAN.
1331 * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
1332 the same as either RdHi or RdLo.
1336 * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
1337 Set Reg[0] based on reason for for the exception.
1341 * armos.c (SWIwrite0): New function.
1342 (WriteCommandLineTo): New function.
1343 (SWIopen): New function.
1344 (SWIread): New function.
1345 (SWIwrite): New function.
1346 (SWIflen): New function.
1347 (ARMul_OSHandleSWI): Call new functions instead of handling
1349 (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
1350 (*): Reformat spacing to be a bit more GNUly.
1351 Most code taken from a patch by Anthony Thompson
1356 * armos.h: Add Angel SWI and its reason codes.
1357 * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
1361 * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
1362 of ":tt" to catch stdin in addition to stdout.
1363 (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
1364 or success of lseek().
1368 * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
1373 * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
1374 SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only
1375 seek from offset 0 and not to use R2 for whence since it is
1376 not passed as part of the SWI call.
1380 * configure: Regenerated to track ../common/aclocal.m4 changes.
1382 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
1384 * configure: Regenerated to track ../common/aclocal.m4 changes.
1389 * acconfig.h: New file.
1390 * configure.in: Reverted change of Apr 24; use sinclude again.
1392 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
1394 * configure: Regenerated to track ../common/aclocal.m4 changes.
1399 * configure.in: Don't call sinclude.
1403 * configure: Regenerated to track ../common/aclocal.m4 changes.
1407 * configure: Regenerated to track ../common/aclocal.m4 changes.
1411 * configure: Regenerated to track ../common/aclocal.m4 changes.
1415 * configure: Regenerated to track ../common/aclocal.m4 changes.
1419 * armopts.h: Remove definition of LITTLEND - it is not used.
1423 * wrapper.c (sim_store_register, sim_fetch_register): Pass in
1424 length parameter. Return -1.
1428 * configure: Regenerated to track ../common/aclocal.m4 changes.
1432 * configure: Regenerated to track ../common/aclocal.m4 changes.
1434 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
1436 * configure: Regenerated to track ../common/aclocal.m4 changes.
1440 * configure: Regenerated to track ../common/aclocal.m4 changes.
1445 * Makefile.in: Updated with changes from branch.
1447 * armemu.c: ditto these changes
1448 * armemu.h: ditto add support for
1449 * armos.c: ditto the Thumb instruction
1450 * armsupp.c: ditto set and the new v4
1451 * armvirt.c: ditto architecture.
1453 * thumbemu.c: New file from branch.
1458 * configure: Regenerated to track ../common/aclocal.m4 changes.
1462 * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch
1465 * wrapper.c (sim_create_inferior): Add code to create an execution
1470 * wrapper.c (sim_load): Pass lma_p and sim_write args to
1475 * configure: Regenerated to track ../common/aclocal.m4 changes.
1479 * configure: Regenerated to track ../common/aclocal.m4 changes.
1483 * configure: Regenerated to track ../common/aclocal.m4 changes.
1487 * configure: Regenerated to track ../common/aclocal.m4 changes.
1491 * configure: Regenerated to track ../common/aclocal.m4 changes.
1495 * configure: Regenerated to track ../common/aclocal.m4 changes.
1497 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
1499 * configure: Regenerated to track ../common/aclocal.m4 changes.
1503 * configure: Regenerated to track ../common/aclocal.m4 changes.
1508 * wrapper.c (sim_kill): Delete.
1509 (sim_create_inferior): Add ABFD argument.
1510 (sim_load): Move setting of PC from here.
1511 (sim_create_inferior): To here.
1515 * configure: Regenerated to track ../common/aclocal.m4 changes.
1520 * wrapper.c (sim_open): Add ABFD argument.
1524 * wrapper.c (sim_open): Add callback argument.
1525 (sim_set_callbacks): Drop SIM_DESC argument.
1529 * configure: Regenerated to track ../common/aclocal.m4 changes.
1533 * wrapper.c (sim_stop): Stub sim_stop function.
1537 * arminit.c (ARMul_NewState): Preinitialize the state to
1542 * Makefile.in (SIM_OBJS): Add sim-load.o.
1543 * wrapper.c (sim_kind,myname): New static locals.
1544 (sim_open): Set sim_kind, myname.
1545 (sim_load): Call sim_load_file to do work. Set start address from bfd.
1546 (sim_create_inferior): Return SIM_RC. Delete start_address arg.
1550 * wrapper.c (sim_trace): Update so that it matches prototype.
1554 * configure: Regenerated to track ../common/aclocal.m4 changes.
1559 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
1561 (armemu26.o): Ditto.
1565 * wrapper.c (sim_open): New arg `kind'.
1567 * configure: Regenerated to track ../common/aclocal.m4 changes.
1571 * COPYING: Update FSF address.
1575 * configure: Regenerated to track ../common/aclocal.m4 changes.
1579 * configure: Regenerated to track ../common/aclocal.m4 changes.
1583 * configure: Re-generate.
1587 * configure: Regenerate to track ../common/aclocal.m4 changes.
1591 * wrapper.c (sim_open): Has result now.
1592 (sim_*): New SIM_DESC argument.
1596 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
1597 COMMON_{PRE,POST}_CONFIG_FRAG instead.
1598 * configure.in: sinclude ../common/aclocal.m4.
1599 * configure: Regenerated.
1603 * configure configure.in Makefile.in: Update to new configure
1604 scheme which is more compatible with WinGDB builds.
1605 * configure.in: Improve comment on how to run autoconf.
1606 * configure: Re-run autoconf to get new ../common/aclocal.m4.
1607 * Makefile.in: Use autoconf substitution to install common
1612 * run.c: Deleted, use one in ../common now.
1613 * Makefile.in: Delete everything that's been moved to
1614 ../common/Make-common.in.
1616 * configure.in: Simplify using macros in ../common/aclocal.m4.
1617 * configure: Regenerated.
1618 * config.in: New file.
1619 * armos.c: #include config.h.
1620 * wrapper.c (mem_size): Value is in bytes now.
1621 (sim_callback): New global.
1622 (arm_sim_set_profile{,_size}): Delete.
1623 (arm_sim_set_mem_size): Rename to sim_size.
1624 (sim_do_command): Call printf_filtered via callback.
1625 (sim_set_callbacks): Record callback.
1629 * Makefile.in (mostlyclean): Remove config.log.
1633 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
1634 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
1636 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
1637 (AC_PROG_INSTALL): Added.
1638 * configure: Rebuilt.
1642 * configure: Regenerate with autoconf 2.7.
1646 * run.c (main): Use new bfd_big_endian macro.
1650 * run.c: Include "getopt.h".
1652 (usage): Make static.
1653 (main): Call arm_sim_set_verbosity.
1654 Only load sections marked SEC_LOAD.
1655 * wrapper.c (mem_size, verbosity): New static global.
1656 (arm_sim_set_mem_size): Renamed from sim_size. Callers updated.
1657 (arm_sim_set_profile{,_size}): Renamed from sim_foo. Callers updated.
1661 * armdefs.h (ARMul_State): New member `verbose'.
1662 * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
1663 * run.c (verbose): Make global.
1664 * wrapper.c (init): Set state->verbose.
1665 (ARMul_ConsolePrint): Don't print anything if !verbose.
1669 * armos.c: #include dbg_rdi.h.
1670 (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
1671 * armos.h (SWI_Breakpoint): Define.
1672 * wrapper.c: #include armemu.h, dbg_rdi.h.
1674 (sim_resume): Use state->EndCondition to record stop state.
1675 Call FLUSHPIPE before returning.
1676 (sim_stop_reason): Determine reason from state->EndCondition.
1680 * wrapper.c (sim_set_callbacks): New.
1684 * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
1685 number of bytes not read/written (or -1).
1689 * Makefile.in (maintainer-clean): New synonym for realclean.
1693 * configure.in: Remove AC_PROG_INSTALL.
1694 * configure: Rebuild.
1695 * Makefile.in (INSTALL): Revert to using install.sh.
1696 (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
1697 (INSTALL_XFORM, INSTALL_XFORM1): Restore.
1698 (mostlyclean): Make the same as clean, not distclean.
1699 (clean): Remove config.log.
1700 (install): Don't install in $(tooldir).
1704 (Try to) Update to new bfd autoconf scheme.
1705 * run.c: Don't include sysdep.h.
1706 * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
1707 (CC, CFLAGS, AR, RANLIB): Likewise.
1708 (HDEFINES, TDEFINES): Define.
1709 (CC_FOR_BUILD): Delete.
1710 (host_makefile_frag): Delete.
1711 (Makefile): Don't depend on frags.
1712 * configure.in (sysdep.h): Don't create symlink.
1713 (host_makefile_frag, frags): Deleted.
1714 (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
1715 * configure: Regenerated.
1719 * Update all FSF addresses except those in COPYING* files.
1723 * Makefile.in (clean): Remove run, libsim.a.
1725 * Makefile.in, configure.in: converted to autoconf.
1726 * configure: New file, generated with autconf 2.4.
1732 * wrapper.c (sim_do_command): New function.
1736 * armos.c (ARMul_OSHandleSWI): New version to work with
1741 * run.c (main): Grab return value from right register.