qemu-e2k/target-arm
Dmitry Eremin-Solenikov be5e7a7601 arm: basic support for ARMv4/ARMv4T emulation
Currently target-arm/ assumes at least ARMv5 core. Add support for
handling also ARMv4/ARMv4T. This changes the following instructions:

BX(v4T and later)

BKPT, BLX, CDP2, CLZ, LDC2, LDRD, MCRR, MCRR2, MRRC, MCRR, MRC2, MRRC,
MRRC2, PLD QADD, QDADD, QDSUB, QSUB, STRD, SMLAxy, SMLALxy, SMLAWxy,
SMULxy, SMULWxy, STC2 (v5 and later)

All instructions that are "v5TE and later" are also bound to just v5, as
that's how it was before.

This patch doesn _not_ include disabling of cp15 access and base-updated
data abort model (that will be required to emulate chips based on a
ARM7TDMI), because:
* no ARM7TDMI chips are currently emulated (or planned)
* those features aren't strictly necessary for my purposes (SA-1 core
  emulation).

All v5 models are handled as they are v5T. Internally we still have a
check if the model is a v5(T) or v5TE, but as all emulated cores are
v5TE, those two cases are simply aliased (for now).

Patch is heavily based on patch by Filip Navara <filip.navara@gmail.com>
which in turn is based on work by Ulrich Hecht <uli@suse.de> and Vincent
Sanders <vince@kyllikki.org>.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-10 00:53:21 +02:00
..
cpu.h arm: basic support for ARMv4/ARMv4T emulation 2011-04-10 00:53:21 +02:00
exec.h inline cpu_halted into sole caller 2011-03-13 14:44:21 +00:00
helper.c arm: basic support for ARMv4/ARMv4T emulation 2011-04-10 00:53:21 +02:00
helpers.h target-arm: Use global env in iwmmxt_helper.c helpers 2011-04-04 20:18:07 +02:00
iwmmxt_helper.c target-arm: Use global env in iwmmxt_helper.c helpers 2011-04-04 20:18:07 +02:00
machine.c target-arm: Implement cp15 VA->PA translation 2011-03-06 23:37:18 +01:00
neon_helper.c target-arm: Make Neon helper routines use correct FP status 2011-04-04 20:18:07 +02:00
op_addsub.h target-arm: fix addsub/subadd implementation 2010-07-01 23:45:29 +02:00
op_helper.c Set the right overflow bit for neon 32 and 64 bit saturating add/sub. 2011-02-04 20:57:41 +01:00
translate.c arm: basic support for ARMv4/ARMv4T emulation 2011-04-10 00:53:21 +02:00