Subversion Repositories HelenOS-historic

Rev

Rev 1708 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1708 Rev 1735
Line 468... Line 468...
468
        /*
468
        /*
469
         * Forward the page fault to address space page fault handler.
469
         * Forward the page fault to address space page fault handler.
470
         */
470
         */
471
        page_table_unlock(AS, true);
471
        page_table_unlock(AS, true);
472
        if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
472
        if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
473
            fault_if_from_uspace(istate,"Page fault at %P",va);
473
            fault_if_from_uspace(istate,"Page fault at %p",va);
474
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
474
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
475
        }
475
        }
476
    }
476
    }
477
}
477
}
478
 
478
 
Line 515... Line 515...
515
        /*
515
        /*
516
         * Forward the page fault to address space page fault handler.
516
         * Forward the page fault to address space page fault handler.
517
         */
517
         */
518
        page_table_unlock(AS, true);
518
        page_table_unlock(AS, true);
519
        if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
519
        if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
520
            fault_if_from_uspace(istate,"Page fault at %P",va);
520
            fault_if_from_uspace(istate,"Page fault at %p",va);
521
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
521
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
522
        }
522
        }
523
    }
523
    }
524
}
524
}
525
 
525
 
Line 561... Line 561...
561
         */
561
         */
562
        t->d = true;
562
        t->d = true;
563
        dtc_pte_copy(t);
563
        dtc_pte_copy(t);
564
    } else {
564
    } else {
565
        if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
565
        if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) {
566
            fault_if_from_uspace(istate,"Page fault at %P",va);
566
            fault_if_from_uspace(istate,"Page fault at %p",va);
567
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
567
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
568
            t->d = true;
568
            t->d = true;
569
            dtc_pte_copy(t);
569
            dtc_pte_copy(t);
570
        }
570
        }
571
    }
571
    }
Line 598... Line 598...
598
         */
598
         */
599
        t->a = true;
599
        t->a = true;
600
        itc_pte_copy(t);
600
        itc_pte_copy(t);
601
    } else {
601
    } else {
602
        if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
602
        if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) {
603
            fault_if_from_uspace(istate,"Page fault at %P",va);
603
            fault_if_from_uspace(istate,"Page fault at %p",va);
604
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
604
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
605
            t->a = true;
605
            t->a = true;
606
            itc_pte_copy(t);
606
            itc_pte_copy(t);
607
        }
607
        }
608
    }
608
    }
Line 635... Line 635...
635
         */
635
         */
636
        t->a = true;
636
        t->a = true;
637
        dtc_pte_copy(t);
637
        dtc_pte_copy(t);
638
    } else {
638
    } else {
639
        if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
639
        if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
640
            fault_if_from_uspace(istate,"Page fault at %P",va);
640
            fault_if_from_uspace(istate,"Page fault at %p",va);
641
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
641
            panic("%s: va=%p, rid=%d, iip=%p\n", __FUNCTION__, va, rid, istate->cr_iip);
642
            t->a = true;
642
            t->a = true;
643
            itc_pte_copy(t);
643
            itc_pte_copy(t);
644
        }
644
        }
645
    }
645
    }
Line 677... Line 677...
677
            dtc_pte_copy(t);
677
            dtc_pte_copy(t);
678
        page_table_unlock(AS, true);
678
        page_table_unlock(AS, true);
679
    } else {
679
    } else {
680
        page_table_unlock(AS, true);
680
        page_table_unlock(AS, true);
681
        if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
681
        if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) {
682
            fault_if_from_uspace(istate,"Page fault at %P",va);
682
            fault_if_from_uspace(istate,"Page fault at %p",va);
683
            panic("%s: va=%p, rid=%d\n", __FUNCTION__, va, rid);
683
            panic("%s: va=%p, rid=%d\n", __FUNCTION__, va, rid);
684
        }
684
        }
685
    }
685
    }
686
}
686
}
687
 
687