aboutsummaryrefslogtreecommitdiff
path: root/sim/arm/armemu.h
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-07-04 06:35:36 +0000
committerAlexandre Oliva <aoliva@redhat.com>2000-07-04 06:35:36 +0000
commit892c6b9d8fca691330232aaea9c0aaaff880feb1 (patch)
tree55ad5d35c9581a69e5f64e927b43676ad6f798a1 /sim/arm/armemu.h
parentcf52c765b09c13868d5cc5a8eb0297854be660d5 (diff)
downloadgdb-892c6b9d8fca691330232aaea9c0aaaff880feb1.zip
gdb-892c6b9d8fca691330232aaea9c0aaaff880feb1.tar.gz
gdb-892c6b9d8fca691330232aaea9c0aaaff880feb1.tar.bz2
* armemu.h (WRITEDESTB): New macro.
* armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to modify PC. Moved the existing logic... (WriteR15Branch): ... here. New function. (WriteR15, WriteSR15): Drop the two least significant bits. (LoadSMult): Use WriteR15Branch() to modify PC. (LoadMult): Use WRITEDESTB() instead of WRITEDEST().
Diffstat (limited to 'sim/arm/armemu.h')
-rw-r--r--sim/arm/armemu.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sim/arm/armemu.h b/sim/arm/armemu.h
index da7fb2b..ad89294 100644
--- a/sim/arm/armemu.h
+++ b/sim/arm/armemu.h
@@ -332,6 +332,11 @@ extern ARMword isize;
ARMul_NegZero(state, d) ; \
}
+#define WRITEDESTB(d) if (DESTReg == 15) \
+ WriteR15Branch(state, d) ; \
+ else \
+ DEST = d
+
#define BYTETOBUS(data) ((data & 0xff) | \
((data & 0xff) << 8) | \
((data & 0xff) << 16) | \