On Date: Fri, 22 Jul 2005 at 16:19:25 -0700 (PDT), Linus Torvalds wrote: > /* > * The "nop" is needed to make the instructions the same > * length. > */ > #define restore_fpu(tsk) \ > alternative_input( \ > "nop ; frstor %1", \ > "fxrstor %1", \ > X86_FEATURE_FXSR, \ > "m" ((tsk)->thread.i387.fsave))
Probably a very minor point, but shouldn't it be "m" ((tsk)->thread.i387.fxsave)) because that's the largest possible operand that could end up being read? > Now, we should do the same for "fnsave ; fwait" vs "fxsave ; fnclex" too, > but I was lazy. If somebody wants to try that, it would need an > "alternative_output()" define but should otherwise be trivial too. Is that function called __save_init_fpu because it saves and then initializes the fpu? Unlike fsave, fxsave does not init the fpu after it saves the state; to make the behavior match it should be "fxsave ; fninit" __ Chuck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/