3 * armdefs.h (struct ARMul_State): Add is_StrongARM.
4 (ARM_Strong_Prop, STRONGARM): Define.
5 * arminit.c (ARMul_NewState): Reset is_StrongARM.
6 (ARMul_SelectProcessor): Set is_StrongARM.
7 * wrapper.c (sim_create_inferior): Use bfd machine type to
8 determine processor type to emulate.
9 * armemu.h (BUSUSEDINCPCS, BUSUSEDINCPCN): Don't increment PC
10 when emulating StrongARM.
12 * armemu.c (ARMul_Emulate, t_undefined): Proceed to next insn.
14 * armemu.h (INSN_SIZE): New macro.
15 (SET_ABORT): Save CPSR in SPSR and set LR.
16 * armemu.c (ARMul_Emulate, isize): Set to INSN_SIZE.
17 (WriteR15, WriteSR15): Do not discard bit 1 in Thumb mode.
18 * arminit.c (ARMul_Abort): Use new SETABORT and INSN_SIZE.
20 * armemu.c (LoadSMult): Use WriteR15() to discard the least
21 significant bits of PC.
23 * armemu.h (WRITEDESTB): New macro.
24 * armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
25 modify PC. Moved the existing logic...
26 (WriteR15Branch): ... here. New function.
27 (WriteR15, WriteSR15): Drop the two least significant bits.
28 (LoadSMult): Use WriteR15Branch() to modify PC.
29 (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
31 * armemu.h (GETSPSR): Call ARMul_GetSPSR().
32 * armsupp.c (ARMul_CPSRAltered): Zero out bits as they're
33 extracted from state->Cpsr, but preserve the unused bits.
34 (ARMul_GetCPSR): Get bits preserved in state->Cpsr.
35 (ARMul_GetSPSR, ARMul_FixCPSR): Use ARMul_GetCPSR() to
36 get the full CPSR word.
38 * armemu.h (PSR_FBITS, PSR_SBITS, PSR_XBITS, PSR_CBITS): New.
39 (SETPSR_F, SETPSR_S, SETPSR_X, SETPSR_C): New macros.
40 (SETPSR, SET_INTMODE, SETCC): Removed.
41 * armsupp.c (ARMul_FixCPSR, ARMul_FixSPSR): Do not test bit
42 mask. Use SETPSR_* to modify PSR.
43 (ARMul_SetCPSR): Load all bits from value.
44 * armemu.c (ARMul_Emulate, msr): Do not test bit mask.
46 * armemu.c (ARMul_Emulate): Compute writeback value before
47 loading, since the offset register may be the destination
50 * armdefs.h (SYSTEMBANK): Define as USERBANK.
51 * armsupp.c (ARMul_SwitchMode): Remove SYSTEMBANK cases.
55 * armemu.c (Multiply64): Fix computation of flag N.
57 * armemu.c (MultiplyAdd64): Fix computation of flag N.
61 * armemu.h (NEGBRANCH): Do not overwrite the two most significant
66 * armcopro.c (MMUMCR): Only indicate mode change if a singal has
68 (MMUWrite): Only indicate mode change if a singal has really
71 * armdefs.h (SYSTEMMODE): Define.
72 (BANK_CAN_ACEESS_SPSR): Define.
74 * armemu.c (ARM_Emulate26): If the mode has changed allow the PC
75 to advance before stopping the emulation.
77 * arminit.c (ARMul_Reset): Ensure Mode field of State is set
80 * armos.c (ARMul_OSInit): Create a initial stack pointer for
83 * armsupp.c (ModeToBank): Remove unused first parameter.
84 Add support for System Mode.
85 (ARMul_GetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
86 (ARMul_SetSPSR): Use BANK_CAN_ACCESS_SPSR macro.
87 (ARMul_FixSPSR): Use BANK_CAN_ACCESS_SPSR macro.
88 (ARMulSwitchMode): Add support for System Mode.
92 * configure: Regenerated to track ../common/aclocal.m4 changes.
96 * wrapper.c (sim_store_register): Special handling for CPSR
101 * armemu.c (LoadSMult, LoadMult): Correct handling of aborts.
106 * wrapper.c (sim_open,sim_close): Copy into myname, free myname.
110 * wrapper.c: Fix compile time warning messages.
111 * armcopro.c: Fix compile time warning messages.
112 * armdefs.h: Fix compile time warning messages.
113 * armemu.c: Fix compile time warning messages.
114 * armemu.h: Fix compile time warning messages.
115 * armos.c: Fix compile time warning messages.
116 * armsupp.c: Fix compile time warning messages.
117 * armvirt.c: Fix compile time warning messages.
118 * bag.c: Fix compile time warning messages.
122 * *.[ch]: Use indent to make readable.
126 * armos.c (SWIread): Generate an error message if a huge read is
128 (SWIwrite): Generate an error message if a huge write is
133 * thumbemu.c (ARMul_ThumbDecode): Accept 0xbebe as a thumb
138 * armos.c (SWIopen): Always pass third parameter with 0666 since
139 otherwise uninitialized memory gets access if the O_CREAT bit is
140 set and so we possibly cannot access the file afterwards.
144 * armos.c (SWIWrite0): Send output to stdout instead of stderr.
145 (ARMul_OSHandleSWI, case SWI_WriteC,AngelSWI_Reason_WriteC): Ditto.
149 * configure: Regenerated to track ../common/aclocal.m4 changes.
154 * configure: Regenerated to track ../common/aclocal.m4 changes.
158 * wrapper.c (stop_simulator): New global.
159 (sim_stop): Set sim state to STOP and set
161 (sim_resume): Reset stop_simulator.
162 (sim_stop_reason): If stop_simulator is set, tell gdb
163 that the we took SIGINT.
164 * armemu.c (ARMul_Emulate26): Don't loop forever. Stop if
165 stop_simulator is set.
169 * armemu.c (ARMul_Emulate26): If NEED_UI_LOOP_HOOK, call ui_loop_hook
170 whenever the counter expires.
171 * Makefile.in (SIM_EXTRA_CFLAGS): Include define NEED_UI_LOOP_HOOK.
175 * armemu.c (ARMul_Emulate26): Handle new breakpoint value.
176 * thumbemu.c (ARMul_ThumbDecode): Handle new breakpoint value.
180 * wrapper.c (sim_open): Set endianness according to BFD or command
183 * tconfig.in: Define SIM_HAVE_BIENDIAN.
187 * armemu.c (Multiply64): Test for Rm (rather than Rs) not being
188 the same as either RdHi or RdLo.
192 * armos.c (ARMul_OSHandleSWI: AngelSWI_Reason_ReportException):
193 Set Reg[0] based on reason for for the exception.
197 * armos.c (SWIwrite0): New function.
198 (WriteCommandLineTo): New function.
199 (SWIopen): New function.
200 (SWIread): New function.
201 (SWIwrite): New function.
202 (SWIflen): New function.
203 (ARMul_OSHandleSWI): Call new functions instead of handling
205 (ARMul_OSHandleSWI): Handle Angel SWIs correctly.
206 (*): Reformat spacing to be a bit more GNUly.
207 Most code taken from a patch by Anthony Thompson
212 * armos.h: Add Angel SWI and its reason codes.
213 * armos.c (ARMul_OSHandleSWI): Ignore Angel SWIs (for now).
217 * armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
218 of ":tt" to catch stdin in addition to stdout.
219 (ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
220 or success of lseek().
224 * armos.c (ARMul_OSHandleSWI): Special case code to catch attempts
229 * armos.c (ARMul_OSHandleSWI): Added code for SWI_Clock,
230 SWI_Flen, and SWI_Time. Also fixed SWI_Seek code to only
231 seek from offset 0 and not to use R2 for whence since it is
232 not passed as part of the SWI call.
236 * configure: Regenerated to track ../common/aclocal.m4 changes.
238 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
240 * configure: Regenerated to track ../common/aclocal.m4 changes.
245 * acconfig.h: New file.
246 * configure.in: Reverted change of Apr 24; use sinclude again.
248 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
250 * configure: Regenerated to track ../common/aclocal.m4 changes.
255 * configure.in: Don't call sinclude.
259 * configure: Regenerated to track ../common/aclocal.m4 changes.
263 * configure: Regenerated to track ../common/aclocal.m4 changes.
267 * configure: Regenerated to track ../common/aclocal.m4 changes.
271 * configure: Regenerated to track ../common/aclocal.m4 changes.
275 * armopts.h: Remove definition of LITTLEND - it is not used.
279 * wrapper.c (sim_store_register, sim_fetch_register): Pass in
280 length parameter. Return -1.
284 * configure: Regenerated to track ../common/aclocal.m4 changes.
288 * configure: Regenerated to track ../common/aclocal.m4 changes.
290 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
292 * configure: Regenerated to track ../common/aclocal.m4 changes.
296 * configure: Regenerated to track ../common/aclocal.m4 changes.
301 * Makefile.in: Updated with changes from branch.
303 * armemu.c: ditto these changes
304 * armemu.h: ditto add support for
305 * armos.c: ditto the Thumb instruction
306 * armsupp.c: ditto set and the new v4
307 * armvirt.c: ditto architecture.
309 * thumbemu.c: New file from branch.
314 * configure: Regenerated to track ../common/aclocal.m4 changes.
318 * armos.c (ARMul_OSHandleSWI): Add support for GetEnv SWI. Patch
321 * wrapper.c (sim_create_inferior): Add code to create an execution
326 * wrapper.c (sim_load): Pass lma_p and sim_write args to
331 * configure: Regenerated to track ../common/aclocal.m4 changes.
335 * configure: Regenerated to track ../common/aclocal.m4 changes.
339 * configure: Regenerated to track ../common/aclocal.m4 changes.
343 * configure: Regenerated to track ../common/aclocal.m4 changes.
347 * configure: Regenerated to track ../common/aclocal.m4 changes.
351 * configure: Regenerated to track ../common/aclocal.m4 changes.
353 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
355 * configure: Regenerated to track ../common/aclocal.m4 changes.
359 * configure: Regenerated to track ../common/aclocal.m4 changes.
364 * wrapper.c (sim_kill): Delete.
365 (sim_create_inferior): Add ABFD argument.
366 (sim_load): Move setting of PC from here.
367 (sim_create_inferior): To here.
371 * configure: Regenerated to track ../common/aclocal.m4 changes.
376 * wrapper.c (sim_open): Add ABFD argument.
380 * wrapper.c (sim_open): Add callback argument.
381 (sim_set_callbacks): Drop SIM_DESC argument.
385 * configure: Regenerated to track ../common/aclocal.m4 changes.
389 * wrapper.c (sim_stop): Stub sim_stop function.
393 * arminit.c (ARMul_NewState): Preinitialize the state to
398 * Makefile.in (SIM_OBJS): Add sim-load.o.
399 * wrapper.c (sim_kind,myname): New static locals.
400 (sim_open): Set sim_kind, myname.
401 (sim_load): Call sim_load_file to do work. Set start address from bfd.
402 (sim_create_inferior): Return SIM_RC. Delete start_address arg.
406 * wrapper.c (sim_trace): Update so that it matches prototype.
410 * configure: Regenerated to track ../common/aclocal.m4 changes.
415 * Makefile.in (armemu32.o): Replace $< with autoconf recommended
421 * wrapper.c (sim_open): New arg `kind'.
423 * configure: Regenerated to track ../common/aclocal.m4 changes.
427 * COPYING: Update FSF address.
431 * configure: Regenerated to track ../common/aclocal.m4 changes.
435 * configure: Regenerated to track ../common/aclocal.m4 changes.
439 * configure: Re-generate.
443 * configure: Regenerate to track ../common/aclocal.m4 changes.
447 * wrapper.c (sim_open): Has result now.
448 (sim_*): New SIM_DESC argument.
452 * Makefile.in (@COMMON_MAKEFILE_FRAG@): Use
453 COMMON_{PRE,POST}_CONFIG_FRAG instead.
454 * configure.in: sinclude ../common/aclocal.m4.
455 * configure: Regenerated.
459 * configure configure.in Makefile.in: Update to new configure
460 scheme which is more compatible with WinGDB builds.
461 * configure.in: Improve comment on how to run autoconf.
462 * configure: Re-run autoconf to get new ../common/aclocal.m4.
463 * Makefile.in: Use autoconf substitution to install common
468 * run.c: Deleted, use one in ../common now.
469 * Makefile.in: Delete everything that's been moved to
470 ../common/Make-common.in.
472 * configure.in: Simplify using macros in ../common/aclocal.m4.
473 * configure: Regenerated.
474 * config.in: New file.
475 * armos.c: #include config.h.
476 * wrapper.c (mem_size): Value is in bytes now.
477 (sim_callback): New global.
478 (arm_sim_set_profile{,_size}): Delete.
479 (arm_sim_set_mem_size): Rename to sim_size.
480 (sim_do_command): Call printf_filtered via callback.
481 (sim_set_callbacks): Record callback.
485 * Makefile.in (mostlyclean): Remove config.log.
489 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
490 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
492 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
493 (AC_PROG_INSTALL): Added.
494 * configure: Rebuilt.
498 * configure: Regenerate with autoconf 2.7.
502 * run.c (main): Use new bfd_big_endian macro.
506 * run.c: Include "getopt.h".
508 (usage): Make static.
509 (main): Call arm_sim_set_verbosity.
510 Only load sections marked SEC_LOAD.
511 * wrapper.c (mem_size, verbosity): New static global.
512 (arm_sim_set_mem_size): Renamed from sim_size. Callers updated.
513 (arm_sim_set_profile{,_size}): Renamed from sim_foo. Callers updated.
517 * armdefs.h (ARMul_State): New member `verbose'.
518 * armrdi.c (ARMul_ConsolePrint): Add missing va_end.
519 * run.c (verbose): Make global.
520 * wrapper.c (init): Set state->verbose.
521 (ARMul_ConsolePrint): Don't print anything if !verbose.
525 * armos.c: #include dbg_rdi.h.
526 (ARMul_OSHandleSWI): Handle SWI_Breakpoint.
527 * armos.h (SWI_Breakpoint): Define.
528 * wrapper.c: #include armemu.h, dbg_rdi.h.
530 (sim_resume): Use state->EndCondition to record stop state.
531 Call FLUSHPIPE before returning.
532 (sim_stop_reason): Determine reason from state->EndCondition.
536 * wrapper.c (sim_set_callbacks): New.
540 * armos.c (ARMul_OSHandleSWI): Result of read/write calls is
541 number of bytes not read/written (or -1).
545 * Makefile.in (maintainer-clean): New synonym for realclean.
549 * configure.in: Remove AC_PROG_INSTALL.
550 * configure: Rebuild.
551 * Makefile.in (INSTALL): Revert to using install.sh.
552 (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
553 (INSTALL_XFORM, INSTALL_XFORM1): Restore.
554 (mostlyclean): Make the same as clean, not distclean.
555 (clean): Remove config.log.
556 (install): Don't install in $(tooldir).
560 (Try to) Update to new bfd autoconf scheme.
561 * run.c: Don't include sysdep.h.
562 * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
563 (CC, CFLAGS, AR, RANLIB): Likewise.
564 (HDEFINES, TDEFINES): Define.
565 (CC_FOR_BUILD): Delete.
566 (host_makefile_frag): Delete.
567 (Makefile): Don't depend on frags.
568 * configure.in (sysdep.h): Don't create symlink.
569 (host_makefile_frag, frags): Deleted.
570 (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
571 * configure: Regenerated.
575 * Update all FSF addresses except those in COPYING* files.
579 * Makefile.in (clean): Remove run, libsim.a.
581 * Makefile.in, configure.in: converted to autoconf.
582 * configure: New file, generated with autconf 2.4.
588 * wrapper.c (sim_do_command): New function.
592 * armos.c (ARMul_OSHandleSWI): New version to work with
597 * run.c (main): Grab return value from right register.