Commit Graph

931 Commits

Author SHA1 Message Date
houpengfei 566f46dee2 fix:backtrace严重BUG
Signed-off-by: houpengfei <houpengfei@talkweb.com.cn>
2022-01-17 20:35:04 +08:00
openharmony_ci 10fd031b09
!550 新增newlib的uio的接口支持
Merge pull request !550 from SimonLi/master
2022-01-17 12:14:26 +00:00
SimonLi 25a1eb522d feati(newlib): 新增newlib的uio的接口支持
Signed-off-by: SimonLi <likailong@huawei.com>
2022-01-17 19:16:59 +08:00
openharmony_ci 382872d998
!540 fix: 补充newlib对net的支持
Merge pull request !540 from Zhaotianyu/0113newlib_add
2022-01-17 09:02:37 +00:00
wangchen 2219c32784 fix: L0 pthread_cond_timedwait接口实现存在的几个问题
【背景】L0 pthread_cond_timedwait接口存在计算溢出

【修改方案】
1,新增abstick 相关修改,先判断再转成32位,避免截断
2,LOS_Event相关函数返回值的处理已存在,无需处理
【影响】
对现有的产品编译不会有影响。

re #I4N9P8
Signed-off-by: wangchen <wangchen64@huawei.com>
2022-01-17 07:34:39 +00:00
arvinzzz 93f616b64e fix: 补充net相关头文件
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I32f713800b5451bfd5350c10273f1513366d473a
2022-01-17 11:57:29 +08:00
wangchen 1c605a338a fix: OsGetAllTskInfo调用和异常时无任务回调函数地址
【背景】OsGetAllTskInfo调用和异常时无任务回调函数地址

【修改方案】
1,新增tskinfo内容

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

re #I4MG2T
Signed-off-by: wangchen <wangchen64@huawei.com>
2022-01-15 08:14:53 +00:00
openharmony_ci 570f2785bd
!537 补充完善原子接口测试用例及部分原子接口修复
Merge pull request !537 from ouyk/master
2022-01-13 10:44:04 +00:00
ou-yangkan 3900785b8f 补充完善原子接口测试用例及部分原子接口修复
Signed-off-by: ou-yangkan <519689417@qq.com>
2022-01-13 15:22:14 +08:00
openharmony_ci d50c106304
!536 xtensa架构增加alloc异常入口
Merge pull request !536 from ouyk/master
2022-01-13 03:06:19 +00:00
ou-yangkan 697a0cbdeb xtensa架构增加alloc异常入口
Signed-off-by: ou-yangkan <519689417@qq.com>
2022-01-12 16:12:48 +08:00
openharmony_ci b9c9936270
!509 libatomic底层实现补充
Merge pull request !509 from wangchen/atomic
2022-01-12 03:00:44 +00:00
openharmony_ci 852114d9d2
!532 kernel测试套适配xtensa及csky架构
Merge pull request !532 from gsshch/master
2022-01-12 01:35:56 +00:00
openharmony_ci 68cd62733f
!535 feat: newlib支持pthread_equal
Merge pull request !535 from zhushengle/equal
2022-01-12 01:33:08 +00:00
zhushengle ce5357eee1 feat: newlib支持pthread_equal
Close #I4QERS
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ife2c6afdd47b4bc0407e07f6f629716d4d0f2d1e
2022-01-11 21:27:57 +08:00
LiteOS2021 dcda9dcfa3 kernel测试套适配xtensa及csky架构
Signed-off-by: gsshch <17326005269@163.com>
2022-01-11 19:58:39 +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
openharmony_ci 47c6ef37d7
!527 支持IAR C++ thread_local特性
Merge pull request !527 from JerryH/iar_thread_local
2022-01-10 13:09:23 +00: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 4a120d7533
!528 修复内核gn模板编译依赖的问题
Merge pull request !528 from SimonLi/master
2022-01-08 07:53:08 +00:00
SimonLi 11215e111a build: 修复内核gn编译依赖的问题
背景:
1. //kernel/liteos_m/BUILD.gn通过excutable生成config.gni文件到
out目录下
2. //kernel/liteos_m/liteos.gni定义内核模板,依赖out目录下的config.gni
意味着使用内核模板的模块(例如device/board、device/soc)需要依赖
kernel/liteos_m/BUILD.gn先加载,有这个顺序依赖约束。

解决方案:
将生成config.gni部分移到liteos.gni模块定义处,解决这个约束。

Signed-off-by: SimonLi <likailong@huawei.com>
2022-01-08 14:58:38 +08:00
openharmony_ci 9d5668e52c
!497 Clang triple renaming
Merge pull request !497 from maweiye/master
2022-01-07 03:19:29 +00:00
openharmony_ci 9fe091bd42
!525 fix: 修正liteos-m内核README不准确信息
Merge pull request !525 from zhushengle/readme
2022-01-07 02:03:02 +00:00
openharmony_ci ba1d7e7b90
!517 feat:added assembly atomic interface
Merge pull request !517 from 王树林/master
2022-01-06 13:29:56 +00:00
openharmony_ci b89759c678
!517 feat:added assembly atomic interface
Merge pull request !517 from 王树林/master
2022-01-06 13:29:56 +00:00
zhushengle 0e067b2393 fix: 修正liteos-m内核README不准确信息
1.修正README不准确信息
2.新增内核编码规范指导

Close #I4PLWP

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iac96fb0a2e2bc80f82338921287c8ca987e89652
2022-01-06 17:21:10 +08:00
ou-yangkan 1513f50a47 feat: added assembly atomic interface
added 32-bit assembly atomic interface:

BREAKING CHANGE:
Assembly implementation:
    ArchAtomicRead
    ArchAtomicSet
    ArchAtomicAdd
    ArchAtomicSub
    ArchAtomicInc
    ArchAtomicIncRet
    ArchAtomicDec
    ArchAtomicDecRet

https://gitee.com/openharmony/kernel_liteos_m/issues/I4O1UC
Signed-off-by: wang-shulin93 <15173259956@163.com>
2022-01-06 10:37:54 +08:00
openharmony_ci f3fbeb87db
!523 fix: tick timer时钟频率赋值修改为运行时赋值
Merge pull request !523 from zhushengle/tick_timer
2022-01-05 09:06:07 +00:00
zhushengle ae02afc850 fix: tick timer时钟频率赋值修改为运行时赋值
OS_SYS_CLOCK 宏由产品定义,该宏可能为函数,在编译时赋值无法覆盖该场景

Close #I4PGUR
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I60e3f4fcd8f94b26c23cc88e0622408a24fbebe2
2022-01-05 15:51:11 +08:00
openharmony_ci 3c19b017fc
!522 fix: 修复pthread_create相关问题
Merge pull request !522 from zhushengle/pthread
2022-01-04 11:16:07 +00:00
zhushengle cd949ddae0 fix: 修复pthread_create相关问题
1. 系统调度未起时,调用pthread_create失败
  系统调度未起时,系统无运行任务,获取当前线程失败
2. 先创建任务再给任务赋值name,且未加锁保护,和shell存在静态

Close #I4P78J

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I2570dcf90953ced06400a0a22193cc81719fb546
2022-01-04 15:06:13 +08:00
openharmony_ci 67f8149640 !480 feat: 内核提供tick timer框架,支持多架构多平台通用化
Merge pull request !480 from zhushengle/timer
2022-01-04 01:12:29 +00:00
openharmony_ci 9ebad7d291 !521 fix: 修复newlib缺省PTHREAD_KEYS_MAX 问题
Merge pull request !521 from zhushengle/key
2021-12-31 08:51:16 +00:00
zhushengle 65f04bf093 fix: 修复newlib缺省PTHREAD_KEYS_MAX 问题
Close #I4OX47
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I4c6b07a77dca5eb5b24f462e639ff173f06d5da0
2021-12-31 15:38:18 +08:00
openharmony_ci 1af387098f !520 pm codex告警清零
Merge pull request !520 from zhushengle/codex
2021-12-31 07:22:52 +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
openharmony_ci 909a18ec8f !510 feat: 支持posix线程私有数据能力
Merge pull request !510 from zhushengle/pthread_key
2021-12-30 06:34:28 +00:00
openharmony_ci bd0ae07bcf !511 fix: 公版gcc编译内核,调用calloc崩溃
Merge pull request !511 from Zhaotianyu/1228newlib_calloc
2021-12-30 01:12:29 +00:00
openharmony_ci ad6bdba415 !460 fix: 中断向量表对齐大小支持可配置
Merge pull request !460 from kenneth/align
2021-12-29 00:55:39 +00:00
zhushengle a856303b9c feat: 支持posix线程私有数据能力
BREAKING CHANGE:
  int pthread_key_create(pthread_key_t *k, void (*dtor)(void *))
  int pthread_key_delete(pthread_key_t k)
  int pthread_setspecific(pthread_key_t k, const void *x)
  void *pthread_getspecific(pthread_key_t k)

Close #I4ODEB
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I60ce26c20d1e2033922d2d1b01d73fc8938c8019
2021-12-28 19:55:10 +08:00
arvinzzz 8d0ced2069 fix: 修复公版gcc编译内核,调用calloc崩溃
使用内核提供的calloc接口替换工具链的实现

close: #I4OFG6

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ia979f2b613c8bab89b5df3aa4bd340f6cc6fabd7
2021-12-28 16:12:26 +08:00
kenneth cf9c8387e3 fix: 中断向量表对齐大小支持可配置
根据板端实际设置中断向量表对齐大小,支持可配置。

fix #I4M20E

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-12-28 09:52:13 +08:00
openharmony_ci 5a7fabe4f8 !498 fix: liteos_kernel_only=true编译内核报错
Merge pull request !498 from kenneth/mk
2021-12-28 00:59:20 +00:00
openharmony_ci d7fd58b986 !496 fix the compile warning
Merge pull request !496 from laojr1/master
2021-12-28 00:58:24 +00:00
wangchen 2f7f6f0cbb 【背景】使用公版gcc编译m核时,会缺少部分底层函数
【修改方案】
1,补充这部分接口

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

re #I4OAY9
Signed-off-by: wangchen <253227059@qq.com>
2021-12-27 12:55:53 +00:00
openharmony_ci 28d0761b85 !505 解决m核开启ipv6功能的编译的问题
Merge pull request !505 from xieshen9527/master
2021-12-27 06:23:03 +00:00
zhangyang c7843926b8 refactor: 解决m核开启ipv6功能的编译
close #I4NOIP

Signed-off-by: zhangyang <zhangyang349@huawei.com>
2021-12-27 12:00:30 +08:00
openharmony_ci 900f183260 !504 在arch\csky\v2\gcc\los_exc.S中添加IrqEntry函数实现
Merge pull request !504 from ouyk/master
2021-12-27 03:38:51 +00:00