Subversion Repositories HelenOS-historic

Compare Revisions

Regard whitespace Rev 905 → Rev 906

/kernel/trunk/generic/src/proc/scheduler.c
71,9 → 71,9
#else
fpu_enable();
if (THREAD->fpu_context_exists)
fpu_context_restore(&(THREAD->saved_fpu_context));
fpu_context_restore(THREAD->saved_fpu_context);
else {
fpu_init(&(THREAD->saved_fpu_context));
fpu_init();
THREAD->fpu_context_exists=1;
}
#endif
102,7 → 102,7
/* Save old context */
if (CPU->fpu_owner != NULL) {
spinlock_lock(&CPU->fpu_owner->lock);
fpu_context_save(&CPU->fpu_owner->saved_fpu_context);
fpu_context_save(CPU->fpu_owner->saved_fpu_context);
/* don't prevent migration */
CPU->fpu_owner->fpu_context_engaged=0;
spinlock_unlock(&CPU->fpu_owner->lock);
110,9 → 110,17
 
spinlock_lock(&THREAD->lock);
if (THREAD->fpu_context_exists) {
fpu_context_restore(&THREAD->saved_fpu_context);
fpu_context_restore(THREAD->saved_fpu_context);
} else {
fpu_init(&(THREAD->saved_fpu_context));
/* Allocate FPU context */
if (!THREAD->saved_fpu_context) {
/* Might sleep */
spinlock_unlock(&THREAD->lock);
THREAD->saved_fpu_context = slab_alloc(fpu_context_slab,
0);
spinlock_lock(&THREAD->lock);
}
fpu_init();
THREAD->fpu_context_exists=1;
}
CPU->fpu_owner=THREAD;
275,7 → 283,7
if (THREAD) {
spinlock_lock(&THREAD->lock);
#ifndef CONFIG_FPU_LAZY
fpu_context_save(&(THREAD->saved_fpu_context));
fpu_context_save(THREAD->saved_fpu_context);
#endif
if (!context_save(&THREAD->saved_context)) {
/*