Commit Graph

97 Commits

Author SHA1 Message Date
JerryH 9689522a8e fix: 清除因g_tm变量没有使用引入的编译告警
close #I4LW3H

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I8f1be047ce5af5e7d50822c22764f9b2f04167d9
2021-12-11 10:38:35 +08:00
openharmony_ci a1b4ebd479 !454 解决gmtime和localtime接口由于g_tm全局变量导致的竞态问题
Merge pull request !454 from JerryH/time
2021-12-10 02:20:33 +00:00
JerryH 1454b76482 fix: 解决gmtime和localtime接口由于g_tm全局变量导致的竞态问题
删除全局变量,接口使用自己的内部静态变量,避免竞态

Close #I4LW3H

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I3c74b1897b3909df93d21b9d521af270cc6fc610
2021-12-10 09:24:30 +08:00
yangjian 8594ee469a feat: adapt net
Signed-off-by: yangjian <jianyang@bestechnic.com>
Change-Id: I91d1ef2b5b77be7ec84af939db202a8b06a9b68f
2021-12-09 21:08:04 +08:00
arvinzzz 885027dc91 feature: newlib支持lwip
close: #I4LPB2

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I01fcc0ef35e69103562d4c59e52b335a5695dfc7
2021-12-08 22:06:12 +08: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
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
arvinzzz e45bcc9d4f refactor: 将安全函数库的编译行为由三方移至内核进行控制
close: #I4JUKM

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I201507aae937a01f49eafcf5909c07eae4a60123
2021-11-26 11:07:37 +08:00
x-xiny 9c8377fcc6 fix:在非静态初始化条件下pthread_mutex_lock,没有经过init初始化就可以对已销毁的锁进行加锁
【背景】
 在非静态初始化条件下pthread_mutex_lock,没有经过init初始化就可以对已销毁的锁进行加锁

【修改方案】
 在pthread_mutex_destroy中将mutex的magic标记字段清除

 re #I4I7OA

 Signed-off-by: x-xiny <1301913191@qq.com>

Change-Id: I5d4cceff852e20e659a7cd06acf27cc6f381962c
2021-11-15 06:47:03 +00: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
zhushengle d2be4d7a46 feat: 支持pthread_mutex属性相关接口
接口列表:
pthread_mutexattr_init
pthread_mutexattr_settype
pthread_mutexattr_destroy

Close #I4G4RQ

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I7aea47e375ffe961a3dcbf39da6b84561e3d0a8f
2021-10-30 15:25:56 +08:00
zhushengle 68dad2ccc9 feat: 支持pthread_condattr_setclock
Close #I4ETLN
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I0b3ddbb0d99000c67f9b41944ab0ab4878094a8b
2021-10-21 11:42:23 +08:00
openharmony_ci af8a6d5047 !259 完善CMSIS-RTOS V2部分接口(osSemaphoreNew,osThreadJoin)
Merge pull request !259 from Caoruihong/cmsis
2021-09-24 02:24:11 +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
Caoruihong d478152762 feat(cmsis): support max_count for osSemaphoreNew
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Iacb6cb7771ae32ea1ca645c72fda241e8e85d422
2021-09-23 16:32:21 +08:00
zhushengle 2b1e5a7a13 fix: 修复pthread_create行为与posix不一致问题
1.提升posix接口和LOS接口的兼容性
2.支持优先级继承属性

Close #I49W9F
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I4d9df778a559f094dd3062e5e7030e3a03c884ec
2021-09-15 14:21:01 +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
wangchen deff7c921f fix: M核编译配置修改
【背景】完善M核编译配置选项。

【修改方案】
1,在build.gn中添加config.gni的包含
2,修改部分build.gn中的格式规范问题

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

re #I46XEA
Signed-off-by: wangchen <253227059@qq.com>
2021-08-24 10:57:48 +08: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 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 ff7da435cf !243 fix: qemu中,timer模块缺少头文件
Merge pull request !243 from give-me-five/master
2021-08-02 03:43:09 +00:00
silen 12fed74722 fix: timer qemu 头文件缺失
Change-Id: I763ee6f0d013d84f36da9a7cb6d369f3d02e6c45
Signed-off-by: silen <wuyunjie@huawei.com>
2021-08-02 10:37:47 +08:00
wangchen cb5f862eaf fix: M核代码告警清零
【背景】定期M核代码告警清零。

【修改方案】
根据工具扫描结果,对代码告警进行更改。

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

re #I4386N
Signed-off-by: wangchen <253227059@qq.com>
2021-07-30 18:34:08 +08:00
lnlan c24c38b084 feat(kernel): 补充获取最高、最低优先级接口
【背景】
补充获取最高、最低优先级接口
【修改方案】
pthread补充这两个接口
int sched_get_priority_min(int policy)
int sched_get_priority_max(int policy)
【影响】
对现有的产品编译不会有影响。

re #I42HM7

Signed-off-by: lnlanc <lanleinan@163.com>
Change-Id: Id2ffc07e606ad497e8036f45dab1fa6a5ba981b3
2021-07-27 11:21:05 +00:00
x_xiny d8c8c22666 fix:消除编译告警
【背景】
 消除编译告警

【修改方案】
 消除编译告警

 re #I3ZC1R

 Change-Id: If5748c7ed420a9ff822c20ffb17dee2815e9bddc

 Signed-off-by: x-xiny <1301913191@qq.com>

Change-Id: Id78631543b0c41f11e1c3594200a3ad43543bbf5
2021-07-09 10:05:31 +08:00
Caoruihong bfa25fcaa3 feat: add deps to musl and securec
add deps to musl, and securec.
fwrap.c's contents are moved to musl.

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ib451736798efd9745c6fbbbe5f355eea13477031
2021-06-26 18:04:27 +08:00
openharmony_ci eca03e5ed6 !195 feat: L0新增posix接口sem_getvalue
Merge pull request !195 from x_xiny/master
2021-06-24 07:15:06 +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 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
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
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
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 2f6ab80a06 !170 解决fclose等函数工具链重定义问题
Merge pull request !170 from wangchen/master
2021-06-07 21:02:56 +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
mucor 761b86096c fix(mbedtls): mbedtls l0 support
close: #I3UBJA
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-04 16:07:06 +08:00
give-me-five 6d7291660a fix: 删除MQ内冗余的重复宏定义
【背景】
去除多余宏定义
【修改方案】
宏定义规格有重复定义问题,需要删除。
【影响】
无
re #I3U5BE:删除重复定义的mq宏
2021-06-03 17:42:15 +08:00
openharmony_ci 5bd69a9ea6 !143 修复timer_settime接口功能缺陷
Merge pull request !143 from Zhaotianyu/0529timer_fix
2021-06-02 17:06:36 +08:00
arvinzzz a5f4e37e53 fix: 修复timer_settime只设置第一次到期时间时,到期时间不准的缺陷
close: #I3TCHA

Change-Id: Ie5c2ab74a8cbbd86dce913b53ae791f8f2da5133

Signed-off-by: arvinzzz <fcykztyu@163.com>
Change-Id: I571b0a3577026011aabcb0235985ea3e9be4441c
2021-06-02 16:37:53 +08:00
arvinzzz 2d9bbd2769 fix: 修复不规范的copyright
close: #I3SPJ1
Change-Id: I6cb01024ef342a0190f5dc9f6cb3a1e815692832

Signed-off-by: arvinzzz <fcykztyu@163.com>
Change-Id: I45c63592b08d29587778209de6af17f932dc86d0
2021-06-02 11:07:59 +08:00
openharmony_ci 619fd42ded !101 将符号链接改回实体文件或目录
Merge pull request !101 from Caoruihong/remove_third_party
2021-05-20 09:32:26 +08:00
kenneth 0c2a675e2d fix: fix comment typo issue
The extentions is changed to extensions

close https://gitee.com/openharmony/kernel_liteos_m/issues/I3R970
2021-05-18 09:45:49 +08:00
Caoruihong 8d353084d6 remove symlinks which is not supported on windows platform
use submodules instead of symlinks for bounds_checking_function and cmsis_os2.h

Change-Id: I105c3d2c537d9c3c725adf1265a3312df4286916
2021-05-17 22:28:19 +08:00
YOUR_NAME bcc34e22ed fix: modify the return type of LOS_IntLock from UINTPTR to UINT32.
Change-Id: I6207e5cb7d612a154a88de4e9e274c67127361d8
2021-05-14 11:33:05 +08:00
openharmony_ci 658c340644 !109 XX产品上,存在使用littlefs文件系统重复打开文件会新创建Fd,与预期不一致,改为返回失败
Merge pull request !109 from li_zan/master
2021-05-12 11:05:13 +08:00
openharmony_ci acf317a8cd !119 支持sleep函数
Merge pull request !119 from zhangfanfan2/master
2021-05-11 20:02:05 +08:00
zhangfanfan2 03be5e6e92 feature: Add sleep function 2021-05-11 16:48:35 +08:00
openharmony_ci d38087fa2f !67 LiteOs-m内核posix接口修改和用例补充
Merge pull request !67 from babu_g/noEmployeeNum_ChangeID_13651229_guanzehui
2021-05-11 16:47:41 +08:00