Commit Graph

22 Commits

Author SHA1 Message Date
zhushengle
a856303b9c feat: 支持posix线程私有数据能力
BREAKING CHANGE:
  int pthread_key_create(pthread_key_t *k, void (*dtor)(void *))
  int pthread_key_delete(pthread_key_t k)
  int pthread_setspecific(pthread_key_t k, const void *x)
  void *pthread_getspecific(pthread_key_t k)

Close #I4ODEB
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I60ce26c20d1e2033922d2d1b01d73fc8938c8019
2021-12-28 19:55:10 +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
openharmony_ci
b998978561 !474 fix: 修复L0_Emulator 门禁高概率失败的问题
Merge pull request !474 from zhushengle/Emulator
2021-12-20 08:18:56 +00:00
zhushengle
7ad2f62a03 fix: 修复L0_Emulator 门禁高概率失败的问题
内存测试用例002中对全局的内存池进行了重复申请释放操作,
释放之后全局的测试内存池为无效的野指针,而该内存已被网络
分配并使用,从而导致出现踩内存的现象。

Close #I4NB0N

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iffd631fcdaa020afefd108c189850ef3e75d1e4b
2021-12-20 15:34:08 +08:00
openharmony_ci
7e9d84362f !442 M核posix接口fs模块用例完善
Merge pull request !442 from wangchen/posix_test
2021-12-19 08:12:27 +00:00
kenneth
ab886d848a feat: 低内存资源回收low memory killer
低内存资源回收特性,支持维护可杀低重要任务,当高内存任务申请不到足够内存时,临时释放低重要性的任务来释放内存来满足高内存任务正常运行;
当高内存任务退出运行时,自动恢复被杀的低重要性任务。设计文档归档位置 https://gitee.com/rtos_yuan/lmk/tree/design/

BREAKING CHANGE: 增加低内存资源回收注册相关接口LOS_LmkOpsNodeRegister、LOS_LmkOpsNodeUnregister和内存资源释放和任务恢复接口LOS_LmkTasksKill和LOS_LmkTasksRestore.

close #I4ID0M

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-12-13 12:07:33 +08:00
JerryH
ecce17ea48 fix: 解决定时器超时但还在队列中无法删除的问题
利用每次创建时,软件定时器timerId都是唯一的(0~0xffffffff循环),在超时写队列时,同时记录软件定时器id,删除的时候更新软件定时器id,那么在处理软件定时器前,
通过队列中记录的id获取软件定时器控制块,如果控制块的id不等于记录的id,那么说明该软件定时器被删除过,将不执行对应回调函数,表现为删除该定时器。

BREAKING CHANGE: SwtmrHandlerItem结构体新增swtmrID字段,用于标识超时队列中软件定时器id

Close #I4LFVD

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I716176f177c4bc07adb348936d5568fbadcbebe7
2021-12-08 15:27:49 +08:00
lnlan
ee380fb9be fix: M核posix接口fs模块用例完善
【背景】M核posix接口fs模块用例无平台进行验证,在qemu上运行时会有报错。

【修改方案】
1,对部分用例进行修改,增加对qeum的适配度

【影响】
对现有的产品编译不会有影响。

re #I4L7BF
Signed-off-by: wangchen <253227059@qq.com>
2021-12-06 09:31:15 +00:00
openharmony_ci
da135662f3 !437 test: 修正测试用例中固定的资源设定,修改为动态获取
Merge pull request !437 from zhushengle/test
2021-11-30 12:58:16 +00:00
zhushengle
143e8a7df6 test: 修正测试用例中固定的资源设定,修改为动态获取
Close #I4KH68

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I9d23f63cd751a804966a7c6366590897f3858b72
2021-11-30 19:04:12 +08:00
openharmony_ci
d0692abae9 !435 fix: 取消cpu进入低功耗前开中断操作,优化注册机制
Merge pull request !435 from zhushengle/pm
2021-11-30 09:51:35 +00:00
zhushengle
bd39e9e6d6 fix: 取消cpu进入低功耗前开中断操作
开中断导致低功耗流程非原子,容易造成流程出错。
    提供低功耗默认处理函数,优化注册机制

Close #I4KDP8
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ied8bab691e7725e207b8b3cfb058f851eafe3052
2021-11-30 10:47:04 +08:00
openharmony_ci
d0d51b4a29 !393 feat: 支持Lms轻量级地址消毒
Merge pull request !393 from LiteOS/lms
2021-11-29 14:22:21 +00:00
Leon Chan
8e2248c062 fix: change the sensitive words
close: #I4K7LL

Signed-off-by: Leon Chan <chenwei26@huawei.com>
2021-11-29 11:45:13 +08:00
LiteOS2021
7b838e8a7b feat: 支持Lms
1.【需求描述】:
   支持内核态堆内存非法访问检测,包括:越界访问、double free、释放后使用;支持libc常用高频函数内存检测;支持安全函数内存检测;读写检测可配可裁剪。
2.【方案描述】:
   (1).影子内存映射与标记
   (2).编译器使能-fsanitize=kernel-address 自动插桩检测点
   (3).实时校验影子内存的合法性;
   (4).错误访问打印回溯栈

BREAKING CHANGE: 新增支持API:

LOS_LmsCheckPoolAdd使能检测指定内存池
LOS_LmsCheckPoolDel不检测指定内存池
LOS_LmsAddrProtect为指定内存段上锁,不允许访问
LOS_LmsAddrDisableProtect去能指定内存段的访问保护

Close #I4HYBG

Signed-off-by: LiteOS2021 <dinglu@huawei.com>
Change-Id: Ia356a003088b9df37df667ea8ba91c80f5a41967
2021-11-27 11:31:12 +08:00
openharmony_ci
b7de7f6085 !398 清理YES/NO宏
Merge pull request !398 from Caoruihong/remove_yesno
2021-11-18 09:32:42 +00:00
Caoruihong
5196818d47 chore: replace YES/NO macros to 1/0
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I80f8b23cac10bc714dea921ed1fd43b687ce3748
2021-11-16 01:21:00 +08:00
openharmony_ci
afc362db23 !390 清理"bits/xxx.h"类头文件包含
Merge pull request !390 from Caoruihong/clean_bits
2021-11-15 09:35:10 +00:00
Caoruihong
931df01e2e chore: clean "bits/xx.h" includes
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ia4db457ec704121aa5f0daac17ecee6da8395d63
2021-11-11 11:57:07 +08:00
Caoruihong
7e673430dc feat(build): support Kconfig
Kconfig usages are the same with liteos_a

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I9aacbb69da88d5427cced89d1a49cb1041afa998
2021-11-05 12:18:04 +08:00
openharmony_ci
28bf057ded !367 fix:修复Fault异常模块中FPU宏等问题
Merge pull request !367 from kenneth/fpu_simple
2021-10-26 06:10:25 +00:00
Caoruihong
9c69e6039e chore: fix typo: testsuits --> testsuites
keep testsuites the same directory name as in liteos_a

Signed-off-by: Caoruihong <crh.cao@huawei.com>
2021-10-21 21:39:32 +08:00