Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

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