423,7 → 423,6 |
pte_t *t; |
|
va = istate->cr_ifa; /* faulting address */ |
page_table_lock(AS, true); |
t = page_mapping_find(AS, va); |
if (t) { |
/* |
431,14 → 430,11 |
* Insert it into data translation cache. |
*/ |
itc_pte_copy(t); |
page_table_unlock(AS, true); |
} else { |
/* |
* Forward the page fault to address space page fault handler. |
*/ |
page_table_unlock(AS, true); |
if (!as_page_fault(va)) { |
page_table_unlock(AS, true); |
panic("%s: va=%P, rid=%d\n", __FUNCTION__, istate->cr_ifa, rr.map.rid); |
} |
} |
470,7 → 466,6 |
} |
} |
|
page_table_lock(AS, true); |
t = page_mapping_find(AS, va); |
if (t) { |
/* |
478,12 → 473,10 |
* Insert it into data translation cache. |
*/ |
dtc_pte_copy(t); |
page_table_unlock(AS, true); |
} else { |
/* |
* Forward the page fault to address space page fault handler. |
*/ |
page_table_unlock(AS, true); |
if (!as_page_fault(va)) { |
panic("%s: va=%P, rid=%d, iip=%P\n", __FUNCTION__, va, rid, istate->cr_iip); |
} |
511,7 → 504,6 |
{ |
pte_t *t; |
|
page_table_lock(AS, true); |
t = page_mapping_find(AS, istate->cr_ifa); |
ASSERT(t && t->p); |
if (t && t->p) { |
522,7 → 514,6 |
t->d = true; |
dtc_pte_copy(t); |
} |
page_table_unlock(AS, true); |
} |
|
/** Instruction access bit fault handler. |
534,7 → 525,6 |
{ |
pte_t *t; |
|
page_table_lock(AS, true); |
t = page_mapping_find(AS, istate->cr_ifa); |
ASSERT(t && t->p); |
if (t && t->p) { |
545,7 → 535,6 |
t->a = true; |
itc_pte_copy(t); |
} |
page_table_unlock(AS, true); |
} |
|
/** Data access bit fault handler. |
557,7 → 546,6 |
{ |
pte_t *t; |
|
page_table_lock(AS, true); |
t = page_mapping_find(AS, istate->cr_ifa); |
ASSERT(t && t->p); |
if (t && t->p) { |
568,7 → 556,6 |
t->a = true; |
dtc_pte_copy(t); |
} |
page_table_unlock(AS, true); |
} |
|
/** Page not present fault handler. |
583,7 → 570,6 |
pte_t *t; |
|
va = istate->cr_ifa; /* faulting address */ |
page_table_lock(AS, true); |
t = page_mapping_find(AS, va); |
ASSERT(t); |
|
596,9 → 582,7 |
itc_pte_copy(t); |
else |
dtc_pte_copy(t); |
page_table_unlock(AS, true); |
} else { |
page_table_unlock(AS, true); |
if (!as_page_fault(va)) { |
panic("%s: va=%P, rid=%d\n", __FUNCTION__, va, rr.map.rid); |
} |