diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-08-07 05:28:24 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-08-07 05:28:24 +0300 |
commit | 49d7c6559bf2ab4f1d56be131ab9571a51fc71bd (patch) | |
tree | f8c4fd10754c70192d5f7f0cc0eace4213fe1839 /arch/sparc/include | |
parent | 8664b90baedb0f9aa6bea5bfbdfeae0d5883d28e (diff) | |
parent | 44922150d87cef616fd183220d43d8fde4d41390 (diff) | |
download | linux-49d7c6559bf2ab4f1d56be131ab9571a51fc71bd.tar.xz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Pull sparc fix from David Miller:
"FPU register corruption bug fix"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
sparc64: Fix userspace FPU register corruptions.
Diffstat (limited to 'arch/sparc/include')
-rw-r--r-- | arch/sparc/include/asm/visasm.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/arch/sparc/include/asm/visasm.h b/arch/sparc/include/asm/visasm.h index 1f0aa2024e94..6424249d5f78 100644 --- a/arch/sparc/include/asm/visasm.h +++ b/arch/sparc/include/asm/visasm.h @@ -28,16 +28,10 @@ * Must preserve %o5 between VISEntryHalf and VISExitHalf */ #define VISEntryHalf \ - rd %fprs, %o5; \ - andcc %o5, FPRS_FEF, %g0; \ - be,pt %icc, 297f; \ - sethi %hi(298f), %g7; \ - sethi %hi(VISenterhalf), %g1; \ - jmpl %g1 + %lo(VISenterhalf), %g0; \ - or %g7, %lo(298f), %g7; \ - clr %o5; \ -297: wr %o5, FPRS_FEF, %fprs; \ -298: + VISEntry + +#define VISExitHalf \ + VISExit #define VISEntryHalfFast(fail_label) \ rd %fprs, %o5; \ @@ -47,7 +41,7 @@ ba,a,pt %xcc, fail_label; \ 297: wr %o5, FPRS_FEF, %fprs; -#define VISExitHalf \ +#define VISExitHalfFast \ wr %o5, 0, %fprs; #ifndef __ASSEMBLY__ |