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:
LiteOS2021
2021-12-22 20:47:16 +08:00
committed by wcc0
parent 4334b3e18b
commit 04bf3a682f
116 changed files with 942 additions and 1042 deletions

View File

@@ -40,14 +40,6 @@ extern "C" {
#endif /* __cplusplus */
#endif /* __cplusplus */
/* *
* @ingroup los_interrupt
* Configuration item for interrupt with argument
*/
#ifndef OS_HWI_WITH_ARG
#define OS_HWI_WITH_ARG 0
#endif
typedef UINT32 HWI_HANDLE_T;
typedef UINT16 HWI_PRIOR_T;
@@ -56,7 +48,7 @@ typedef UINT16 HWI_MODE_T;
typedef UINT32 HWI_ARG_T;
#if (OS_HWI_WITH_ARG == 1)
#if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1)
typedef VOID (*HWI_PROC_FUNC)(VOID *parm);
#else
typedef VOID (*HWI_PROC_FUNC)(void);
@@ -67,20 +59,20 @@ extern UINT32 __stack_chk_guard;
extern VOID __stack_chk_fail(VOID);
UINT32 HalIsIntActive(VOID);
#define OS_INT_ACTIVE (HalIsIntActive())
UINT32 ArchIsIntActive(VOID);
#define OS_INT_ACTIVE (ArchIsIntActive())
#define OS_INT_INACTIVE (!(OS_INT_ACTIVE))
#define LOS_HwiCreate HalHwiCreate
#define LOS_HwiDelete HalHwiDelete
#define LOS_HwiCreate ArchHwiCreate
#define LOS_HwiDelete ArchHwiDelete
UINT32 HalIntLock(VOID);
#define LOS_IntLock HalIntLock
UINT32 ArchIntLock(VOID);
#define LOS_IntLock ArchIntLock
VOID HalIntRestore(UINT32 intSave);
#define LOS_IntRestore HalIntRestore
VOID ArchIntRestore(UINT32 intSave);
#define LOS_IntRestore ArchIntRestore
UINT32 HalIntUnLock(VOID);
#define LOS_IntUnLock HalIntUnLock
UINT32 ArchIntUnLock(VOID);
#define LOS_IntUnLock ArchIntUnLock
/**
* @ingroup los_interrupt
@@ -105,7 +97,7 @@ UINT32 HalIntUnLock(VOID);
* <ul><li>los_interrupt.h: the header file that contains the API declaration.</li></ul>
* @see None.
*/
extern UINT32 HalHwiDelete(HWI_HANDLE_T hwiNum);
UINT32 ArchHwiDelete(HWI_HANDLE_T hwiNum);
/**
* @ingroup los_interrupt
@@ -137,11 +129,11 @@ extern UINT32 HalHwiDelete(HWI_HANDLE_T hwiNum);
* <ul><li>los_interrupt.h: the header file that contains the API declaration.</li></ul>
* @see None.
*/
extern UINT32 HalHwiCreate(HWI_HANDLE_T hwiNum,
HWI_PRIOR_T hwiPrio,
HWI_MODE_T mode,
HWI_PROC_FUNC handler,
HWI_ARG_T arg);
UINT32 ArchHwiCreate(HWI_HANDLE_T hwiNum,
HWI_PRIOR_T hwiPrio,
HWI_MODE_T mode,
HWI_PROC_FUNC handler,
HWI_ARG_T arg);
#ifdef __cplusplus
#if __cplusplus