URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 541 |
Rev 600 |
Line 56... |
Line 56... |
if (way >= 0) { /* Yes, we did. */
|
if (way >= 0) { /* Yes, we did. */
|
immu_stats.fetch_tlbhit++;
|
immu_stats.fetch_tlbhit++;
|
debug(5, "ITLB hit (virtaddr=%x).\n", virtaddr);
|
debug(5, "ITLB hit (virtaddr=%x).\n", virtaddr);
|
|
|
/* Test for page fault */
|
/* Test for page fault */
|
if (mfspr (SPR_SR) & SPR_SR_SUPV) {
|
if (mfspr (SPR_SR) & SPR_SR_SM) {
|
if (!(mfspr (SPR_ITLBTR_BASE(way) + set) & SPR_ITLBTR_SXE))
|
if (!(mfspr (SPR_ITLBTR_BASE(way) + set) & SPR_ITLBTR_SXE))
|
except_handle(EXCEPT_IPF, virtaddr);
|
except_handle(EXCEPT_IPF, virtaddr);
|
} else {
|
} else {
|
if (!(mfspr (SPR_ITLBTR_BASE(way) + set) & SPR_ITLBTR_UXE))
|
if (!(mfspr (SPR_ITLBTR_BASE(way) + set) & SPR_ITLBTR_UXE))
|
except_handle(EXCEPT_IPF, virtaddr);
|
except_handle(EXCEPT_IPF, virtaddr);
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.