Commit Graph

454 Commits

Author SHA1 Message Date
openharmony_ci ef4bdf6d10 !197 调度过程低概率触发OsSchedTaskEnQueue断言,导致系统异常
Merge pull request !197 from zhangfanfan2/master
2021-06-24 05:03:00 +00:00
x_xiny 8649b14591 feat: m核新增posix接口sem_getvalue
【背景】
 m核新增posix接口适配

【修改方案】
 接口新增sem_getvalue,并在内核适配相应接口

【影响】
 无

 re #I3WW8S

 Signed-off-by: x_xiny <1301913191@qq.com>
 Change-Id: I65a4baa242aaedc2fec9b6ed705dbb1ddb6e70c9

Change-Id: Id4c38a5dd4ac4e90f1bd032a39dcb97ce29de5f9
2021-06-24 10:43:44 +08:00
li_zan b0119f6185 Merge branch 'master' of gitee.com:openharmony/kernel_liteos_m into master 2021-06-24 01:33:46 +00:00
li_zan b55cfc1ba7 fix: 修复littlefs的多分区挂载时,对pathname的处理逻辑异常
close:#I3WWFA

Signed-off-by: li_zan <371442490@qq.com>
2021-06-24 09:31:15 +08:00
YOUR_NAME e5e9289a08 fix: 调度过程低概率触发OsSchedTaskEnQueue断言,导致系统异常
当任务A调用LOS_EventRead阻塞开中断后,突然响应中断B,此时任务A已入阻塞链表,
任务状态为OS_TASK_STATUS_PEND | OS_TASK_STATUS_RUNNING;而B的回调函数中调用
LOS_EventWrite唤醒任务A,这个过程会调用OsSchedTaskWake,将任务A从阻塞链表中
取出,并去除OS_TASK_STATUS_PEND状态,且调用OsSchedTaskEnQueue将任务A添
加到调度队列并增加OS_TASK_STATUS_READY状态。OsSchedTaskWake全部流程完成后,
会开中断并调用LOS_Schedule,在LOS_Schedule流程中由于当前任务为A,且状态为
OS_TASK_STATUS_RUNNING | OS_TASK_STATUS_READY,会再次调用OsSchedTaskEnQueue,
从而被OsSchedTaskEnQueue断言拦住。修改方式:当任务状态含有OS_TASK_STATUS_RUNNING时
OsSchedTaskWake中不调用OsSchedTaskEnQueue。

close: #I3VX9Y

Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I28f33d25504ade47469980fd6bb0b922bf4756da
2021-06-23 19:25:58 +08:00
openharmony_ci 1f4b7aa85d !196 新增函数regcomp,regfree和regexec支持
Merge pull request !196 from zhangfanfan2/master
2021-06-23 10:31:36 +00:00
YOUR_NAME 86d5544a3f fix: 新增函数regcomp,regfree和regexec支持
close: #I3U9LE

Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: Iff1180b89958b4d8c339a73f9a5f59cb47707c74
2021-06-23 15:27:50 +08:00
openharmony_ci d0efdfc20d !169 feat: L0支持低功耗投票框架
Merge pull request !169 from zhushengle/PM
2021-06-22 11:55:22 +00:00
zhushengle 558ce14bec feat: L0 支持低功耗框架
1.【需求描述】
 L0 支持低功耗投票框架, 使内核与应用、驱动分离开,通过注册及投票机制控制系统的低功耗模式,
  减低系统功耗,提升设备电池寿命。
2.【方案描述】
 (1).提供注册机制,使驱动与内核分离
  (2).提供投票机制,判断系统运行模式
  (3).记录持锁设备,便于回溯
  进入:系统运行进入idle任务时判断当前的功耗模式,如果上层应用未对当前功耗模式(deep和shutdown)
 持锁,则系统准备进入当前模式,首先所有设备依次进入当前模式,如果有设备进入当前模式失败,则恢复
 已进入当前模式的所有设备,并且功耗模式变为normal模式;设备依次进入当前功耗模式后cpu再进入当前
 功耗模式。
  恢复:功耗模式为deep时,需要恢复逻辑,时系统恢复运行。当有中断出发时,系统会退出低功耗模式,
  恢复顺序为:首先cpu先恢复,然后设备依次恢复。

BREAKING CHANGE:
1.原调度中基于tick timer的低功耗扩展和当前的pm模块合并,删除原对外接口LOS_SchedSleepInit,
 变为pm模块统一提供的LOS_PmRegistered接口.
2.原来在arch los_timer.h下提供的低功耗模式为枚举LOS_SysSleepEnum,其中OS_SYS_NORMAL_SLEEP
  和OS_SYS_DEEP_SLEEP不符合对外定义,统一修改为LOS_SYS_NORMAL_SLEEP和LOS_SYS_DEEP_SLEEP,
  并移至los_pm.h中.
3.VOID HalEnterSleep(LOS_SysSleepEnum sleep) 变更为UINT32 HalEnterSleep(VOID).

Close #I3UDNV

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Id5382c42c8055ba7850895a3f575130a73e38a65
2021-06-22 13:15:06 +08:00
openharmony_ci 9fc34614d1 !184 feat: add LOS_ListHeadInsert function
Merge pull request !184 from kenneth/LOS_ListHeadInsert
2021-06-21 12:39:25 +08:00
openharmony_ci 8df07fe3cc !182 fix: add API LOS_HwiCreate、LOS_HwiDelete
Merge pull request !182 from kenneth/HWI
2021-06-21 12:38:07 +08:00
openharmony_ci 0f7d2fcf07 !193 fix: 延时队列为NULL时,返回的响应时间为64位最大值,导致无法更新tick timer的响应周期
Merge pull request !193 from zhushengle/sched
2021-06-18 10:09:31 +08:00
openharmony_ci 0247e421c7 !192 修复M核上musl库缺失strdup.c的问题
Merge pull request !192 from li_zan/master
2021-06-18 09:43:14 +08:00
kenneth 430b186be7 feat: add LOS_ListHeadInsert function
注释中@see部分提到了函数LOS_ListHeadInsert,但是该函数没有定义,增加该函数的定义。

close #I3TAQA

Signed-off-by: kenneth <459864689@qq.com>
2021-06-18 09:01:25 +08:00
kenneth eb668eb9e0 fix: add API LOS_HwiCreate and LOS_HwDelete
新增对外接口LOS_HwiCreate、LOS_HwiDelete

close #I3R75F

Signed-off-by: kenneth <459864689@qq.com>
2021-06-18 08:53:22 +08:00
li_zan 139f83af39 fix: 修复M核上musl库缺失strdup,c的问题
close:#I3VZSI

Signed-off-by: li_zan <371442490@qq.com>
2021-06-17 20:28:47 +08:00
zhushengle bcec32e389 fix: 延时队列为NULL时,返回的响应时间为64位最大值,导致无法更新tick timer的响应周期
问题描述:
  当g_schedResponseTime = OS_SCHED_MAX_RESPONSE_TIME,且nextExpireTime =(UINT64-1时,
  表示系统的延时队列已为NULL, 此时tick timer 中应该设置为最大值,但由于判断
  g_schedResponseTime - nextExpireTime >= OS_CYCLE_PER_TICK,导致条件不成立,直接返回,
  无法将其设置为最大值,导致tick 中断一直频繁响应。
解决方案:
  将延时队列为NULL时的返回值以及idle线程的时间片修改为OS_SCHED_MAX_RESPONSE_TIME - OS_CYCLE_PER_TICK,
  保证延时队列为NULL,能够正常设置tick响应的最大值。

Close #I3W1LF

Change-Id: I0d09119240ae5a50ddcb0c96fb23cd3d6e70b892
Signed-off-by: zhushengle <zhushengle@huawei.com>
2021-06-17 20:23:13 +08:00
openharmony_ci 491920548c !191 修复littlefs编译fs.c缺少头文件件依赖配置
Merge pull request !191 from li_zan/master
2021-06-17 19:24:50 +08:00
li_zan 7259289bd9 fix: 修复littlefs编译fs.c缺少头文件件依赖配置+若干musl库的缺失问题+多分区规格宏配置问题
close:#I3VT11

Signed-off-by: li_zan <371442490@qq.com>
2021-06-17 17:03:41 +08:00
openharmony_ci 6e162a9318 !190 修正有关makefile文件中bounds_checking_function的路径配置
Merge pull request !190 from Caoruihong/master
2021-06-17 09:30:40 +08:00
openharmony_ci 94e620acd0 !189 fix: fix backtrace check issue
Merge pull request !189 from rtos-lover/bt_fix
2021-06-16 21:00:44 +08:00
Caoruihong 5c0a6fffea chore: bounds_checking_function is under //third_party
the copy of bounds_checking_function under components was removed,
we should use the copy of bounds_checking_function under //third_party

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ib5c392f4d592a2fe6f26f6c1e1ea60f1faa836b9
2021-06-16 17:54:58 +08:00
rtos-lover b6664e66f1 fix: fix backtrace check issue
fix issue that when memleak check is enabled, backtace is not enabled

close https://gitee.com/openharmony/kernel_liteos_m/issues/I3VTKD

Signed-off-by: rtos-lover <zhushangyuan@hotmail.com>
2021-06-16 17:12:41 +08:00
openharmony_ci 468ce69f27 !180 update: rename LOS_BackTraceInit
Merge pull request !180 from kenneth/BackTraceInit
2021-06-16 13:45:04 +08:00
openharmony_ci 48067a0596 !178 littlefs三方源码采用GN编译修改上库+默认Mount路径可配置
Merge pull request !178 from li_zan/master
2021-06-16 10:58:13 +08:00
kenneth a0a32188ff update: rename LOS_BackTraceInit
change function name LOS_BackTraceInit and involve it in los_init.c when macro is not set to 0

close https://gitee.com/openharmony/kernel_liteos_m/issues/I3SYQQ

Signed-off-by: kenneth <459864689@qq.com>
2021-06-16 08:51:00 +08:00
li_zan bdb614bc2b fix: littlefs三方源码采用GN编译修改上库
close:I3VJ6X

Signed-off-by: li_zan <371442490@qq.com>
2021-06-15 19:56:50 +08:00
openharmony_ci 3c35617816 !179 通过public_configs方式对外提供cmsis和posix的对外头文件路径
Merge pull request !179 from Caoruihong/master
2021-06-15 16:48:41 +08:00
Caoruihong 420e781f33 chore: adjust path of posix header files
path of posix header files are exposed via public_configs
of //kernel/liteos_m/kal/posix

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Id838549e1a952d6ddb8664792570f265edfbd91c
2021-06-15 12:11:12 +08:00
openharmony_ci 749bd8a481 !176 musl归一化后调整libc的构建
Merge pull request !176 from Caoruihong/porting2
2021-06-11 17:36:29 +08:00
openharmony_ci 9b656ac3c1 !172 fix: fix print format compilation warning
Merge pull request !172 from kenneth/printf_format_warning
2021-06-11 13:19:52 +08:00
Caoruihong a5660c2217 chore: remove the files copied from musl
copied and auto-generated files are redundant and should not be tracked.

Change-Id: I22bb3a1873ba6e0be3008306624b50772cdc91b5
Signed-off-by: Caoruihong <crh.cao@huawei.com>
2021-06-11 11:26:58 +08:00
openharmony_ci a3ab46ec31 !175 修复M核littlefs GN编译的若干错误
Merge pull request !175 from li_zan/master
2021-06-11 11:23:45 +08:00
li_zan d77828e206 fix: 修复M核littlefs GN编译的若干错误
close:I3V7ZH

Signed-off-by: li_zan <371442490@qq.com>
2021-06-11 09:48:32 +08:00
kenneth ef12c89c7a fix: fix print format compilation warning
fix print format compilation warning by changing 0x%x to 0x%p

close https://gitee.com/openharmony/kernel_liteos_m/issues/I3OFSQ

Signed-off-by: kenneth <459864689@qq.com>
2021-06-10 14:52:47 +08:00
openharmony_ci db89b353e9 !166 修复fatfs文件系统中部分指针访问前未判空、全局变量保护不完全问题。
Merge pull request !166 from JING/fatfs
2021-06-10 13:21:37 +08:00
openharmony_ci 9781662cea !135 添加backtrace for riscv在不打开frame-pointer的提前下
Merge pull request !135 from JerryH/backtrace
2021-06-09 11:46:03 +08:00
JerryH 97a5b6d8dc Merge branch 'master' of gitee.com:openharmony/kernel_liteos_m into backtrace 2021-06-09 10:41:58 +08:00
openharmony_ci 0ba33abcd1 !174 m核上littlefs新增错误码功能
Merge pull request !174 from li_zan/master
2021-06-09 09:48:44 +08:00
li_zan a062378631 fix: m核上littlefs新增错误码功能
close:#I3UVMQ

Signed-off-by: li_zan <371442490@qq.com>
2021-06-08 19:13:44 +08:00
openharmony_ci bd307591b4 !173 fs接口用例补充
Merge pull request !173 from wangchen/testsuit
2021-06-07 23:02:46 +08:00
wangchen 2a95af5bf1 feat: 补充fs相关函数用例
【背景】当前fs部分函数缺少配套用例。

【修改方案】
1. 在unittest目录下新增fopen等17个接口的用例。

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

re #I3UQ4F
Signed-off-by: wangchen <253227059@qq.com>
2021-06-07 21:59:22 +08:00
openharmony_ci 2f6ab80a06 !170 解决fclose等函数工具链重定义问题
Merge pull request !170 from wangchen/master
2021-06-07 21:02:56 +08:00
openharmony_ci f3a3114ac7 !163 mbedtls适配l0
Merge pull request !163 from 野生毛霉君/master
2021-06-07 14:38:27 +08:00
openharmony_ci 7ab7ae7ae7 !137 fix: fix typos
Merge pull request !137 from rtos-lover/los_sched.c
2021-06-05 13:53:35 +08:00
wangchen b244ad4ad0 feat: 解决fclose等函数工具链重定义问题
【背景】当前部分单板编译fclose等函数时与对应的gcc工具链重定义。

【修改方案】
1. fclose等函数新增weak定义,并恢复与musl源码一致。
2.外层添加wrap函数,用于配合gcc的--wrap选项。

【影响】
对现有的产品编译不会有影响,报重定义的工程需单独在自己的build.gn中添加
--wrap=xxx。

re #I3UG6O

Signed-off-by: wangchen <253227059@qq.com>
2021-06-05 11:30:16 +08:00
chenjing bc7a914bce fix: protect from accssing NULL pointer, access g_handle after fslock
close #I3UCX3

Signed-off-by: chenjing <chenjing139@huawei.com>
Change-Id: Ie4d5c1923c2d49e283c77f46d01784bed065a507
2021-06-04 16:20:11 +08:00
mucor 761b86096c fix(mbedtls): mbedtls l0 support
close: #I3UBJA
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-04 16:07:06 +08:00
openharmony_ci beea9963f7 !161 fix: fix NULL、UNUSED redefined issue
Merge pull request !161 from kenneth/NULL_redefined3
2021-06-04 14:51:52 +08:00
openharmony_ci 3d2a102d35 !160 fix: fatfs中宏FS_LOCK_TIMEMOUT_SEC拼写错误
Merge pull request !160 from zhushengle/fs
2021-06-04 14:47:51 +08:00