Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/mm/tlb.c

    r0ff03f3 r7e752b2  
    475475void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate)
    476476{
     477        region_register_t rr;
     478        rid_t rid;
    477479        uintptr_t va;
    478480        pte_t *t;
    479481       
    480482        va = istate->cr_ifa; /* faulting address */
     483        rr.word = rr_read(VA2VRN(va));
     484        rid = rr.map.rid;
    481485       
    482486        page_table_lock(AS, true);
    483         t = page_mapping_find(AS, va, true);
     487        t = page_mapping_find(AS, va);
    484488        if (t) {
    485489                /*
     
    599603       
    600604        page_table_lock(AS, true);
    601         pte_t *entry = page_mapping_find(AS, va, true);
     605        pte_t *entry = page_mapping_find(AS, va);
    602606        if (entry) {
    603607                /*
     
    645649void data_dirty_bit_fault(uint64_t vector, istate_t *istate)
    646650{
     651        region_register_t rr;
     652        rid_t rid;
    647653        uintptr_t va;
    648654        pte_t *t;
    649655       
    650656        va = istate->cr_ifa;  /* faulting address */
     657        rr.word = rr_read(VA2VRN(va));
     658        rid = rr.map.rid;
    651659       
    652660        page_table_lock(AS, true);
    653         t = page_mapping_find(AS, va, true);
     661        t = page_mapping_find(AS, va);
    654662        ASSERT((t) && (t->p));
    655663        if ((t) && (t->p) && (t->w)) {
     
    678686void instruction_access_bit_fault(uint64_t vector, istate_t *istate)
    679687{
     688        region_register_t rr;
     689        rid_t rid;
    680690        uintptr_t va;
    681691        pte_t *t;
    682692       
    683693        va = istate->cr_ifa;  /* faulting address */
     694        rr.word = rr_read(VA2VRN(va));
     695        rid = rr.map.rid;
    684696       
    685697        page_table_lock(AS, true);
    686         t = page_mapping_find(AS, va, true);
     698        t = page_mapping_find(AS, va);
    687699        ASSERT((t) && (t->p));
    688700        if ((t) && (t->p) && (t->x)) {
     
    711723void data_access_bit_fault(uint64_t vector, istate_t *istate)
    712724{
     725        region_register_t rr;
     726        rid_t rid;
    713727        uintptr_t va;
    714728        pte_t *t;
    715729       
    716730        va = istate->cr_ifa;  /* faulting address */
     731        rr.word = rr_read(VA2VRN(va));
     732        rid = rr.map.rid;
    717733       
    718734        page_table_lock(AS, true);
    719         t = page_mapping_find(AS, va, true);
     735        t = page_mapping_find(AS, va);
    720736        ASSERT((t) && (t->p));
    721737        if ((t) && (t->p)) {
     
    744760void data_access_rights_fault(uint64_t vector, istate_t *istate)
    745761{
     762        region_register_t rr;
     763        rid_t rid;
    746764        uintptr_t va;
    747765        pte_t *t;
    748766       
    749767        va = istate->cr_ifa;  /* faulting address */
     768        rr.word = rr_read(VA2VRN(va));
     769        rid = rr.map.rid;
    750770       
    751771        /*
     
    753773         */
    754774        page_table_lock(AS, true);
    755         t = page_mapping_find(AS, va, true);
     775        t = page_mapping_find(AS, va);
    756776        ASSERT((t) && (t->p));
    757777        ASSERT(!t->w);
     
    772792void page_not_present(uint64_t vector, istate_t *istate)
    773793{
     794        region_register_t rr;
     795        rid_t rid;
    774796        uintptr_t va;
    775797        pte_t *t;
    776798       
    777799        va = istate->cr_ifa;  /* faulting address */
     800        rr.word = rr_read(VA2VRN(va));
     801        rid = rr.map.rid;
    778802       
    779803        page_table_lock(AS, true);
    780         t = page_mapping_find(AS, va, true);
     804        t = page_mapping_find(AS, va);
    781805        ASSERT(t);
    782806       
Note: See TracChangeset for help on using the changeset viewer.