Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
arch
/
mips
/
kernel
/
mips-r2-to-r6-emul.c
diff --git
a/kernel/arch/mips/kernel/mips-r2-to-r6-emul.c
b/kernel/arch/mips/kernel/mips-r2-to-r6-emul.c
index
1f5aac7
..
af27334
100644
(file)
--- a/
kernel/arch/mips/kernel/mips-r2-to-r6-emul.c
+++ b/
kernel/arch/mips/kernel/mips-r2-to-r6-emul.c
@@
-28,6
+28,7
@@
#include <asm/inst.h>
#include <asm/mips-r2-to-r6-emul.h>
#include <asm/local.h>
#include <asm/inst.h>
#include <asm/mips-r2-to-r6-emul.h>
#include <asm/local.h>
+#include <asm/mipsregs.h>
#include <asm/ptrace.h>
#include <asm/uaccess.h>
#include <asm/ptrace.h>
#include <asm/uaccess.h>
@@
-1163,7
+1164,9
@@
fpu_emul:
regs->regs[31] = r31;
regs->cp0_epc = epc;
if (!used_math()) { /* First time FPU user. */
regs->regs[31] = r31;
regs->cp0_epc = epc;
if (!used_math()) { /* First time FPU user. */
+ preempt_disable();
err = init_fpu();
err = init_fpu();
+ preempt_enable();
set_used_math();
}
lose_fpu(1); /* Save FPU state for the emulator. */
set_used_math();
}
lose_fpu(1); /* Save FPU state for the emulator. */
@@
-1251,10
+1254,10
@@
fpu_emul:
" j 10b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 10b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1326,10
+1329,10
@@
fpu_emul:
" j 10b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 10b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1397,10
+1400,10
@@
fpu_emul:
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1467,10
+1470,10
@@
fpu_emul:
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1582,14
+1585,14
@@
fpu_emul:
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
-
" .word
5b,8b\n"
-
" .word
6b,8b\n"
-
" .word
7b,8b\n"
-
" .word
0b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
+
STR(PTR) "
5b,8b\n"
+
STR(PTR) "
6b,8b\n"
+
STR(PTR) "
7b,8b\n"
+
STR(PTR) "
0b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1701,14
+1704,14
@@
fpu_emul:
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
-
" .word
5b,8b\n"
-
" .word
6b,8b\n"
-
" .word
7b,8b\n"
-
" .word
0b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
+
STR(PTR) "
5b,8b\n"
+
STR(PTR) "
6b,8b\n"
+
STR(PTR) "
7b,8b\n"
+
STR(PTR) "
0b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1820,14
+1823,14
@@
fpu_emul:
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
-
" .word
5b,8b\n"
-
" .word
6b,8b\n"
-
" .word
7b,8b\n"
-
" .word
0b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
+
STR(PTR) "
5b,8b\n"
+
STR(PTR) "
6b,8b\n"
+
STR(PTR) "
7b,8b\n"
+
STR(PTR) "
0b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-1938,14
+1941,14
@@
fpu_emul:
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" j 9b\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
-
" .word
1b,8b\n"
-
" .word
2b,8b\n"
-
" .word
3b,8b\n"
-
" .word
4b,8b\n"
-
" .word
5b,8b\n"
-
" .word
6b,8b\n"
-
" .word
7b,8b\n"
-
" .word
0b,8b\n"
+
STR(PTR) "
1b,8b\n"
+
STR(PTR) "
2b,8b\n"
+
STR(PTR) "
3b,8b\n"
+
STR(PTR) "
4b,8b\n"
+
STR(PTR) "
5b,8b\n"
+
STR(PTR) "
6b,8b\n"
+
STR(PTR) "
7b,8b\n"
+
STR(PTR) "
0b,8b\n"
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
" .previous\n"
" .set pop\n"
: "+&r"(rt), "=&r"(rs),
@@
-2000,7
+2003,7
@@
fpu_emul:
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
-
".word 1b,
3b\n"
+
STR(PTR) " 1b,
3b\n"
".previous\n"
: "=&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV)
".previous\n"
: "=&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV)
@@
-2058,7
+2061,7
@@
fpu_emul:
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
-
".word 1b,
3b\n"
+
STR(PTR) " 1b,
3b\n"
".previous\n"
: "+&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV));
".previous\n"
: "+&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV));
@@
-2119,7
+2122,7
@@
fpu_emul:
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
-
".word 1b,
3b\n"
+
STR(PTR) " 1b,
3b\n"
".previous\n"
: "=&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV)
".previous\n"
: "=&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV)
@@
-2182,7
+2185,7
@@
fpu_emul:
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
"j 2b\n"
".previous\n"
".section __ex_table,\"a\"\n"
-
".word 1b,
3b\n"
+
STR(PTR) " 1b,
3b\n"
".previous\n"
: "+&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV));
".previous\n"
: "+&r"(res), "+&r"(err)
: "r"(vaddr), "i"(SIGSEGV));