Ignore:
File:
1 edited

Legend:

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

    rc15b374 rf72c2f5  
    475475void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate)
    476476{
    477         region_register_t rr;
    478         rid_t rid;
    479477        uintptr_t va;
    480478        pte_t *t;
    481479       
    482480        va = istate->cr_ifa; /* faulting address */
    483         rr.word = rr_read(VA2VRN(va));
    484         rid = rr.map.rid;
    485481       
    486482        page_table_lock(AS, true);
     
    499495                page_table_unlock(AS, true);
    500496                if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
    501                         fault_if_from_uspace(istate, "Page fault at %p.", va);
     497                        fault_if_from_uspace(istate, "Page fault at %p.",
     498                            (void *) va);
    502499                        panic_memtrap(istate, PF_ACCESS_EXEC, va, NULL);
    503500                }
     
    556553                        } else {
    557554                                fault_if_from_uspace(istate,
    558                                     "IO access fault at %p.", va);
     555                                    "IO access fault at %p.", (void *) va);
    559556                        }
    560557                }
     
    620617                 */
    621618                if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
    622                         fault_if_from_uspace(istate, "Page fault at %p.", va);
     619                        fault_if_from_uspace(istate, "Page fault at %p.",
     620                            (void *) va);
    623621                        panic_memtrap(istate, PF_ACCESS_UNKNOWN, va, NULL);
    624622                }
     
    647645void data_dirty_bit_fault(uint64_t vector, istate_t *istate)
    648646{
    649         region_register_t rr;
    650         rid_t rid;
    651647        uintptr_t va;
    652648        pte_t *t;
    653649       
    654650        va = istate->cr_ifa;  /* faulting address */
    655         rr.word = rr_read(VA2VRN(va));
    656         rid = rr.map.rid;
    657651       
    658652        page_table_lock(AS, true);
     
    668662        } else {
    669663                if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
    670                         fault_if_from_uspace(istate, "Page fault at %p.", va);
     664                        fault_if_from_uspace(istate, "Page fault at %p.",
     665                            (void *) va);
    671666                        panic_memtrap(istate, PF_ACCESS_WRITE, va, NULL);
    672667                }
     
    683678void instruction_access_bit_fault(uint64_t vector, istate_t *istate)
    684679{
    685         region_register_t rr;
    686         rid_t rid;
    687680        uintptr_t va;
    688681        pte_t *t;
    689682       
    690683        va = istate->cr_ifa;  /* faulting address */
    691         rr.word = rr_read(VA2VRN(va));
    692         rid = rr.map.rid;
    693684       
    694685        page_table_lock(AS, true);
     
    704695        } else {
    705696                if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
    706                         fault_if_from_uspace(istate, "Page fault at %p.", va);
     697                        fault_if_from_uspace(istate, "Page fault at %p.",
     698                            (void *) va);
    707699                        panic_memtrap(istate, PF_ACCESS_EXEC, va, NULL);
    708700                }
     
    719711void data_access_bit_fault(uint64_t vector, istate_t *istate)
    720712{
    721         region_register_t rr;
    722         rid_t rid;
    723713        uintptr_t va;
    724714        pte_t *t;
    725715       
    726716        va = istate->cr_ifa;  /* faulting address */
    727         rr.word = rr_read(VA2VRN(va));
    728         rid = rr.map.rid;
    729717       
    730718        page_table_lock(AS, true);
     
    740728        } else {
    741729                if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
    742                         fault_if_from_uspace(istate, "Page fault at %p.", va);
     730                        fault_if_from_uspace(istate, "Page fault at %p.",
     731                            (void *) va);
    743732                        panic_memtrap(istate, PF_ACCESS_UNKNOWN, va, NULL);
    744733                }
     
    755744void data_access_rights_fault(uint64_t vector, istate_t *istate)
    756745{
    757         region_register_t rr;
    758         rid_t rid;
    759746        uintptr_t va;
    760747        pte_t *t;
    761748       
    762749        va = istate->cr_ifa;  /* faulting address */
    763         rr.word = rr_read(VA2VRN(va));
    764         rid = rr.map.rid;
    765750       
    766751        /*
     
    772757        ASSERT(!t->w);
    773758        if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
    774                 fault_if_from_uspace(istate, "Page fault at %p.", va);
     759                fault_if_from_uspace(istate, "Page fault at %p.",
     760                    (void *) va);
    775761                panic_memtrap(istate, PF_ACCESS_WRITE, va, NULL);
    776762        }
     
    786772void page_not_present(uint64_t vector, istate_t *istate)
    787773{
    788         region_register_t rr;
    789         rid_t rid;
    790774        uintptr_t va;
    791775        pte_t *t;
    792776       
    793777        va = istate->cr_ifa;  /* faulting address */
    794         rr.word = rr_read(VA2VRN(va));
    795         rid = rr.map.rid;
    796778       
    797779        page_table_lock(AS, true);
     
    812794                page_table_unlock(AS, true);
    813795                if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
    814                         fault_if_from_uspace(istate, "Page fault at %p.", va);
     796                        fault_if_from_uspace(istate, "Page fault at %p.",
     797                            (void *) va);
    815798                        panic_memtrap(istate, PF_ACCESS_UNKNOWN, va, NULL);
    816799                }
Note: See TracChangeset for help on using the changeset viewer.