diff options
author | Steven J. Hill <Steven.Hill@imgtec.com> | 2013-03-25 13:03:41 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2013-05-09 11:55:18 -0400 |
commit | cf6d905828c2c75ebe8c818901e71e09ffe6f629 (patch) | |
tree | d2656af812415c8d0cb63d0fb1ea45c12ec9c1ed /arch/mips/include | |
parent | 8fe4bb98e42945ddf2c0d47cec647ef76909e812 (diff) |
MIPS: microMIPS: Fix macro naming in micro-assembler.
The macros did not properly take into account the ISA that
the kernel was being compiled with. A classic MIPS kernel
will have the standard 'uasm_i_##op' macro functions with
'MM_uasm_i_##op' macro functions for the microMIPS version.
A pure microMIPS kernel will have the standard macros with
'CL_uasm_i_##op' macro functions for the classic version.
Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
Diffstat (limited to 'arch/mips/include')
-rw-r--r-- | arch/mips/include/asm/uasm.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h index f924b87b5308..370d967725c2 100644 --- a/arch/mips/include/asm/uasm.h +++ b/arch/mips/include/asm/uasm.h | |||
@@ -26,15 +26,29 @@ | |||
26 | #define _UASM_ISA_MICROMIPS 1 | 26 | #define _UASM_ISA_MICROMIPS 1 |
27 | 27 | ||
28 | #ifndef UASM_ISA | 28 | #ifndef UASM_ISA |
29 | #ifdef CONFIG_CPU_MICROMIPS | ||
30 | #define UASM_ISA _UASM_ISA_MICROMIPS | ||
31 | #else | ||
29 | #define UASM_ISA _UASM_ISA_CLASSIC | 32 | #define UASM_ISA _UASM_ISA_CLASSIC |
30 | #endif | 33 | #endif |
34 | #endif | ||
31 | 35 | ||
32 | #if (UASM_ISA == _UASM_ISA_CLASSIC) | 36 | #if (UASM_ISA == _UASM_ISA_CLASSIC) |
37 | #ifdef CONFIG_CPU_MICROMIPS | ||
38 | #define ISAOPC(op) CL_uasm_i##op | ||
39 | #define ISAFUNC(x) CL_##x | ||
40 | #else | ||
33 | #define ISAOPC(op) uasm_i##op | 41 | #define ISAOPC(op) uasm_i##op |
34 | #define ISAFUNC(x) x | 42 | #define ISAFUNC(x) x |
43 | #endif | ||
35 | #elif (UASM_ISA == _UASM_ISA_MICROMIPS) | 44 | #elif (UASM_ISA == _UASM_ISA_MICROMIPS) |
45 | #ifdef CONFIG_CPU_MICROMIPS | ||
46 | #define ISAOPC(op) uasm_i##op | ||
47 | #define ISAFUNC(x) x | ||
48 | #else | ||
36 | #define ISAOPC(op) MM_uasm_i##op | 49 | #define ISAOPC(op) MM_uasm_i##op |
37 | #define ISAFUNC(x) MM_##x | 50 | #define ISAFUNC(x) MM_##x |
51 | #endif | ||
38 | #else | 52 | #else |
39 | #error Unsupported micro-assembler ISA!!! | 53 | #error Unsupported micro-assembler ISA!!! |
40 | #endif | 54 | #endif |
@@ -160,9 +174,9 @@ void ISAFUNC(UASM_i_LA_mostly)(u32 **buf, unsigned int rs, long addr); | |||
160 | void ISAFUNC(UASM_i_LA)(u32 **buf, unsigned int rs, long addr); | 174 | void ISAFUNC(UASM_i_LA)(u32 **buf, unsigned int rs, long addr); |
161 | 175 | ||
162 | #define UASM_L_LA(lb) \ | 176 | #define UASM_L_LA(lb) \ |
163 | static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \ | 177 | static inline void __uasminit ISAFUNC(uasm_l##lb)(struct uasm_label **lab, u32 *addr) \ |
164 | { \ | 178 | { \ |
165 | uasm_build_label(lab, addr, label##lb); \ | 179 | ISAFUNC(uasm_build_label)(lab, addr, label##lb); \ |
166 | } | 180 | } |
167 | 181 | ||
168 | /* convenience macros for instructions */ | 182 | /* convenience macros for instructions */ |