Subversion Repositories HelenOS

Rev

Rev 281 | Rev 391 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 281 Rev 309
Line 107... Line 107...
107
}
107
}
108
 
108
 
109
 
109
 
110
void nm_fault(__u8 n, __native stack[])
110
void nm_fault(__u8 n, __native stack[])
111
{
111
{
112
    reset_TS_flag();
-
 
113
    if (CPU->fpu_owner != NULL) {  
112
#ifdef FPU_LAZY     
114
        fpu_lazy_context_save(&((CPU->fpu_owner)->saved_fpu_context));
-
 
115
        CPU->fpu_owner->fpu_context_engaged=0; /* don't prevent migration */
-
 
116
    }
-
 
117
    if (THREAD->fpu_context_exists)
113
    scheduler_fpu_lazy_request();
118
        fpu_lazy_context_restore(&(THREAD->saved_fpu_context));
-
 
119
    else {
114
#else
120
        fpu_init();
115
    panic("fpu fault");
121
        THREAD->fpu_context_exists=1;
-
 
122
    }
116
#endif
123
    CPU->fpu_owner=THREAD;
-
 
124
}
117
}
125
 
118
 
126
 
119
 
127
 
120
 
128
void page_fault(__u8 n, __native stack[])
121
void page_fault(__u8 n, __native stack[])