JerryH
|
8d7468b44c
|
feature: Support kernel signal and POSIX API.
内核支持信号功能,支持注册、屏蔽、等待及触发等操作。
close #I4R72Q
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I26fb11a03d1899c6f7e665f0798824c578d592a6
|
2022-01-20 11:17:40 +08:00 |
yinjiaming
|
194ac5898d
|
fix: 当前仓代码编译告警的问题
【背景】
当前仓代码存在编译告警需要处理
【修改方案】
在测试用例中屏蔽了-Werror选项
在对应的代码处添加了相应函数的声明头文件
【影响】
对现有的产品编译不会有影响。
re #I4N50W
Signed-off-by: yinjiaming <yinjiaming@huawei.com>
Change-Id: I7dc1e38105aa3d60f9f991f34f88875cccb48463
|
2022-01-19 02:27:14 +00:00 |
openharmony_ci
|
a305119a4a
|
!539 fix:修复iar、keil版本原子接口编译报错问题
Merge pull request !539 from 王树林/master
|
2022-01-18 11:27:09 +00:00 |
ou-yangkan
|
a906dfaa99
|
fix atomic compile error of iar
Signed-off-by: wang-shulin93 <15173259956@163.com>
|
2022-01-18 18:59:29 +08:00 |
houpengfei
|
566f46dee2
|
fix:backtrace严重BUG
Signed-off-by: houpengfei <houpengfei@talkweb.com.cn>
|
2022-01-17 20:35:04 +08:00 |
ou-yangkan
|
3900785b8f
|
补充完善原子接口测试用例及部分原子接口修复
Signed-off-by: ou-yangkan <519689417@qq.com>
|
2022-01-13 15:22:14 +08:00 |
openharmony_ci
|
b89759c678
|
!517 feat:added assembly atomic interface
Merge pull request !517 from 王树林/master
|
2022-01-06 13:29:56 +00:00 |
ou-yangkan
|
1513f50a47
|
feat: added assembly atomic interface
added 32-bit assembly atomic interface:
BREAKING CHANGE:
Assembly implementation:
ArchAtomicRead
ArchAtomicSet
ArchAtomicAdd
ArchAtomicSub
ArchAtomicInc
ArchAtomicIncRet
ArchAtomicDec
ArchAtomicDecRet
https://gitee.com/openharmony/kernel_liteos_m/issues/I4O1UC
Signed-off-by: wang-shulin93 <15173259956@163.com>
|
2022-01-06 10:37:54 +08:00 |
zhushengle
|
ae02afc850
|
fix: tick timer时钟频率赋值修改为运行时赋值
OS_SYS_CLOCK 宏由产品定义,该宏可能为函数,在编译时赋值无法覆盖该场景
Close #I4PGUR
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I60e3f4fcd8f94b26c23cc88e0622408a24fbebe2
|
2022-01-05 15:51:11 +08:00 |
zhushengle
|
f635450d7c
|
feat: 内核提供tick timer框架,支持多架构多平台通用化
背景:
当前Arch下tick timer的实现依赖于弱函数机制,三方适配时出错及限制较大,且tick
timer作为内核必须模块,未模块化,当前散落在tick和调度等模块中,且当前存在arch依赖
内核,内核也依赖arch的情况,为了解决上述问题,将tick timer模块化,通过提供tick
timer框架实现内核依赖Arch而Arch不依赖内核,并且可以减少对外暴漏的接口,使得三方
适配时更加明确需要实现的接口。
方案描述:
1.tick timer结构
在kernel_liteos_m/arch/include/los_timer.h,中定义结构:
typedef struct {
UINT32 freq;
INT32 irqNum;
UINT32 (*init)(HWI_PROC_FUNC tickHandler);
UINT64 (*getCycle)(UINT32 *period);
VOID (*reload)(UINT64 time);
VOID (*lock)(VOID);
VOID (*unlock)(VOID);
HWI_PROC_FUNC tickHandler;
} ArchTickTimer;
并声明对外获取tick timer的接口:
ArchTickTimer *ArchSysTickTimerGet(VOID)
define LOS_SysTickTimerGet ArchSysTickTimerGet
2.在每个架构下提供默认的tick timer操作:
STATIC ArchTickTimer g_archTickTimer = {
.freq = xxx, 必填
.irqNum = xxx, 必填
.init = xxx, 必填
.getCycle = xxx, 必填
.reload = xxx, 必填
.lock = xxx, 必填
.unlock = xxx, 必填
.tickHandler = NULL, 可选
}
并实现:ArchTickTimer *ArchSysTickTimerGet(VOID) 接口
3.内核los_tick.c中提供对外(其它模块)和公共的tick timer初始化操作函数,
如果用户不想启用系统默认的tick timer,则需要在 "内核初始化之前" 调用接口:
LOS_TickTimerRegister(const ArchTickTimer *timer, const HWI_PROC_FUNC tickHandler)
将用户自己的tick timer或中断处理函数 注册进去。
用户也可以注册自己的中断处理函数(用户不提供,默认使用系统提供的)。
BREAKING CHANGE:
原来版本中每个架构下提供的tick timer相关操作函数为弱函数:
WEAK UINT32 HalTickStart(OS_TICK_HANDLER handler);
WEAK VOID HalSysTickReload(UINT64 nextResponseTime);
WEAK UINT64 HalGetTickCycle(UINT32 *period);
WEAK VOID HalTickLock(VOID);
WEAK VOID HalTickUnlock(VOID);
用户如果需要启用自己的tick timer需要自己实现相关接口(强属性),在 "内核初始化之前" 通过调用:
LOS_TickTimerRegister 接口替换系统默认提供的tick timer相关接口。
无论用户提供的tick timer 还是系统默认提供的,均在内核初始化时启动。
Close #I4N7XV:arch 重构
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I83ad0bdf303904f0e73f808b57b60183619fddcd
|
2021-12-31 10:50:33 +08:00 |
wcc0
|
79d42b7976
|
在arch\csky\v2\gcc\los_exc.S中添加IrqEntry函数实现
Signed-off-by: wcc0 <917033401@qq.com>
|
2021-12-27 11:10:45 +08:00 |
LiteOS2021
|
04bf3a682f
|
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>
|
2021-12-25 18:36:09 +08:00 |
wcc0
|
d09d46ff75
|
fix:fix bug of exception
Signed-off-by: wcc0 <917033401@qq.com>
|
2021-12-17 09:37:03 +08:00 |
openharmony_ci
|
6f7ceb3e72
|
!464 转移csky架构中断入口由device到kernel中
Merge pull request !464 from ouyk/master
|
2021-12-16 12:03:15 +00:00 |
ou-yangkan
|
ee79364748
|
转移csky架构中断入口由device到kernel中
Signed-off-by: ou-yangkan <519689417@qq.com>
|
2021-12-16 19:43:47 +08:00 |
ou-yangkan
|
d6aa3bf44b
|
修改csky和xtensa架构的g_intCount变量使用
Signed-off-by: ou-yangkan <519689417@qq.com>
|
2021-12-16 13:50:48 +08:00 |
Caoruihong
|
84ea5528e2
|
chore(build): optimize build scripts
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I672b7e6109563d457d493c08903bb5a1dff118ad
|
2021-12-05 02:29:49 +08:00 |
openharmony_ci
|
dd90483e39
|
!394 m核ioctl增加选项支持
Merge pull request !394 from 刘建东/master
|
2021-11-18 06:28:09 +00:00 |
Caoruihong
|
201da62e1f
|
chore: move kernel/arch to arch
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I0f0b6f5cff967c47acf58be133a12a0fd98f4643
|
2021-11-16 00:45:24 +08:00 |