summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/fpu/internal.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/x86/include/asm/fpu/internal.h b/arch/x86/include/asm/fpu/internal.h
index d142ecb..5370500 100644
--- a/arch/x86/include/asm/fpu/internal.h
+++ b/arch/x86/include/asm/fpu/internal.h
@@ -220,13 +220,13 @@ static inline void copy_fxregs_to_kernel(struct fpu *fpu)
\
".section .fixup,\"ax\"\n" \
\
- "3: movl $-1,%[err]\n" \
+ "3: movl $-2,%[_err]\n" \
" jmp 2b\n" \
\
".previous\n" \
\
_ASM_EXTABLE(1b, 3b) \
- : [err] "=r" (__err)
+ : [_err] "=r" (__err)
/*
* This function is called only during boot time when x86 caps are not set
@@ -245,14 +245,14 @@ static inline int copy_xregs_to_kernel_booting(struct xregs_state *xstate)
asm volatile("1:"XSAVES"\n\t"
"2:\n\t"
xstate_fault(err)
- : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask)
- : "memory");
+ : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask), "0" (err)
+ : "memory");
else
asm volatile("1:"XSAVE"\n\t"
"2:\n\t"
xstate_fault(err)
- : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask)
- : "memory");
+ : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask), "0" (err)
+ : "memory");
return err;
}
@@ -272,14 +272,14 @@ static inline int copy_kernel_to_xregs_booting(struct xregs_state *xstate, u64 m
asm volatile("1:"XRSTORS"\n\t"
"2:\n\t"
xstate_fault(err)
- : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask)
- : "memory");
+ : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask), "0" (err)
+ : "memory");
else
asm volatile("1:"XRSTOR"\n\t"
"2:\n\t"
xstate_fault(err)
- : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask)
- : "memory");
+ : "D" (xstate), "m" (*xstate), "a" (lmask), "d" (hmask), "0" (err)
+ : "memory");
return err;
}
OpenPOWER on IntegriCloud