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
|
c2d3518c42
|
!538 支持pipe管道通信机制以及poll多文件描述符检测接口
Merge pull request !538 from JerryH/pipe
|
2022-01-18 10:29:15 +00:00 |
JerryH
|
4890222e7c
|
feature: Support pipe and poll interfaces.
支持pipe管道驱动,支持poll多文件描述符检测接口。
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: Ida1f29709affbc91a26b8518e4a77b8e5469be19
|
2022-01-18 16:47:35 +08:00 |
openharmony_ci
|
4a9d1f0c51
|
!531 fix: 修复liteos-m在iar环境下的编译问题
Merge pull request !531 from zhushengle/iar
|
2022-01-11 10:46:48 +00:00 |
zhushengle
|
4c4784e33d
|
fix: 修复liteos-m在iar环境下的编译问题
1.数据类型转换
2.使用未初始化数据
3.无用的标签
4.pthread 线程退出后name指向野指针
Close #I4Q5Q5
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ib89390d8f61a355788da77651bf9aeee816561bb
|
2022-01-11 18:01:01 +08:00 |
JerryH
|
b98aa4eacd
|
feature: 支持IAR C++ thread_local特性
在需要IAR的thread_local特性时,在targets_config.h中包含los_iar_tls.h,覆盖los_config.h的默认定义,使能该特性。
close #I4PTVZ
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I92d3f960555f95cb3618dd5e3915824105eb13a4
|
2022-01-10 20:10:35 +08:00 |
openharmony_ci
|
67f8149640
|
!480 feat: 内核提供tick timer框架,支持多架构多平台通用化
Merge pull request !480 from zhushengle/timer
|
2022-01-04 01:12:29 +00:00 |
zhushengle
|
96663805ec
|
fix: pm codex告警清零
Close #I4OWPE
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I07f6db919062090b917ce991198f769032365472
|
2021-12-31 14:55:20 +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 |
zhangyang
|
c7843926b8
|
refactor: 解决m核开启ipv6功能的编译
close #I4NOIP
Signed-off-by: zhangyang <zhangyang349@huawei.com>
|
2021-12-27 12:00:30 +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
|
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 |
openharmony_ci
|
ff11e86c42
|
!452 解除net对cmsis的依赖,net属于内核模块,不应该依赖内核对外接口
Merge pull request !452 from SimonLi/master
|
2021-12-10 06:46:40 +00:00 |
SimonLi
|
99826240d9
|
fix: 解除net对cmsis的依赖,net属于内核模块,不应该依赖内核对外接口
Signed-off-by: SimonLi <likailong@huawei.com>
|
2021-12-10 10:22:17 +08:00 |
yangjian
|
82c6d5f174
|
fix: FD_SETSIZE compatible newlibc
Signed-off-by: yangjian <jianyang@bestechnic.com>
Change-Id: I9d6b708772e63b2dc797d7305801be617fb32e75
|
2021-12-09 21:53:56 +08:00 |
arvinzzz
|
b2bcab3a5b
|
fix: Kconfig中打开littlefs选项默认关联打开LOSCFG_SUPPORT_LITTLEFS宏
close: #I4ENQ1
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ib86ba0e35860e225e57c8da9f481de55ba154a40
|
2021-12-06 18:14:56 +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
|
cd31fc9a8b
|
!368 【feature】内核支持musl与newlib C库切换
Merge pull request !368 from Zhaotianyu/1020newlib
|
2021-12-04 14:19:55 +00:00 |
arvinzzz
|
753d86014b
|
feature: 支持newlib与musl切换
系统支持newlib,并且可以与musl-C自由切换
1. 新增newlib支持,适配newlib的预留钩子,针对系统能力适配newlib头文件(补充宏定义,结构体定义,posix能力开关),
采用标准C与自研posix接口声明与结构体定义混合作为C库
2. 梳理kal的依赖关系,kal作为内核对外提供的标准接口,下属包含cmsis、libc、posix。
cmsis为内核对cmsis接口的支持,libc为内核对三方C库的适配及使用,posix为内核自研提供的posix标准接口。
若采用musl-C,则kal中选取libc/musl,posix共同作为C库对外支持;
若采用newlib-C,则kal中选取libc/newlib,部分posix共同作为C库对外支持。
3. fs整理,components/fs下提供基于posix标准的接口改为内部对外接口,供musl以及newlib切换 适配使用
close: #I4ENQ1
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I72eda5ac5499f72c67e800e22b0f39eb288f2b94
|
2021-12-04 21:43:55 +08:00 |
openharmony_ci
|
d3bf180b7f
|
!428 对arch.c文件里面的方法进行防空处理
Merge pull request !428 from xieshen9527/master
|
2021-12-02 02:19:31 +00: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 |
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 |
openharmony_ci
|
2ad9dc0eac
|
!426 feat: 调度、任务及pm解耦
Merge pull request !426 from zhushengle/pm
|
2021-11-27 02:08:29 +00:00 |
zhangyang
|
690b8f3627
|
refactor: 对arch.c文件中方法里面参数进行防空处理
close #I4JV90
Signed-off-by: zhangyang <zhangyang349@huawei.com>
|
2021-11-26 11:11:10 +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 |
openharmony_ci
|
57a8e03e89
|
!407 fix issues I4J4TK cat can not work well on big file
Merge pull request !407 from 冷钦街/cat_big2
|
2021-11-24 05:56:08 +00:00 |
openharmony_ci
|
a1e97964c6
|
!415 fix(shell):cp命令执行时 通配出多个源文件时错误提示不正确
Merge pull request !415 from 冷钦街/cp_hit
|
2021-11-24 05:55:43 +00:00 |
openharmony_ci
|
36712dcbb6
|
!421 修改lwip_porting.gni路径为全量路径,方便产品适配
Merge pull request !421 from 刘建东/master
|
2021-11-24 05:54:18 +00:00 |
openharmony_ci
|
ed02106eef
|
!416 【轻量级 PR】:修复一处资源泄漏
Merge pull request !416 from Caoruihong/N/A
|
2021-11-24 05:53:25 +00:00 |
YOUR_NAME
|
321cb9d193
|
refactor: use all path of lwip_porting.gni for other product
use all path of lwip_porting.gni for other product
close: #I4JKX9
Signed-off-by: liujiandong <liujiandong1@huawei.com>
|
2021-11-24 11:53:41 +08:00 |
openharmony_ci
|
8310aba4ea
|
!410 宏_BSD_SOURCE放在头文件中定义,其他模块使用lwip头文件时,可不用单独再定义
Merge pull request !410 from 刘建东/master
|
2021-11-24 01:41:39 +00:00 |
openharmony_ci
|
ed64fb1b2f
|
!409 littlefs新增FileOps->Fstat接口
Merge pull request !409 from Hongjin Li/liteos_m_add_fstats_to_littlefs
|
2021-11-24 01:38:39 +00:00 |
Caoruihong
|
b73898a022
|
修复一处资源泄漏
Signed-off-by: Caoruihong <crh.cao@huawei.com>
|
2021-11-23 07:15:06 +00:00 |
lengqinjie
|
8675abcec9
|
fix(shell):cp命令执行时 通配出多个源文件时错误提示不正确
close #I4JETR
Signed-off-by: lengqinjie <15390014138@163.com>
|
2021-11-23 14:09:12 +08:00 |
YOUR_NAME
|
57208d6e14
|
refactor: define _BSD_SOURCE in cc.h instead of gn file
define _BSD_SOURCE in cc.h instead of gn file
close: #I4J8OT
Signed-off-by: liujiandong <liujiandong1@huawei.com>
|
2021-11-22 15:27:00 +08:00 |
Hongjin Li
|
36b7577c5e
|
liteos_m文件系统中,components/fs/littlefs/lfs_api.c中新增注册.Fstat = LfsFstat接口。
Change-Id: Ic56364d1df71b369abfa5be617fc63b77a65b27b
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
|
2021-11-22 11:45:52 +08:00 |
lengqinjie
|
078bd0c4b1
|
refactor(shell):减少命令行参数的解析次数到1次(原来为2次)
通过调整获取命令类型的代码位置,达到减少解析次数的目的
经过分析,本修订无明确的副作用。
Signed-off-by: lengqinjie <15390014138@163.com>
|
2021-11-22 09:32:17 +08:00 |
lengqinjie
|
d518bad0dc
|
fix(shell): cat针对大文件无法工作
close #I4J4TK
Signed-off-by: lengqinjie <15390014138@163.com>
|
2021-11-22 09:07:58 +08:00 |
openharmony_ci
|
dd90483e39
|
!394 m核ioctl增加选项支持
Merge pull request !394 from 刘建东/master
|
2021-11-18 06:28:09 +00:00 |
openharmony_ci
|
afc362db23
|
!390 清理"bits/xxx.h"类头文件包含
Merge pull request !390 from Caoruihong/clean_bits
|
2021-11-15 09:35:10 +00:00 |
YOUR_NAME
|
5e8ac4b888
|
feat: add option for ioctl
add option for ioctl
close: #I4I3W5
Signed-off-by: liujiandong <liujiandong1@huawei.com>
|
2021-11-15 14:34:58 +08:00 |
openharmony_ci
|
942c614995
|
!371 支持Kconfig配置
Merge pull request !371 from Caoruihong/kconfig
|
2021-11-11 06:04:28 +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 |
openharmony_ci
|
1553e3ed88
|
!386 chore: shell体验优化
Merge pull request !386 from huangshan/chore
|
2021-11-10 08:49:51 +00:00 |
huangshan
|
57cff794ae
|
chore: shell完善帮助信息,特殊处理不可见字符
Signed-off-by: huangshan <huangshan9@huawei.com>
Change-Id: I3cbc559c388b5d5a524783c1f55c1e569a44465c
|
2021-11-09 20:42:18 +08:00 |