Commit Graph

1007 Commits

Author SHA1 Message Date
Haryslee 6c2b163c7d fix: 修复重复执行内存用例导致系统卡死问题
背景:重复执行内存测试用例约几百次,系统大概率出现卡死现象,经分析知,系统卡在
内存spinlock锁中,CPU1在获取内存spinlock锁后打印异常信息,此时循环buffer满了,
CPU0此时进入异常且尝试拿取内存spinlock锁,两个核都处于锁中断锁任务状态,CPU1
写事件触发调度打印输出失败,进而在write接口中死循环无法退出,导致两个核都卡住。
方案:在write接口中增加一个判断条件:当前核处于锁任务状态且循环buffer满了时候,
直接退出循环,丢弃打印信息(持有spinlock锁后一般禁止输出打印信息)。

close #I4F7PO

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I3f49a1bb211821e9c5d1d220d6867962d6a45a79
2021-12-29 14:27:43 +08:00
openharmony_ci 979a8a8f27 !738 fix: 修复xts权限用例压测异常问题
Merge pull request !738 from Harylee/readme
2021-12-25 02:10:18 +00:00
openharmony_ci b6f9dbbdba !747 修改procfs默认权限为550
Merge pull request !747 from LeonChan/master
2021-12-24 09:03:50 +00:00
Leon Chan a776c04a3d fix: change default permission of procfs to 0550
close: #I4NY49

Signed-off-by: Leon Chan <chenwei26@huawei.com>
2021-12-24 12:03:58 +08:00
openharmony_ci f7932bd006 !744 LOS_Panic和魔法键功能中的使用PRINTK打印,依赖任务调度,特殊情况下存在打印不出来的问题
Merge pull request !744 from zhangfanfan2/master
2021-12-23 07:08:02 +00:00
Haryslee b0d31cb43f fix: 修复xts权限用例压测异常问题
用例异常时出现Domain fault或者unknown fault,经分析发现是TLB缓存一致性问题,
在缺页异常入口,对上述两种异常类型做异常地址TLB缓存清理即可。

close #I3ZJ1D

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: Ib84e3e87047fcac392b83a4cf6cca0d91754e66f
2021-12-23 08:50:43 +08:00
zff 53addea304 fix: LOS_Panic和魔法键功能中的使用PRINTK打印,依赖任务调度,特殊情况下存在打印不出来的问题
close: #I4NOC7

Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I7f28e79293d3388e2b1d7208c2b8ff8ff133528a
2021-12-22 17:02:58 +08:00
openharmony_ci 954e7eb0cf !735 支持产品定制化hilog内核缓存大小
Merge pull request !735 from shenchenkai/master
2021-12-18 06:52:23 +00:00
shenchenkai 0e48a0dd12 Description:[feature] support customized hilog ring buffer size
Change-Id: I5d23deaada5939bbb6fb57505f72c2348bd6afe9
Signed-off-by: shenchenkai <shenchenkai@huawei.com>
2021-12-17 15:45:53 +08:00
openharmony_ci 52c12f7c9d !730 【轻量级PR】 console.c 分支优化
Merge pull request !730 from 雷电_SWAT/master
2021-12-16 04:26:19 +00:00
openharmony_ci 1e875d921b !734 fix: Watchdog test case repair
Merge pull request !734 from 尹树清/master
2021-12-15 02:59:56 +00:00
openharmony_ci 1db7aa7ada !733 refactor:los_cir_buf.c接口整合
Merge pull request !733 from Zhaotianyu/1213cirbuf_refactor
2021-12-15 01:46:39 +00:00
openharmony_ci 6a0c169780 !732 内核的编译框架在做编译入口的统一
Merge pull request !732 from wangchen/kernel_build
2021-12-15 01:09:40 +00:00
wangchen bdb9864436 fix: 编译框架在做编译入口的统一
【背景】编译框架在做编译入口的统一,a核两种编译方式生成结果有差异

【修改方案】
1,修改kernel依赖

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

re #I4KRQN
Signed-off-by: wangchen <253227059@qq.com>
2021-12-14 13:19:31 +00:00
yinshuqing bc69ca104c Watchdog test case repair
Signed-off-by: yinshuqing <yinshuqing@huawei.com>
2021-12-14 20:28:32 +08:00
arvinzzz 0d325c56a1 refactor: los_cir_buf.c中接口整合
将循环buf的上/解锁操作合进读/写操作里,删除对外上/解锁接口

BREAKING CHANGE:
1. 删除 LOS_CirBufLock(),LOS_CirBufUnlock()内核对外接口
2. LOS_CirBufWrite(),LOS_CirBufRead()由原先内部不进行上/解锁操作,变为默认已包含上/解锁操作。

close: #I4MC13

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ie3cc1abde7fa0e5479ccbf4e596426e509b5cef5
2021-12-14 11:00:36 +08:00
openharmony_ci 5bed688ca6 !731 【请求检视】fix: 修复LOSCFG_FS_FAT_CACHE宏关闭后编译失败的BUG
Merge pull request !731 from Far/master
2021-12-13 10:03:58 +00:00
Far 63e71feca0 fix: 修复LOSCFG_FS_FAT_CACHE宏关闭后编译失败的BUG
1. 在必要处增加宏开关关闭部分代码的编译;
2. 由于驱动是一个独立的内核线程,在一些场景下文件系统会将用户态地址透传给驱动,这会导致内核崩溃。
因此在需要透传用户态地址时增加了一个内核buffer作为中转。

Close #I3T3N0

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-12-13 15:01:16 +08:00
lcjh 2ada41c826 分支优化
去除不必要分支,使用三元操作符优化简单分支
Signed-off-by: lcjh <120989324@qq.com>
2021-12-11 12:35:41 +08:00
openharmony_ci 9b397173fe !728 移除顶层BUILD.gn中的visibility属性设置
Merge pull request !728 from Caoruihong/remove_visibility
2021-12-08 13:57:00 +00:00
openharmony_ci 2fa85a2c72 !703 fix: 解决dmesg -s参数double lock问题
Merge pull request !703 from Kiita/1109_dmesg
2021-12-08 10:56:48 +00:00
Caoruihong 63a0fcaefb chore(build): remove visibility of the top BUILD.gn
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I83616f794d169c8637ab79b2dd96d3858d11fce7
2021-12-08 17:55:07 +08:00
openharmony_ci 144214869f !643 添加对GCC工具链的支持
Merge pull request !643 from Caoruihong/support_gcc
2021-12-08 07:20:38 +00:00
Kiita e1512566e3 fix: 解决dmesg -s参数double lock问题
【背景】自研shell或者mksh拉起后使用dmesg -s命令出现自旋锁double lock的问题。

【修改方案】
dmesg -s参数设置dmesg缓冲区过程需要访问UartOutput所访问的全局缓冲区,这意味着两个功能模块
使用了同一把自旋锁,若在dmesg命令执行过程使用了打印,则就可能会导致double lock。因此拆分
了dmesg -s命令过程中自旋锁的使用区域,避开内核中必要的打印。

re #I4HIJK

Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: Iad74c058c9a8090fd3d9f338caab7d8f2170f9ac
2021-12-06 11:28:07 +08:00
Caoruihong 6e886d4233 feat(build): support gcc toolchain
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I6f2dea19cbd2e5b562bb51e30592205a2bb4fbdb
2021-12-05 02:49:48 +08:00
openharmony_ci 67e31f7b45 !726 fix: 删除冗余的头文件los_pmm.h
Merge pull request !726 from kenneth/los_pmm.h
2021-12-03 07:02:35 +00:00
openharmony_ci 26c09d26fc !727 fix: 修改MMU模块的注释错误
Merge pull request !727 from kenneth/page_idx
2021-12-03 07:01:51 +00:00
kenneth 1a8e22dcf1 fix: 修改MMU模块的注释错误
修改los_arch_mmu.c中的page_idx 为scanIndex,修改pmm_alloc_page为LOS_PhysPageAlloc。

fix #I4KMMJ

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-12-03 11:07:18 +08:00
kenneth 8e614bb161 fix: 删除冗余的头文件
删除无用的头文件kernel\base\include\los_pmm.h

fix #I4KN63

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-12-03 10:59:20 +08:00
openharmony_ci f88608e5a4 !722 内核ERR打印,无进程和线程信息,不方便问题定位
Merge pull request !722 from zhangfanfan2/other3
2021-12-03 02:38:15 +00:00
openharmony_ci 30d5badbce !723 用户态进程主线程退出时,其他子线程刚好进入异常处理流程会导致系统卡死
Merge pull request !723 from zhangfanfan2/master
2021-12-03 02:37:54 +00:00
openharmony_ci c8c07261ca !724 fix: los_stat_pri.h中缺少依赖的头文件
Merge pull request !724 from zhushengle/sched
2021-12-01 07:48:13 +00:00
zhushengle 2cd03c55b7 fix: los_stat_pri.h中缺少依赖的头文件
在los_stat_pri.h中添加los_typedef.h

Close #I4KEZ1

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I19f8b79f9f559e1324432280f123a911bf8caf27
2021-12-01 09:24:52 +08:00
openharmony_ci b3489d49d7 !721 feat: 提供低功耗默认处理框架
Merge pull request !721 from zhushengle/pm
2021-11-30 09:51:39 +00:00
zff d955790a44 fix: 用户态进程主线程退出时,其他子线程刚好进入异常处理流程会导致系统卡死
接口OsTaskExitGroup被同一个进程的两个互等线程重入,逻辑出现死循环,导致系统卡死

close: #I4KGBT

Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I484bba67473f7d0edbfdff95549ffb32bffb4988
2021-11-30 16:14:22 +08:00
zhangfanfan2 540b2017c5
fix: 内核ERR级别及以上的打印输出当前进程和线程名
Signed-off-by: zff <zhangfanfan2@huawei.com>
2021-11-30 07:41:03 +00:00
zhushengle 212d1bd1e8 feat: 提供低功耗默认处理框架
添加系统在不同低功耗下的默认处理函数。
Close #I4KBG9

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I7d9a32d03daf32998f4cfca17c57b3f0e614d4ac
2021-11-30 10:49:47 +08:00
openharmony_ci ba8438257a !715 feat: 支持L1 低功耗框架
Merge pull request !715 from zhushengle/pm
2021-11-29 07:04:55 +00:00
zhushengle 64e49aba7c feat: 支持L1 低功耗框架
方案描述:
   和L0保持一致,上层通过proc文件系统操作:
   power_mode  支持的低功耗模式,通过对该文件进行write操作可以设置低功耗模式
   power_count powermanager模块通过对该文件操作,和内核进行交互,简要流程如下:
     while (1) {
       open  // 打开该文件
       read  // 使powermanager低功耗任务常阻塞,当系统无任何模块持锁时,会唤醒该任务
       write // 进行低功耗流程
       close // 关闭该文件
     }
   power_lock    write该文件,持锁
   power_unlock  writw该文件,释放锁

Close #I4JSO

Change-Id: I73fcdeeb5e2039484b3351a81b46a0892b349fe9
Signed-off-by: zhushengle <zhushengle@huawei.com>
2021-11-29 11:58:47 +08:00
openharmony_ci 3e7cfaa520 !708 feat: L0-L1 支持Lms轻量级地址消毒
Merge pull request !708 from LiteOS/lms
2021-11-27 07:07:52 +00:00
LiteOS2021 e748fdbe57 feat: L0~L1 支持Lms
1.【需求描述】:
   支持内核态和用户态堆内存非法访问检测,包括:越界访问、double free、释放后使用;支持libc常用高频函数内存检测;支持安全函数内存检测;读写检测可配可裁剪。
2.【方案描述】:
   L0 ~ L1:
   (1).影子内存映射与标记
   (2).编译器使能-fsanitize=kernel-address 自动插桩检测点
   (3).实时校验影子内存的合法性;
   (4).错误访问打印回溯栈

BREAKING CHANGE: 新增支持API:

LOS_LmsCheckPoolAdd使能检测指定内存池
LOS_LmsCheckPoolDel不检测指定内存池
LOS_LmsAddrProtect为指定内存段上锁,不允许访问
LOS_LmsAddrDisableProtect去能指定内存段的访问保护

Close #I4HYAV

Signed-off-by: LiteOS2021 <dinglu@huawei.com>
Change-Id: Id8e5c890656da9edc4a22227e6a3c32205c024ce
2021-11-27 11:13:41 +08:00
openharmony_ci 48f645db84 !717 refactor:内核安全函数库编译复用三方目录安全函数库中的配置
Merge pull request !717 from Zhaotianyu/1125libsec
2021-11-26 06:46:02 +00:00
arvinzzz d73aff846b refactor: 内核编译安全函数库复用三方安全函数库中的配置清单,减少冗余
close: #I4JUKM

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I30115a12b9244ac4821c443a838aa248b47d4fb9
2021-11-26 11:04:12 +08:00
openharmony_ci ce4323ff16 !704 【fix】smp启动时副核冗余的启动框架调用
Merge pull request !704 from Zhaotianyu/1110smpinit_fix
2021-11-25 22:48:51 +00:00
openharmony_ci f6a7003c16 !711 硬件随机数配置选项增加arm virt平台支持
Merge pull request !711 from laokz/rng
2021-11-25 13:57:33 +00:00
openharmony_ci c12bef84b2 !716 [LTS-3.0]修复jffs2适配层错误释放锁的BUG
Merge pull request !716 from Far/cherry-pick-1637845785
2021-11-25 13:56:13 +00:00
openharmony_ci 7a7c67cbdd !712 修复jffs2适配层错误释放锁的BUG
Merge pull request !712 from Far/master
2021-11-25 13:56:12 +00:00
Far d2a2f96adf fixed 011a55f from https://gitee.com/yesiyuanjim/kernel_liteos_a/pulls/712
fix: 修复jffs2适配层错误释放锁的BUG

修复重复释放jffs2全局锁的BUG

Close #I4FH9M

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-11-25 13:09:48 +00:00
openharmony_ci 5db6c62313 !710 清理YES/NO宏
Merge pull request !710 from Caoruihong/remove_yesno
2021-11-18 09:32:42 +00:00
Far 011a55ff21 fix: 修复jffs2适配层错误释放锁的BUG
修复重复释放jffs2全局锁的BUG

Close #I4FH9M

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-11-18 14:22:25 +08:00