changeset 13a4419f09c5 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=13a4419f09c5
description:
arm: Fix compilation error in m5 utility
Changeset 5ca6098b9560 accidentally broke the m5 utility. This
changeset adds the missing co-processor call used to trigger the
pseudo-op in ARM mode and fixes an alignment issue that caused some
pseudo-ops to leave thumb mode.
diffstat:
util/m5/m5op_arm.S | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diffs (34 lines):
diff -r eb075b2b925a -r 13a4419f09c5 util/m5/m5op_arm.S
--- a/util/m5/m5op_arm.S Tue May 07 14:47:04 2013 +0200
+++ b/util/m5/m5op_arm.S Tue May 14 15:03:45 2013 +0200
@@ -52,6 +52,7 @@
.text
.macro simple_op name, func, subfunc
+ .align 2
.globl \name
\name:
/* First, try to trap into m5 using the m5-kvm hypercall
@@ -59,7 +60,11 @@
* if it is executed in the normal m5 environment.
*/
push {lr}
- ldr lr, =1f
+#ifdef __thumb__
+ adr lr, 1f+1
+#else
+ adr lr, 1f
+#endif
ldr ip, =((((\func) & 0xFF) << 8) | ((\subfunc) & 0xFF))
bxj lr
pop {pc}
@@ -70,8 +75,7 @@
.short 0xEE00 | \func
.short 0x0110 | (\subfunc << 12)
#else
-#define INST(op, ra, rb, func) \
- .long (0xEE000110 | (\func << 16) | (\subfunc << 12)
+ .long (0xEE000110 | (\func << 16) | (\subfunc << 12))
#endif
pop {pc}
.endm
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev