diff options
author | Steven J. Hill <Steven.Hill@imgtec.com> | 2013-03-25 18:03:41 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2013-05-09 17:55:18 +0200 |
commit | cf6d905828c2c75ebe8c818901e71e09ffe6f629 (patch) | |
tree | d2656af812415c8d0cb63d0fb1ea45c12ec9c1ed /arch/mips/mm/uasm-mips.c | |
parent | MIPS: microMIPS: Fix incorrect mask for jump immediate. (diff) | |
download | linux-cf6d905828c2c75ebe8c818901e71e09ffe6f629.tar.xz linux-cf6d905828c2c75ebe8c818901e71e09ffe6f629.zip |
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/mm/uasm-mips.c')
-rw-r--r-- | arch/mips/mm/uasm-mips.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/mips/mm/uasm-mips.c b/arch/mips/mm/uasm-mips.c index e78e74dc3aea..5fcdd8fe3e83 100644 --- a/arch/mips/mm/uasm-mips.c +++ b/arch/mips/mm/uasm-mips.c @@ -20,6 +20,7 @@ #include <asm/inst.h> #include <asm/elf.h> #include <asm/bugs.h> +#define UASM_ISA _UASM_ISA_CLASSIC #include <asm/uasm.h> #define RS_MASK 0x1f @@ -38,6 +39,14 @@ | (e) << RE_SH \ | (f) << FUNC_SH) +/* Define these when we are not the ISA the kernel is being compiled with. */ +#ifdef CONFIG_CPU_MICROMIPS +#define CL_uasm_i_b(buf, off) ISAOPC(_beq)(buf, 0, 0, off) +#define CL_uasm_i_beqz(buf, rs, off) ISAOPC(_beq)(buf, rs, 0, off) +#define CL_uasm_i_beqzl(buf, rs, off) ISAOPC(_beql)(buf, rs, 0, off) +#define CL_uasm_i_bnez(buf, rs, off) ISAOPC(_bne)(buf, rs, 0, off) +#endif + #include "uasm.c" static struct insn insn_table[] __uasminitdata = { |