Commit Graph

670 Commits

Author SHA1 Message Date
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 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
openharmony_ci 6a3f7d85f2 !432 fix: 修正部分编码风格问题
Merge pull request !432 from zhushengle/code
2021-11-29 06:52:07 +00:00
openharmony_ci f460976604 !431 修改测试代码里的敏感词
Merge pull request !431 from LeonChan/master
2021-11-29 06:46:27 +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
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 2ad9dc0eac !426 feat: 调度、任务及pm解耦
Merge pull request !426 from zhushengle/pm
2021-11-27 02:08:29 +00:00
openharmony_ci 9af519b3f0 !429 kernel/liteos_m/OAT.xml文件中路径错误
Merge pull request !429 from Hongjin Li/local_hongjin-li
2021-11-26 10:19:04 +00:00
Hongjin Li 4b4a1ad943 修复OAT.xml文件中路径错误。
Change-Id: I432c5241b67139a958874f6705173e4f6bce16de
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
2021-11-26 17:37:55 +08:00
openharmony_ci 2cf3b19563 !427 refactor: 将安全函数库的编译由三方移至内核进行控制
Merge pull request !427 from Zhaotianyu/1125libsec
2021-11-26 06:46:01 +00:00
arvinzzz e45bcc9d4f refactor: 将安全函数库的编译行为由三方移至内核进行控制
close: #I4JUKM

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I201507aae937a01f49eafcf5909c07eae4a60123
2021-11-26 11:07:37 +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 119e2d328a !392 补充内存释放函数。
Merge pull request !392 from pef/master
2021-11-25 08:32:36 +00:00
openharmony_ci e47bbdaa1b !411 make //kernel/liteos_m:kernel avaliable to all targets
Merge pull request !411 from yaoxiaoyu_903c/master
2021-11-25 05:06:02 +00:00
openharmony_ci d8e512cd7b !422 【轻量级 PR】:[fix] fix target build error
Merge pull request !422 from bh6bao/N/A
2021-11-25 02:45:17 +00:00
openharmony_ci b3ae1a9002 !423 fix: 修复arch目录调整影响到的target目录下的文件
Merge pull request !423 from kenneth/rename_arch_dir
2021-11-25 02:44:48 +00:00
yaoxiaoyu 9b4386380c make //kernel/lite_m:kernel available for all targets
Signed-off-by: yaoxiaoyu <yaoxiaoyu1@huawei.com>
Change-Id: Ibec8b49c6ece051301fd4d298c7a3b9b20d53409
2021-11-24 15:30:08 +08:00
kenneth d5725b2264 fix: 修复arch目录调整影响到的target目录下的文件
将arch目录从kernel中移到根目录下 影响target目录下面的readme、makefile文件。

close #I4JM7Z

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-24 15:10:22 +08:00
bh6bao 7920eb38fc [fix] fix target build error
Signed-off-by: bh6bao <904710733@qq.com>

Fix compile error caused by arch directory change
2021-11-24 06:13:44 +00:00
openharmony_ci 25d1d68db5 !401 fix: ReadMe中无对动态加载模块待加载的共享库的限制说明。
Merge pull request !401 from Harylee/readme
2021-11-24 05:57:05 +00: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 431fcd2443 !412 fix: 在头文件中补充LOSCFG_MEM_FREE_BY_TASKID函数的声明
Merge pull request !412 from kenneth/freeTask
2021-11-24 05:55:13 +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
openharmony_ci 05a487dcf6 !408 refactor(shell):减少命令行参数的解析次数到1次(原来为2次)
Merge pull request !408 from 冷钦街/reduce
2021-11-22 21:10:48 +00:00
kenneth ad18026a59 fix: 在头文件中补充LOSCFG_MEM_FREE_BY_TASKID函数的声明
LOSCFG_MEM_FREE_BY_TASKID函数在头文件kernel\include\los_memory.h中没有声明,使用会有警告,补充声明该函数。

close #I4JBOV

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-22 20:40:32 +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 4e0bf74f4a !403 Board 和 SoC分离,编译适配
Merge pull request !403 from SimonLi/master
2021-11-21 02:17:37 +00:00
SimonLi 3f1c04dd57 feat: Board 和 SoC分离,编译适配
1. BUILD.gn 根据device_path中是否包含board,来判别 SoC 和 Board 分离特性是否打开,
根据特性开关兼容以前老的Build.gn编译方式

2. Makefile 中新增BOARD_COMPANY环境变量传给Kconfig,确定选择哪一个 Board

3. Kconfig 兼容老的形式,新增 device 路径下 Kconfig.liteos_m.xxxx 表示为 liteos_m
适配 Kconfig 功能,不会影响其他内核适配。主要是同个device 路径下,会有多个不同的
内核进行适配Kconfig。

Signed-off-by: SimonLi <likailong@huawei.com>
Change-Id: Iaa2ffc6e56ab9127bb13dbbb934414f63dfbcdc2
2021-11-20 08:17:52 +08:00
openharmony_ci b7de7f6085 !398 清理YES/NO宏
Merge pull request !398 from Caoruihong/remove_yesno
2021-11-18 09:32:42 +00:00
openharmony_ci dd90483e39 !394 m核ioctl增加选项支持
Merge pull request !394 from 刘建东/master
2021-11-18 06:28:09 +00:00
openharmony_ci b537f8733d !397 将arch目录从kernel中移到根目录下
Merge pull request !397 from Caoruihong/move_arch
2021-11-18 03:38:10 +00:00
Haryslee f86b97180f fix: ReadMe中无对动态加载模块待加载的共享库的限制说明。
背景:动态加载模块需要确保待加载共享库的安全性,由用户保证。

close #I4ICK8

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I6390ab3059ce6d134669c62a14f913e5b09b291d
2021-11-17 10:22:23 +08: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
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
openharmony_ci c9f2c110c6 !396 fix:在非静态初始化条件下pthread_mutex_lock,没有经过init初始化就可以对已销毁的锁进行加锁
Merge pull request !396 from x_xiny/master
2021-11-15 11:10:09 +00:00