Back to the same fs0 bug point as before, but environment, disjoint utcb addresses

and passing of utcb address information via the environment are implemented.
This commit is contained in:
Bahadir Balban
2008-02-29 12:33:53 +00:00
parent 617d24b4f0
commit 55117c600b
10 changed files with 65 additions and 47 deletions

View File

@@ -82,22 +82,22 @@ int check_aborts(u32 faulted_pc, u32 fsr, u32 far)
int ret = 0;
if (is_prefetch_abort(fsr)) {
dprintk("Prefetch abort @ ", faulted_pc);
// dprintk("Prefetch abort @ ", faulted_pc);
return 0;
}
switch (fsr & ARM_FSR_MASK) {
/* Aborts that are expected on page faults: */
case DABT_PERM_PAGE:
dprintk("Page permission fault @ ", far);
// dprintk("Page permission fault @ ", far);
ret = 0;
break;
case DABT_XLATE_PAGE:
dprintk("Page translation fault @ ", far);
// dprintk("Page translation fault @ ", far);
ret = 0;
break;
case DABT_XLATE_SECT:
dprintk("Section translation fault @ ", far);
// dprintk("Section translation fault @ ", far);
ret = 0;
break;
@@ -166,7 +166,7 @@ int check_aborts(u32 faulted_pc, u32 fsr, u32 far)
void data_abort_handler(u32 faulted_pc, u32 fsr, u32 far)
{
set_abort_type(fsr, ARM_DABT);
dprintk("Data abort @ PC: ", faulted_pc);
// dprintk("Data abort @ PC: ", faulted_pc);
if (check_aborts(faulted_pc, fsr, far) < 0) {
printascii("This abort can't be handled by any pager.\n");
goto error;