Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/mm/page.c

    r59fb782 r40c8c17  
    5757        uintptr_t cur;
    5858        unsigned int identity_flags =
    59             PAGE_GLOBAL | PAGE_CACHEABLE | PAGE_EXEC | PAGE_WRITE | PAGE_READ;
     59            PAGE_CACHEABLE | PAGE_EXEC | PAGE_GLOBAL | PAGE_WRITE;
    6060               
    6161        page_mapping_operations = &pt_mapping_operations;
     
    7878void page_fault(unsigned int n, istate_t *istate)
    7979{
    80         uintptr_t badvaddr = read_cr2();
     80        uintptr_t page = read_cr2();
    8181       
    8282        if (istate->error_word & PFERR_CODE_RSVD)
     
    9292                access = PF_ACCESS_READ;
    9393       
    94         (void) as_page_fault(badvaddr, access, istate);
     94        if (as_page_fault(page, access, istate) == AS_PF_FAULT) {
     95                fault_if_from_uspace(istate, "Page fault: %p.", (void *) page);
     96                panic_memtrap(istate, access, page, NULL);
     97        }
    9598}
    9699
Note: See TracChangeset for help on using the changeset viewer.