feat: synchronizing arch api
命名规范:修改少量Arch接口,命名规范化调整: 1.修改arch/include下接口声明,所有arch对外提供调用函数均以ArchXX命名 2.提取多个架构均有实现的公共函数声明至arch/include对应头文件中以供外部调用,并修改命名格式为ArchXX 3.修改OS_HWI_WITH_ARG为LOSCFG_PLATFORM_HWI_WITH_ARG并移至los_config.h中 4.typedef VOID (*OS_TICK_HANDLER)(VOID);暂时移至arch/include/los_timer.h中 5.实现atomic原子操作相关接口,位于arch/include/los_atomic.h,arm架构部分与汇编指令相关原子操作接口使用ARCH_ARM宏进行控制是否编译 BREAKING CHANGE: 1.修改arch/include下接口,以ArchXX命名函数 2.提取公共函数声明:ArchAtomicXchg32bits、ArchAtomicDecRet、ArchAtomicCmpXchg32bits 3.新增部分原子操作c内联实现 Close #I4N7XV Signed-off-by: LiteOS2021 <dinglu@huawei.com>
This commit is contained in:
@@ -84,7 +84,7 @@
|
||||
LITE_OS_SEC_TEXT_INIT VOID LOS_Reboot(VOID)
|
||||
{
|
||||
OsDoExcHook(EXC_REBOOT);
|
||||
HalSysExit();
|
||||
ArchSysExit();
|
||||
}
|
||||
|
||||
LITE_OS_SEC_TEXT_INIT VOID LOS_Panic(const CHAR *fmt, ...)
|
||||
@@ -96,7 +96,7 @@ LITE_OS_SEC_TEXT_INIT VOID LOS_Panic(const CHAR *fmt, ...)
|
||||
#if (LOSCFG_BACKTRACE_TYPE != 0)
|
||||
LOS_BackTrace();
|
||||
#endif
|
||||
HalSysExit();
|
||||
ArchSysExit();
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ LITE_OS_SEC_TEXT_INIT static VOID OsRegister(VOID)
|
||||
|
||||
LITE_OS_SEC_TEXT_INIT UINT32 LOS_Start(VOID)
|
||||
{
|
||||
return HalStartSchedule();
|
||||
return ArchStartSchedule();
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -146,7 +146,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_KernelInit(VOID)
|
||||
return ret;
|
||||
}
|
||||
|
||||
HalArchInit();
|
||||
ArchInit();
|
||||
|
||||
ret = OsTaskInit();
|
||||
if (ret != LOS_OK) {
|
||||
|
||||
@@ -97,7 +97,7 @@ VOID OsSchedUpdateSchedTimeBase(VOID)
|
||||
{
|
||||
UINT32 period = 0;
|
||||
|
||||
(VOID)HalGetTickCycle(&period);
|
||||
(VOID)ArchGetTickCycle(&period);
|
||||
g_schedTimerBase += period;
|
||||
}
|
||||
|
||||
@@ -113,12 +113,12 @@ VOID OsSchedTimerBaseReset(UINT64 currTime)
|
||||
UINT64 OsGetCurrSysTimeCycle(VOID)
|
||||
{
|
||||
#if (LOSCFG_BASE_CORE_TICK_WTIMER == 1)
|
||||
return HalGetTickCycle(NULL);
|
||||
return ArchGetTickCycle(NULL);
|
||||
#else
|
||||
STATIC UINT64 oldSchedTime = 0;
|
||||
UINT32 period = 0;
|
||||
UINT32 intSave = LOS_IntLock();
|
||||
UINT64 time = HalGetTickCycle(&period);
|
||||
UINT64 time = ArchGetTickCycle(&period);
|
||||
UINT64 schedTime = g_schedTimerBase + time;
|
||||
if (schedTime < oldSchedTime) {
|
||||
/* Turn the timer count */
|
||||
@@ -184,7 +184,7 @@ STATIC INLINE VOID OsSchedTickReload(UINT64 nextResponseTime, UINT32 responseID,
|
||||
g_schedResponseID = OS_INVALID;
|
||||
}
|
||||
g_schedResponseTime = nextExpireTime;
|
||||
HalSysTickReload(nextResponseTime);
|
||||
ArchSysTickReload(nextResponseTime);
|
||||
}
|
||||
|
||||
STATIC INLINE VOID OsSchedSetNextExpireTime(UINT64 startTime, UINT32 responseID, UINT64 taskEndTime, BOOL timeUpdate)
|
||||
@@ -663,7 +663,7 @@ VOID LOS_SchedTickHandler(VOID)
|
||||
|
||||
g_schedResponseTime = OS_SCHED_MAX_RESPONSE_TIME;
|
||||
if (LOS_CHECK_SCHEDULE) {
|
||||
HalTaskSchedule();
|
||||
ArchTaskSchedule();
|
||||
} else {
|
||||
OsSchedUpdateExpireTime(g_losTask.runTask->startTime, TRUE);
|
||||
}
|
||||
@@ -674,7 +674,7 @@ VOID LOS_SchedTickHandler(VOID)
|
||||
VOID LOS_Schedule(VOID)
|
||||
{
|
||||
if (g_taskScheduled && LOS_CHECK_SCHEDULE) {
|
||||
HalTaskSchedule();
|
||||
ArchTaskSchedule();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ LITE_OS_SEC_TEXT VOID OsIdleTask(VOID)
|
||||
if (PmEnter != NULL) {
|
||||
PmEnter();
|
||||
} else {
|
||||
(VOID)HalEnterSleep();
|
||||
(VOID)ArchEnterSleep();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -527,7 +527,7 @@ LITE_OS_SEC_TEXT STATIC VOID OsTaskStackProtect(VOID)
|
||||
STATIC INT32 id = -1;
|
||||
|
||||
if (id == -1) {
|
||||
id = HalMpuUnusedRegionGet();
|
||||
id = ArchMpuUnusedRegionGet();
|
||||
if (id < 0) {
|
||||
PRINT_ERR("%s %d, get unused id failed!\n", __FUNCTION__, __LINE__);
|
||||
return;
|
||||
@@ -541,10 +541,10 @@ LITE_OS_SEC_TEXT STATIC VOID OsTaskStackProtect(VOID)
|
||||
mpuAttr.shareability = MPU_NO_SHARE;
|
||||
mpuAttr.permission = MPU_RO_BY_PRIVILEGED_ONLY;
|
||||
|
||||
HalMpuDisable();
|
||||
(VOID)HalMpuDisableRegion(id);
|
||||
(VOID)HalMpuSetRegion(id, &mpuAttr);
|
||||
HalMpuEnable(1);
|
||||
ArchMpuDisable();
|
||||
(VOID)ArchMpuDisableRegion(id);
|
||||
(VOID)ArchMpuSetRegion(id, &mpuAttr);
|
||||
ArchMpuEnable(1);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@@ -683,7 +683,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsNewTaskInit(LosTaskCB *taskCB, TSK_INIT_PARAM_S *
|
||||
taskCB->eventMask = 0;
|
||||
taskCB->taskName = taskInitParam->pcName;
|
||||
taskCB->msg = NULL;
|
||||
taskCB->stackPointer = HalTskStackInit(taskCB->taskID, taskInitParam->uwStackSize, topOfStack);
|
||||
taskCB->stackPointer = ArchTskStackInit(taskCB->taskID, taskInitParam->uwStackSize, topOfStack);
|
||||
SET_SORTLIST_VALUE(&taskCB->sortList, OS_SORT_LINK_INVALID_TIME);
|
||||
LOS_EventInit(&(taskCB->event));
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ STATIC INLINE UINT32 OsMemBoxCheckMagic(LOS_MEMBOX_NODE *node)
|
||||
((VOID *)((UINT8 *)(addr) + OS_MEMBOX_NODE_HEAD_SIZE))
|
||||
#define OS_MEMBOX_NODE_ADDR(addr) \
|
||||
((LOS_MEMBOX_NODE *)(VOID *)((UINT8 *)(addr) - OS_MEMBOX_NODE_HEAD_SIZE))
|
||||
#define MEMBOX_LOCK(state) ((state) = HalIntLock())
|
||||
#define MEMBOX_UNLOCK(state) HalIntRestore(state)
|
||||
#define MEMBOX_LOCK(state) ((state) = ArchIntLock())
|
||||
#define MEMBOX_UNLOCK(state) ArchIntRestore(state)
|
||||
|
||||
STATIC INLINE UINT32 OsCheckBoxMem(const LOS_MEMBOX_INFO *boxInfo, const VOID *node)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user