Changes in kernel/arch/ia64/src/mm/tlb.c [0ff03f3:7e752b2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/mm/tlb.c
r0ff03f3 r7e752b2 475 475 void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate) 476 476 { 477 region_register_t rr; 478 rid_t rid; 477 479 uintptr_t va; 478 480 pte_t *t; 479 481 480 482 va = istate->cr_ifa; /* faulting address */ 483 rr.word = rr_read(VA2VRN(va)); 484 rid = rr.map.rid; 481 485 482 486 page_table_lock(AS, true); 483 t = page_mapping_find(AS, va , true);487 t = page_mapping_find(AS, va); 484 488 if (t) { 485 489 /* … … 599 603 600 604 page_table_lock(AS, true); 601 pte_t *entry = page_mapping_find(AS, va , true);605 pte_t *entry = page_mapping_find(AS, va); 602 606 if (entry) { 603 607 /* … … 645 649 void data_dirty_bit_fault(uint64_t vector, istate_t *istate) 646 650 { 651 region_register_t rr; 652 rid_t rid; 647 653 uintptr_t va; 648 654 pte_t *t; 649 655 650 656 va = istate->cr_ifa; /* faulting address */ 657 rr.word = rr_read(VA2VRN(va)); 658 rid = rr.map.rid; 651 659 652 660 page_table_lock(AS, true); 653 t = page_mapping_find(AS, va , true);661 t = page_mapping_find(AS, va); 654 662 ASSERT((t) && (t->p)); 655 663 if ((t) && (t->p) && (t->w)) { … … 678 686 void instruction_access_bit_fault(uint64_t vector, istate_t *istate) 679 687 { 688 region_register_t rr; 689 rid_t rid; 680 690 uintptr_t va; 681 691 pte_t *t; 682 692 683 693 va = istate->cr_ifa; /* faulting address */ 694 rr.word = rr_read(VA2VRN(va)); 695 rid = rr.map.rid; 684 696 685 697 page_table_lock(AS, true); 686 t = page_mapping_find(AS, va , true);698 t = page_mapping_find(AS, va); 687 699 ASSERT((t) && (t->p)); 688 700 if ((t) && (t->p) && (t->x)) { … … 711 723 void data_access_bit_fault(uint64_t vector, istate_t *istate) 712 724 { 725 region_register_t rr; 726 rid_t rid; 713 727 uintptr_t va; 714 728 pte_t *t; 715 729 716 730 va = istate->cr_ifa; /* faulting address */ 731 rr.word = rr_read(VA2VRN(va)); 732 rid = rr.map.rid; 717 733 718 734 page_table_lock(AS, true); 719 t = page_mapping_find(AS, va , true);735 t = page_mapping_find(AS, va); 720 736 ASSERT((t) && (t->p)); 721 737 if ((t) && (t->p)) { … … 744 760 void data_access_rights_fault(uint64_t vector, istate_t *istate) 745 761 { 762 region_register_t rr; 763 rid_t rid; 746 764 uintptr_t va; 747 765 pte_t *t; 748 766 749 767 va = istate->cr_ifa; /* faulting address */ 768 rr.word = rr_read(VA2VRN(va)); 769 rid = rr.map.rid; 750 770 751 771 /* … … 753 773 */ 754 774 page_table_lock(AS, true); 755 t = page_mapping_find(AS, va , true);775 t = page_mapping_find(AS, va); 756 776 ASSERT((t) && (t->p)); 757 777 ASSERT(!t->w); … … 772 792 void page_not_present(uint64_t vector, istate_t *istate) 773 793 { 794 region_register_t rr; 795 rid_t rid; 774 796 uintptr_t va; 775 797 pte_t *t; 776 798 777 799 va = istate->cr_ifa; /* faulting address */ 800 rr.word = rr_read(VA2VRN(va)); 801 rid = rr.map.rid; 778 802 779 803 page_table_lock(AS, true); 780 t = page_mapping_find(AS, va , true);804 t = page_mapping_find(AS, va); 781 805 ASSERT(t); 782 806
Note:
See TracChangeset
for help on using the changeset viewer.