Lines Matching refs:fx
50 static inline int fnsave_to_user_sigframe(struct fregs_state __user *fx)
52 return user_insn(fnsave %[fx]; fwait, [fx] "=m" (*fx), "m" (*fx));
55 static inline int fxsave_to_user_sigframe(struct fxregs_state __user *fx)
58 return user_insn(fxsave %[fx], [fx] "=m" (*fx), "m" (*fx));
60 return user_insn(fxsaveq %[fx], [fx] "=m" (*fx), "m" (*fx));
64 static inline void fxrstor(struct fxregs_state *fx)
67 kernel_insn(fxrstor %[fx], "=m" (*fx), [fx] "m" (*fx));
69 kernel_insn(fxrstorq %[fx], "=m" (*fx), [fx] "m" (*fx));
72 static inline int fxrstor_safe(struct fxregs_state *fx)
75 return kernel_insn_err(fxrstor %[fx], "=m" (*fx), [fx] "m" (*fx));
77 return kernel_insn_err(fxrstorq %[fx], "=m" (*fx), [fx] "m" (*fx));
80 static inline int fxrstor_from_user_sigframe(struct fxregs_state __user *fx)
83 return user_insn(fxrstor %[fx], "=m" (*fx), [fx] "m" (*fx));
85 return user_insn(fxrstorq %[fx], "=m" (*fx), [fx] "m" (*fx));
88 static inline void frstor(struct fregs_state *fx)
90 kernel_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
93 static inline int frstor_safe(struct fregs_state *fx)
95 return kernel_insn_err(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
98 static inline int frstor_from_user_sigframe(struct fregs_state __user *fx)
100 return user_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
103 static inline void fxsave(struct fxregs_state *fx)
106 asm volatile( "fxsave %[fx]" : [fx] "=m" (*fx));
108 asm volatile("fxsaveq %[fx]" : [fx] "=m" (*fx));