Skip to content

Commit

Permalink
traps: x86_64: make math_state_restore more like i386
Browse files Browse the repository at this point in the history
- rename variable me -> tsk
 - get thread and tsk like i386
 - expand used_math()
 - copy comment

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Alexander van Heukelum authored and Ingo Molnar committed Oct 13, 2008
1 parent 699d293 commit 091d30c
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions arch/x86/kernel/traps_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -604,14 +604,15 @@ asmlinkage void __attribute__((weak)) mce_threshold_interrupt(void)
*/
asmlinkage void math_state_restore(void)
{
struct task_struct *me = current;
struct thread_info *thread = current_thread_info();
struct task_struct *tsk = thread->task;

if (!used_math()) {
if (!tsk_used_math(tsk)) {
local_irq_enable();
/*
* does a slab alloc which can sleep
*/
if (init_fpu(me)) {
if (init_fpu(tsk)) {
/*
* ran out of memory!
*/
Expand All @@ -625,13 +626,13 @@ asmlinkage void math_state_restore(void)
/*
* Paranoid restore. send a SIGSEGV if we fail to restore the state.
*/
if (unlikely(restore_fpu_checking(me))) {
if (unlikely(restore_fpu_checking(tsk))) {
stts();
force_sig(SIGSEGV, me);
force_sig(SIGSEGV, tsk);
return;
}
task_thread_info(me)->status |= TS_USEDFPU;
me->fpu_counter++;
thread->status |= TS_USEDFPU; /* So we fnsave on switch_to() */
tsk->fpu_counter++;
}
EXPORT_SYMBOL_GPL(math_state_restore);

Expand Down

0 comments on commit 091d30c

Please sign in to comment.