fix: 修复xts权限用例压测异常问题

用例异常时出现Domain fault或者unknown fault,经分析发现是TLB缓存一致性问题,
在缺页异常入口,对上述两种异常类型做异常地址TLB缓存清理即可。

close #I3ZJ1D

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: Ib84e3e87047fcac392b83a4cf6cca0d91754e66f
This commit is contained in:
Haryslee 2021-12-20 11:42:20 +08:00
parent 954e7eb0cf
commit b0d31cb43f
2 changed files with 3 additions and 2 deletions

View File

@ -790,7 +790,7 @@ STATUS_T LOS_ArchMmuDestroy(LosArchMmu *archMmu)
LOS_PhysPageFree(page); LOS_PhysPageFree(page);
} }
OsArmWriteTlbiasid(archMmu->asid); OsArmWriteTlbiasidis(archMmu->asid);
OsFreeAsid(archMmu->asid); OsFreeAsid(archMmu->asid);
#endif #endif
(VOID)LOS_MuxDestroy(&archMmu->mtx); (VOID)LOS_MuxDestroy(&archMmu->mtx);

View File

@ -228,7 +228,8 @@ UINT32 OsArmSharedPageFault(UINT32 excType, ExcContext *frame, UINT32 far, UINT3
break; break;
} }
default: default:
ret = LOS_ERRNO_VM_NOT_FOUND; OsArmWriteTlbimvaais(ROUNDDOWN(far, PAGE_SIZE));
ret = LOS_OK;
break; break;
} }
#if defined(LOSCFG_KERNEL_SMP) && defined(LOSCFG_DEBUG_VERSION) #if defined(LOSCFG_KERNEL_SMP) && defined(LOSCFG_DEBUG_VERSION)