zhangfanfan2
f51d675fee
fix: LOS_Panic接口中增加需要增加LOS_BackTrace(),方便定位主动异常位置
...
close: #I4IGGY
Signed-off-by: zff <zhangfanfan2@huawei.com>
2021-11-30 07:24:29 +00:00
openharmony_ci
d0d51b4a29
!393 feat: 支持Lms轻量级地址消毒
...
Merge pull request !393 from LiteOS/lms
2021-11-29 14:22:21 +00:00
zhushengle
91903a3716
fix: 修正部分编码风格问题
...
Close #I4K8M7
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: If34d5c632cbb06f639434d8c35fb226a0253f4a7
Signed-off-by: zhushengle <zhushengle@huawei.com>
2021-11-29 14:22:39 +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
zhushengle
cc8a794229
feat: 调度、任务及pm解耦
...
pm中冻结线程的操作,融合至OsSchedSuspend和OsSchedResume,
使得调度模块提供对应完整的方法给任务模块,做到之间的相互解耦,
方便其它调度算法的融入。
Close #I4JTN6
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ifde7077166a2fe67e7246fa68f777844640d67db
2021-11-25 16:54:02 +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
zff
c886629e27
fix:系统pend类接口未对软件定时器任务进行限制,容易引发软件定时器任务非正常挂起,
...
出现响应不及时的问题
close: #I44CI9
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I6aa612f3c34eef274eaa0c98efed0a3c4736de6e
2021-10-18 16:35:51 +08:00
openharmony_ci
c68b67a4e3
!351 fix: 调用LOS_TaskDetach操作已退出的joinable的任务时,未正确回收该任务
...
Merge pull request !351 from zhushengle/detach
2021-10-15 07:40:54 +00:00
zhushengle
49c93b37c5
fix: 调用LOS_TaskDetach操作已退出的joinable的任务时,未正确回收该任务
...
Close #I4DZL7
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iac88818317c07807d0636712025f2c75b3b1f766
2021-10-15 10:56:02 +08:00
LiteOS2021
afbc9a593b
fix: 优化trace buffer初始化,删除swtmr 桩中的无效参数
...
close #I4DPR7
Signed-off-by: LiteOS2021 <dinglu@huawei.com>
2021-10-14 09:48:49 +08:00
kenneth
f7d26b8e12
fix: gcc编译testsuite编译问题修复
...
修复It_los_mem.h中没有定义LOS_DLNK_NODE_HEAD_SIZE、MIN_DLNK_POOL_SIZE,编译告警等问题。
close #I4DAOU
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-10-11 14:30:51 +08:00
openharmony_ci
892d6981e7
!336 fix: 删除OsMemboxExcInfoGetSub内存调测方法中多余的赋值语句
...
Merge pull request !336 from kenneth/membox
2021-10-08 02:39:05 +00:00
openharmony_ci
3eb4679f13
!324 【fix】hook层LOS_HOOK_TYPE_SEM_PEND的runningTask入参可能为空
...
Merge pull request !324 from Zhaotianyu/0926hook_fix
2021-10-08 01:06:22 +00:00
kenneth
94db0fe7a3
fix: 删除OsMemboxExcInfoGetSub内存调测方法中多余的赋值语句。
...
OsMemboxExcInfoGetSub内存调测方法中存在对memExcInfo->size多次赋值,size含义不清晰,删除多余的赋值语句。
close #I4CFNX
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-09-29 14:51:14 +08:00
openharmony_ci
91bd0c2e2b
!331 fix: OS_TASK_STACK_PROTECT_SIZE undeclared error
...
Merge pull request !331 from kenneth/mpu
2021-09-29 02:50:25 +00:00
zhushengle
0fb49d4422
fix: 修复risc-v异常时,异常信息混乱且backtrace无法输出的问题
...
1.修复risc-v backtrace无法输出的问题
异常时未将fp传入,且backtrace校验不足,容易导致再次异常
2.优化task 输出信息格式
3.shell中task命令代码重复
4.OSBackTraceInit 拼写有误
Close #I4BPHX:riscv32_virt 异常时无法输出backtrace信息
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I141d5e7808fc967d846f425422f5dcf2ac01d1d1
2021-09-28 11:39:42 +08:00
kenneth
56e234b300
fix: fix OS_TASK_STACK_PROTECT_SIZE undeclared error
...
当开启LOSCFG_EXC_HARDWARE_STACK_PROTECTION宏时,增加定义OS_TASK_STACK_PROTECT_SIZE宏
close #I4C5RW
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-09-28 10:27:52 +08:00
arvinzzz
3fd22ac2b0
fix: 修复hook层LOS_HOOK_TYPE_SEM_PEND的runningTask入参可能为空
...
在校验完semPend之后,就获取好runningTask并且与semPend关联
close: #I4BU4P
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ib56a1a1db8e4471d9e2adb0b7c3d8b17b1f87b8d
2021-09-27 09:48:02 +08:00
openharmony_ci
4061deaae8
!311 feat: 支持posix 和 cmsis join能力
...
Merge pull request !311 from zhushengle/join
2021-09-24 00:30:44 +00:00
zhushengle
ecfdf7ff9b
feat: 支持posix 和 cmsis join能力
...
支持API:
LOS_TaskJoin
LOS_TaskDeatch
pthread_join
pthread_deatch
osThreadJoin
osThreadDetach
Close #I44V26
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ib61e69c280eef2e4b3b79d9bba7bbd5a300c7fe4
2021-09-23 18:54:14 +08:00
openharmony_ci
25441ec1b5
!314 fix: risc-v 低功耗下存在功能问题
...
Merge pull request !314 from zhushengle/list
2021-09-18 06:14:40 +00:00
zhushengle
9f185b5b52
fix: pm模块解冻线程时存在删除空链表且时间片频繁唤醒系统
...
1.如果冻结线程状态为delay,则此时pendlist为NULL,解冻时不需要delete
2.低功耗时关闭时间片,减少时间片频繁唤醒系统
3.risc-v 中64位相加存在溢出
Close #I4AKUS
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Icb9e8f7df8488635f9660d3932b06fa6f57e6133
2021-09-18 11:42:08 +08:00
openharmony_ci
03bbc750ce
!305 fix: 修复OsQueueMailFree提早释放内存的问题
...
Merge pull request !305 from hpline/master
2021-09-17 09:33:45 +00:00
wangchen
6ffd55dcd0
fix: shell模块task命令踩内存问题修改
...
【背景】task命令获取内存时传入的参数过大,可能引起踩内存问题。
【修改方案】
1,对task命令中获取内存信息时的入参进行调整,避免引起内存问题
【影响】
对现有的产品编译不会有影响。
re #I4A70V
Signed-off-by: wangchen <253227059@qq.com>
2021-09-16 15:56:38 +08:00
lurix
902efbcea9
chore: update the comment.
...
Signed-off-by: lurix <lurix@foxmail.com>
2021-09-15 12:57:40 +00:00
zhushengle
9b5739ab11
feat: 低功耗支持冻结线程等需求
...
1.支持低功耗时冻结线程
2.支持延时锁
3.低功耗与idle分离
4.支持对接电源管组件的低功耗接口
LOS_PmReadLock --- 常阻塞,低功耗线程阻塞于该接口,当系统无任何模块持锁时会唤醒低功耗线程, 触发低功耗流程
LOS_PmSuspend --- 进入低功耗流程
Close #I49FJF
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I009255cfa1852b109dd8bfaf9c779e976660d621
2021-09-14 19:55:26 +08:00
lurix
9c3a6901f1
chore: 解决代码风格导致的编译报错
...
Signed-off-by: lurix <lurix@foxmail.com>
2021-09-14 02:04:02 +00:00
lurix
ec88d16289
fix: 修复OsQueueMailFree提早释放内存的问题
...
Signed-off-by: lurix <lurix@foxmail.com>
2021-09-13 10:04:25 +00:00
zhushengle
c6600d9ddd
fix: 优化低功耗流程
...
1.normal和其它模式分离,流程分层化,使得结构较为清晰
2.tick timer处理实现优化为注册对应机制则默认支持,不注册则不执行,简化使用逻辑
3.添加 pm测试用例
Close #I46VXK
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I7810ce0ca12dce96972399adf88e8319bb487905
2021-09-09 11:46:23 +08:00
zhushengle
3798091d87
fix: 内核模块编译增加-Werror编译选项,且清除内核编译告警
...
Close #I46E6S
Change-Id: If1362c02a0a344da881a9bf90e41f0a43ba33609
Signed-off-by: zhushengle <zhushengle@huawei.com>
2021-09-06 16:16:43 +08:00
openharmony_ci
459cabf7de
!286 按任务统计已经alloc的内存大小
...
Merge pull request !286 from lnlan/taskinfo
2021-09-01 01:48:21 +00:00
lnlan
475db62db1
feat: los_memory.c代码重复率处理
...
【背景】
los_memory.c中有4处遍历内存节点的操作,重复率较高
【修改方案】
1.提取一个遍历内存节点的函数,入参可传入处理函数来应对不同处理场景
【影响】
对现有的产品编译不会有影响。
re #I44WNU
Signed-off-by: lanleinan <lanleinan@163.com>
Change-Id: Iafd25be39e76ee29e4fb27e5ef65f1888cc23f02
2021-08-31 02:30:30 +00:00
xiaofan
61cbf83f5d
fix:修复software timer线程
...
readsize在第一次循环后可能未被正确赋值的问题
Signed-off-by: xiaofan <xiaofan@iscas.ac.cn>
2021-08-28 16:23:37 +08:00
lnlan
53117f9f47
feat: 按任务统计已经alloc的内存大小
...
【背景】
m核需补充shell命令,按任务统计已经alloc的内存大小
【修改方案】
1.新增在task命令中,在打印task
info前遍历所有内存节点,统计各任务所占用的内存节
点大小,在打印时将其打出。
2.内存节点中,taskid所占位数随系统最大任务数调整
【影响】
对现有的产品编译不会有影响。
re #I44WNU
Signed-off-by: lanleinan <lanleinan@163.com>
Change-Id: I080b5dd056966784c0752408f9e320ca0e97c7f7
2021-08-28 06:14:34 +00:00
wangchen
5a9d53b644
fix: M核告警消除
...
【背景】定期M核代码消除。
【修改方案】
1,根据工具扫描结果,对代码告警进行更改
【影响】
对现有的产品编译不会有影响。
re #I46LHG
Signed-off-by: wangchen <253227059@qq.com>
2021-08-20 18:44:33 +08:00
openharmony_ci
4e11ded476
!267 fix: 删除延时节点后,存在时间无法有效刷新的场景
...
Merge pull request !267 from zhushengle/sched
2021-08-19 00:39:21 +00:00
openharmony_ci
97c4a5813f
!249 堆内存算法支持多段非连续性内存区域
...
Merge pull request !249 from kenneth/multiple_mem
2021-08-17 07:43:18 +00:00
kenneth
0facb0c017
feat: support non-continuous memory regions
...
The multiple non-continuous memory regions are supported when the macro
LOSCFG_MEM_MUL_REGIONS is enabled. The array of the type LOS_MEM_REGION should be defined,
and each array element defines the start address and the length for each memory regions, \
begining from the lower address to the higher memory address.
close #I43XOP
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-08-17 09:07:04 +08:00
zhushengle
0a87c04d58
fix: 删除延时节点后,存在时间无法有效刷新的场景
...
1.从延时队列上删除延时节点时,如果该延时节点的响应时间比当前系统tick的响应时间小时,
将tick的响应时间修改为OS_SCHED_MAX_RESPONSE_TIME,以保证tick响应时间能够被刷新。
2.任务切换时,若g_schedResponseID为旧任务的taskID时(tick的响应时间为旧任务的时间片
结束时间),将tick的响应时间修改为OS_SCHED_MAX_RESPONSE_TIME。
Close #I45I9Y
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ia77b789a10112935b719e8f733ba33835894e060
2021-08-14 15:53:28 +08:00
zhushengle
509cf59bef
fix: 以g_sysSchedStartTime是否为0判断时间轴是否生效存在极限场景导致调度时间不生效
...
初始化调度时间不以g_sysSchedStartTime是否为0为界限,而以g_sysSchedStartTime是否为64位最大值,
为界限, 避免特殊以下场景:调度开启时系统时间为0,导致初始化的g_sysSchedStartTime还是0,导致
调度启动后获取的调度时间轴始终为0.
Close #I45HP5
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ie0ef4e7d149f09ac466c649c0f2d6538f5322439
2021-08-14 11:30:46 +08:00
openharmony_ci
93f029b430
!250 某些编译器下编译告警消除
...
Merge pull request !250 from 野生毛霉君/master
2021-08-11 09:23:07 +00:00
openharmony_ci
fa0b8b0dcb
!227 feat: 支持native动态加载组件
...
Merge pull request !227 from Harylee/mem
2021-08-11 03:14:24 +00:00
Haryslee
d75383400e
feat: 支持native动态加载组件
...
1.【需求描述】
动态库开发部分:
gcc的sample code。
提供生成暴露接口生成机制,并允许产品新增需要暴露的接口。
提供可以判断库允许资源大小的能力,并提供相关工具辅助开发者确定开发的库要求的资源是否可以满足。
动态库运行部分:
提供elf load的api,可以加载指定路径下的库,并完成符号重映射等运行准备。
提供elf 暴露符号调用的api,用于调用库的api。
elf加载&链接异常时,有明确错误记录,返回明确错误类型。
提供elf 卸载的api。
2.【方案描述】
(1) 通过灌段的形式记录需要导出符号的地址信息,用于暴露内核对外的接口,在加载链接器中通过查询
对应的符号信息获取符号地址。
(2) 加载链接时,解析共享库并将共享库中可加载段通过文件系统读入内存中,并对共享库中未定义的、
需要重定位的符号进行重定位。需要调用符号时,根据符号名通过哈希表即可查询共享库提供的对应符号
的地址。
BREAKING CHANGE:
新增4个对外接口,声明在los_dynlink.h文件中,分别为:
(1) LOS_DynlinkInit: 动态加载模块初始化。
(2) LOS_SoLoad: 加载指定路径的共享库。
(3) LOS_FindSym: 根据共享库句柄查找指定符号。
(4) LOS_SoUnload: 卸载共享库。
close #I418HJ
Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I7669b7ef20096294f9d1094c85ac6602fefad354
2021-08-10 20:26:40 +08:00
openharmony_ci
11bca47b6e
!247 fix: tick 动态化计算优化,减小中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。
...
Merge pull request !247 from zhushengle/tick_sched
2021-08-10 06:16:34 +00:00
zhushengle
2118c84616
fix: tick 动态化计算优化,减小中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。
...
方案描述:
1.周期软件定时器超时添加一个startTime字段,用于记录当前软件定时器的开始计时的时间,
在定时器响应时,开始时间修改为上一次响应的结束时间(消除了中断执行时间对软件定时器
的影响)。
2. 在执行tick中断的过程当中,持有tick动态计算锁,保证在该过程中不会触发tick周期
的计算,在tick中断结束时统一计算设置。 --- 提升tick中断的执行效率
3. 在设置tick周期时,减掉tick中断执行的时间,减小周期动态化带来的时间误差
4.新增LOSCFG_BASE_CORE_TICK_PER_SECOND_MINI配置宏,用于配置tick中断的最小响应精度
Close #I3YGP1
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ia53e4accce497bce870557c2c3387ce51fa3fed3
2021-08-09 21:16:22 +08:00
mucor
8dea15c4fc
fix: compile warning fix
...
close: #I4330B
Signed-off-by: mucor <mucorwang@gmail.com>
2021-08-05 21:02:42 +08:00
openharmony_ci
56dfd80ea5
!242 cmsis添加ThreadFlags接口支持
...
Merge pull request !242 from 野生毛霉君/master
2021-08-05 12:31:09 +00:00
mucor
cea551e99e
feat: add cmsis ThreadFlags support
...
close: I43AYB
Signed-off-by: mucor <mucorwang@gmail.com>
2021-08-05 17:01:20 +08:00
openharmony_ci
4fd6a663ac
!235 fix: 修复QUEUE_INFO_S中waitReadTask无法保存大于32的任务编号
...
Merge pull request !235 from kenneth/master
2021-08-02 02:07:12 +00:00
openharmony_ci
8f5cefe41a
!225 fix: 在内核初始化前期启动tick timer
...
Merge pull request !225 from zhushengle/tick
2021-07-31 02:59:35 +00:00