Subversion Repositories HelenOS-historic

Rev

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

Rev 1019 Rev 1100
Line 62... Line 62...
62
        printf("----------------EXCEPTION OCCURED----------------\n");
62
        printf("----------------EXCEPTION OCCURED----------------\n");
63
       
63
       
64
    printf("%%eip: %X (%s)\n",istate->eip,symbol);
64
    printf("%%eip: %X (%s)\n",istate->eip,symbol);
65
    printf("ERROR_WORD=%X\n", istate->error_word);
65
    printf("ERROR_WORD=%X\n", istate->error_word);
66
    printf("%%cs=%X,flags=%X\n", istate->cs, istate->eflags);
66
    printf("%%cs=%X,flags=%X\n", istate->cs, istate->eflags);
67
    printf("%%eax=%X, %%ebx=%X, %%ecx=%X, %%edx=%X\n",  istate->eax,istate->ebx,istate->ecx,istate->edx);
67
    printf("%%eax=%X, %%ecx=%X, %%edx=%X, %%esp=%X\n",  istate->eax,istate->ecx,istate->edx,&istate->stack[0]);
-
 
68
#ifdef CONFIG_DEBUG_ALLREGS
68
    printf("%%esi=%X, %%edi=%X, %%ebp=%X, %%esp=%X\n",  istate->esi,istate->edi,istate->ebp,istate->esp);
69
    printf("%%esi=%X, %%edi=%X, %%ebp=%X, %%ebx=%X\n",  istate->esi,istate->edi,istate->ebp,istate->ebx);
-
 
70
#endif
69
    printf("stack: %X, %X, %X, %X\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]);
71
    printf("stack: %X, %X, %X, %X\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]);
70
    printf("       %X, %X, %X, %X\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]);
72
    printf("       %X, %X, %X, %X\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]);
71
}
73
}
72
 
74
 
73
void null_interrupt(int n, istate_t *istate)
75
void null_interrupt(int n, istate_t *istate)
Line 123... Line 125...
123
    }
125
    }
124
}
126
}
125
 
127
 
126
void syscall(int n, istate_t *istate)
128
void syscall(int n, istate_t *istate)
127
{
129
{
128
    interrupts_enable();
-
 
129
    if (istate->esi < SYSCALL_END)
-
 
130
        istate->eax = syscall_table[istate->esi](istate->eax, istate->ebx, istate->ecx, istate->edx);
-
 
131
    else
-
 
132
        panic("Undefined syscall %d", istate->esi);
130
    panic("Obsolete syscall handler.");
133
    interrupts_disable();
-
 
134
}
131
}
135
 
132
 
136
void tlb_shootdown_ipi(int n, istate_t *istate)
133
void tlb_shootdown_ipi(int n, istate_t *istate)
137
{
134
{
138
    trap_virtual_eoi();
135
    trap_virtual_eoi();