删除LOS_TaskDelete中用于调试的主动异常信息以及修复LOS_DoMremap中调用LOS_ArchMmuMove参数错误问题
This commit is contained in:
parent
538b159ca7
commit
98b1ae1ae6
|
@ -1204,11 +1204,9 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskDelete(UINT32 taskID)
|
||||||
OS_GOTO_ERREND();
|
OS_GOTO_ERREND();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((taskCB->taskStatus & OS_TASK_FLAG_SYSTEM_TASK) ||
|
if (taskCB->taskStatus & (OS_TASK_FLAG_SYSTEM_TASK | OS_TASK_FLAG_NO_DELETE)) {
|
||||||
(taskCB->taskStatus & OS_TASK_FLAG_NO_DELETE)) {
|
|
||||||
SCHEDULER_UNLOCK(intSave);
|
SCHEDULER_UNLOCK(intSave);
|
||||||
OsBackTrace();
|
OsBackTrace();
|
||||||
__asm__ __volatile__("swi 0");
|
|
||||||
return LOS_ERRNO_TSK_OPERATE_SYSTEM_TASK;
|
return LOS_ERRNO_TSK_OPERATE_SYSTEM_TASK;
|
||||||
}
|
}
|
||||||
processCB = OS_PCB_FROM_PID(taskCB->processID);
|
processCB = OS_PCB_FROM_PID(taskCB->processID);
|
||||||
|
|
|
@ -360,7 +360,9 @@ VADDR_T LOS_DoMremap(VADDR_T oldAddress, size_t oldSize, size_t newSize, int fla
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto OUT_MREMAP;
|
goto OUT_MREMAP;
|
||||||
}
|
}
|
||||||
status = LOS_ArchMmuMove(&space->archMmu, oldAddress, newAddr, newSize >> PAGE_SHIFT, regionOld->regionFlags);
|
status = LOS_ArchMmuMove(&space->archMmu, oldAddress, newAddr,
|
||||||
|
((newSize < regionOld->range.size) ? newSize : regionOld->range.size) >> PAGE_SHIFT,
|
||||||
|
regionOld->regionFlags);
|
||||||
if (status) {
|
if (status) {
|
||||||
LOS_RegionFree(space, regionNew);
|
LOS_RegionFree(space, regionNew);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
@ -390,8 +392,8 @@ VADDR_T LOS_DoMremap(VADDR_T oldAddress, size_t oldSize, size_t newSize, int fla
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto OUT_MREMAP;
|
goto OUT_MREMAP;
|
||||||
}
|
}
|
||||||
status = LOS_ArchMmuMove(&space->archMmu, oldAddress, regionNew->range.base, newSize >> PAGE_SHIFT,
|
status = LOS_ArchMmuMove(&space->archMmu, oldAddress, regionNew->range.base,
|
||||||
regionOld->regionFlags);
|
regionOld->range.size >> PAGE_SHIFT, regionOld->regionFlags);
|
||||||
if (status) {
|
if (status) {
|
||||||
LOS_RegionFree(space, regionNew);
|
LOS_RegionFree(space, regionNew);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue