Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus

Pull MIPS fixes from Ralf Baechle:
"The final round of fixes. One corner case in the math emulator and
another one in the mcount function for ftrace"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
MIPS: mcount: Adjust stack pointer for static trace in MIPS32
MIPS: Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems

Changed files
+15 -3
arch
mips
kernel
math-emu
+12
arch/mips/kernel/mcount.S
··· 129 129 nop 130 130 #endif 131 131 b ftrace_stub 132 + #ifdef CONFIG_32BIT 133 + addiu sp, sp, 8 134 + #else 132 135 nop 136 + #endif 133 137 134 138 static_trace: 135 139 MCOUNT_SAVE_REGS ··· 143 139 move a1, AT /* arg2: parent's return address */ 144 140 145 141 MCOUNT_RESTORE_REGS 142 + #ifdef CONFIG_32BIT 143 + addiu sp, sp, 8 144 + #endif 146 145 .globl ftrace_stub 147 146 ftrace_stub: 148 147 RETURN_BACK ··· 190 183 jal prepare_ftrace_return 191 184 nop 192 185 MCOUNT_RESTORE_REGS 186 + #ifndef CONFIG_DYNAMIC_FTRACE 187 + #ifdef CONFIG_32BIT 188 + addiu sp, sp, 8 189 + #endif 190 + #endif 193 191 RETURN_BACK 194 192 END(ftrace_graph_caller) 195 193
+3 -3
arch/mips/math-emu/cp1emu.c
··· 650 650 #define SIFROMREG(si, x) \ 651 651 do { \ 652 652 if (cop1_64bit(xcp)) \ 653 - (si) = get_fpr32(&ctx->fpr[x], 0); \ 653 + (si) = (int)get_fpr32(&ctx->fpr[x], 0); \ 654 654 else \ 655 - (si) = get_fpr32(&ctx->fpr[(x) & ~1], (x) & 1); \ 655 + (si) = (int)get_fpr32(&ctx->fpr[(x) & ~1], (x) & 1); \ 656 656 } while (0) 657 657 658 658 #define SITOREG(si, x) \ ··· 667 667 } \ 668 668 } while (0) 669 669 670 - #define SIFROMHREG(si, x) ((si) = get_fpr32(&ctx->fpr[x], 1)) 670 + #define SIFROMHREG(si, x) ((si) = (int)get_fpr32(&ctx->fpr[x], 1)) 671 671 672 672 #define SITOHREG(si, x) \ 673 673 do { \