From: Andreas Sandberg Date: Tue, 14 May 2013 13:03:45 +0000 (+0200) Subject: arm: Fix compilation error in m5 utility X-Git-Tag: stable_2013_10_14~118 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e1cbe33c724f46b53ae1d4843883a848d6bb9d20;p=gem5.git 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. --- diff --git a/util/m5/m5op_arm.S b/util/m5/m5op_arm.S index 83bef6a84..115c7a017 100644 --- a/util/m5/m5op_arm.S +++ b/util/m5/m5op_arm.S @@ -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