Changeset a175a67 in mainline


Ignore:
Timestamp:
2006-06-06T17:10:25Z (18 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
732fd3c
Parents:
afc12d0
Message:

itanium faulting task kill

Location:
arch/ia64
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/include/interrupt.h

    rafc12d0 ra175a67  
    121121static inline int istate_from_uspace(istate_t *istate)
    122122{
    123         panic("TODO: istate_from_uspace not yet implemented");
    124         return 0;
     123        return (istate->cr_iip)<0xe000000000000000ULL;
    125124}
    126125
  • arch/ia64/src/interrupt.c

    rafc12d0 ra175a67  
    225225void universal_handler(__u64 vector, istate_t *istate)
    226226{
     227        fault_if_from_uspace(istate,"Interruption: %#hx (%s)\n",(__u16) vector, vector_to_string(vector));
    227228        dump_interrupted_context(istate);
    228229        panic("Interruption: %#hx (%s)\n", (__u16) vector, vector_to_string(vector));
     
    268269                return;
    269270        }
     271        return;
    270272        panic("not implemented\n");
    271273        /* TODO */
  • arch/ia64/src/mm/tlb.c

    rafc12d0 ra175a67  
    4646#include <print.h>
    4747#include <arch.h>
     48#include <interrupt.h>
    4849
    4950/** Invalidate all TLB entries. */
     
    453454                page_table_unlock(AS, true);
    454455                if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
     456                        fault_if_from_uspace(istate,"Page fault at %P",va);
    455457                        panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
    456458                }
     
    499501                page_table_unlock(AS, true);
    500502                if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
     503                        fault_if_from_uspace(istate,"Page fault at %P",va);
    501504                        panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
    502505                }
     
    544547        } else {
    545548                if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
     549                        fault_if_from_uspace(istate,"Page fault at %P",va);
    546550                        panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
    547551                        t->d = true;
     
    580584        } else {
    581585                if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
     586                        fault_if_from_uspace(istate,"Page fault at %P",va);
    582587                        panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
    583588                        t->a = true;
     
    616621        } else {
    617622                if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
     623                        fault_if_from_uspace(istate,"Page fault at %P",va);
    618624                        panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
    619625                        t->a = true;
     
    657663                page_table_unlock(AS, true);
    658664                if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
     665                        fault_if_from_uspace(istate,"Page fault at %P",va);
    659666                        panic("%s: va=%p, rid=%d\n", __FUNCTION__, va, rid);
    660667                }
Note: See TracChangeset for help on using the changeset viewer.