Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1620 → Rev 1621

/kernel/trunk/arch/ia64/include/interrupt.h
120,8 → 120,7
#include <panic.h>
static inline int istate_from_uspace(istate_t *istate)
{
panic("TODO: istate_from_uspace not yet implemented");
return 0;
return (istate->cr_iip)<0xe000000000000000ULL;
}
 
extern void *ivt;
/kernel/trunk/arch/ia64/src/mm/tlb.c
45,6 → 45,7
#include <panic.h>
#include <print.h>
#include <arch.h>
#include <interrupt.h>
 
/** Invalidate all TLB entries. */
void tlb_invalidate_all(void)
452,6 → 453,7
*/
page_table_unlock(AS, true);
if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
fault_if_from_uspace(istate,"Page fault at %P",va);
panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
}
}
498,6 → 500,7
*/
page_table_unlock(AS, true);
if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
fault_if_from_uspace(istate,"Page fault at %P",va);
panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
}
}
543,6 → 546,7
dtc_pte_copy(t);
} else {
if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
fault_if_from_uspace(istate,"Page fault at %P",va);
panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
t->d = true;
dtc_pte_copy(t);
579,6 → 583,7
itc_pte_copy(t);
} else {
if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
fault_if_from_uspace(istate,"Page fault at %P",va);
panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
t->a = true;
itc_pte_copy(t);
615,6 → 620,7
dtc_pte_copy(t);
} else {
if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
fault_if_from_uspace(istate,"Page fault at %P",va);
panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
t->a = true;
itc_pte_copy(t);
656,6 → 662,7
} else {
page_table_unlock(AS, true);
if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
fault_if_from_uspace(istate,"Page fault at %P",va);
panic("%s: va=%p, rid=%d\n", __FUNCTION__, va, rid);
}
}
/kernel/trunk/arch/ia64/src/interrupt.c
224,6 → 224,7
 
void universal_handler(__u64 vector, istate_t *istate)
{
fault_if_from_uspace(istate,"Interruption: %#hx (%s)\n",(__u16) vector, vector_to_string(vector));
dump_interrupted_context(istate);
panic("Interruption: %#hx (%s)\n", (__u16) vector, vector_to_string(vector));
}
267,6 → 268,7
kbd_uspace=1;
return;
}
return;
panic("not implemented\n");
/* TODO */
}