mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
73cb0348b2
* Makefile.in (SIM_EXTRA_CFLAGS): Add -lm. * armdefs.h (ARMdval, ARMfval): New types. (ARM_VFP_reg): New union. (struct ARMul_State): Add VFP_Reg and FPSCR fields. (VFP_fval, VFP_uword, VFP_sword, VFP_dval, VFP_dword): Accessor macros for the new VFP_Reg field. * armemu.c (handle_v6_insn): Add code to handle MOVW, MOVT, QADD16, QASX, QSAX, QSUB16, QADD8, QSUB8, UADD16, USUB16, UADD8, USUB8, SEL, REV, REV16, RBIT, BFC, BFI, SBFX and UBFX instructions. (handle_VFP_move): New function. (ARMul_Emulate16): Add checks for newly supported v6 instructions. Add support for VMRS, VMOV and MRC instructions. (Multiply64): Allow nRdHi == nRm and/or nRdLo == nRm when operating in v6 mode. * armemu.h (t_resolved): Define. * armsupp.c: Include math.h. (handle_VFP_xfer): New function. Handles VMOV, VSTM, VSTR, VPUSH, VSTM, VLDM and VPOP instructions. (ARMul_LDC): Test for co-processor 10 or 11 and pass call to the new handle_VFP_xfer function. (ARMul_STC): Likewise. (handle_VFP_op): New function. Handles VMLA, VMLS, VNMLA, VNMLS, VNMUL, VMUL, VADD, VSUB, VDIV, VMOV, VABS, VNEG, VSQRT, VCMP, VCMPE and VCVT instructions. (ARMul_CDP): Test for co-processor 10 or 11 and pass call to the new handle_VFP_op function. * thumbemu.c (tBIT, tBITS, ntBIT, ntBITS): New macros. (test_cond): New function. Tests a condition and returns non-zero if the condition has been met. (handle_IT_block): New function. (in_IT_block): New function. (IT_block_allow): New function. (ThumbExpandImm): New function. (handle_T2_insn): New function. Handles T2 thumb instructions. (handle_v6_thumb_insn): Add next_instr and pc parameters. (ARMul_ThumbDecode): Add support for IT blocks. Add support for v6 instructions. * wrapper.c (sim_create_inferior): Detect a thumb address and call SETT appropriately. |
||
---|---|---|
.. | ||
aclocal.m4 | ||
armcopro.c | ||
armdefs.h | ||
armemu.c | ||
armemu.h | ||
armfpe.h | ||
arminit.c | ||
armopts.h | ||
armos.c | ||
armos.h | ||
armrdi.c | ||
armsupp.c | ||
armvirt.c | ||
bag.c | ||
bag.h | ||
ChangeLog | ||
communicate.c | ||
communicate.h | ||
config.in | ||
configure | ||
configure.ac | ||
COPYING | ||
dbg_conf.h | ||
dbg_cp.h | ||
dbg_hif.h | ||
dbg_rdi.h | ||
gdbhost.c | ||
gdbhost.h | ||
iwmmxt.c | ||
iwmmxt.h | ||
kid.c | ||
main.c | ||
Makefile.in | ||
maverick.c | ||
parent.c | ||
README | ||
sim-main.h | ||
thumbemu.c | ||
wrapper.c |
This directory contains the standard release of the ARMulator from Advanced RISC Machines, and was ftp'd from. ftp.cl.cam.ac.uk:/arm/gnu It likes to use TCP/IP between the simulator and the host, which is nice, but is a pain to use under anything non-unix. I've added created a new Makefile.in (the original in Makefile.orig) to build a version of the simulator without the TCP/IP stuff, and a wrapper.c to link directly into gdb and the run command. It should be possible (barring major changes in the layout of the armulator) to upgrade the simulator by copying all the files out of a release into this directory and renaming the Makefile. (Except that I changed armos.c to work more simply with our simulator rigs) Steve sac@cygnus.com Mon May 15 12:03:28 PDT 1995