Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 72 → Rev 73

/SPARTAN/trunk/arch/ia32/src/interrupt.c
85,6 → 85,27
panic("general protection fault\n");
}
 
void nm_fault(__u8 n, __u32 stack[])
{
 
if (((CPU->arch).fpu_owner)!=NULL)
{
fpu_lazy_context_save(&(((CPU->arch).fpu_owner)->saved_fpu_context));
((CPU->arch).fpu_owner)->fpu_context_engaged=0; /* Enables migration */
}
if(THREAD->fpu_context_exists) fpu_lazy_context_restore(&(THREAD->saved_fpu_context));
else {fpu_init();THREAD->fpu_context_exists=1;}
 
(CPU->arch).fpu_owner=THREAD;
 
reset_TS_flag();
// panic("#NM fault\n");
}
 
 
 
void page_fault(__u8 n, __u32 stack[])
{
printf("page fault address: %X\n", cpu_read_cr2());