Commit Graph

35 Commits

Author SHA1 Message Date
zhushengle 7de43bb004 fix: 修复kill进程时,因liteipc阻塞的进程概率无法退出问题
kill进程时,会将因为liteipc阻塞的线程唤醒,使其调度并自动退出,由于liteipc阻塞机制为
循环阻塞方式,会导致将因liteipc阻塞的线程唤醒后又进入等待中。此处在唤醒因liteipc阻塞的
线程后检查是否已有kill标志,如果有使其按接收数据失败退出,在返回用户态之前,该线程会进
入退出流程,结束运行。

Close #I3XX7K

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iec4e298dff4aefd2994289067a35cb5673e323f9
2021-06-26 17:08:48 +08:00
mucor 3d1cf683f3 feat: add clear cache cmd to /proc/fs_cache
write "clear pathcahe" to clear pathcaches and vnodes
write "clear pagecache" to clear pagecaches
write "clear all" to clear both pathcaches and pagechaches
the cache in use will not be cleared

close: #I3XLPH

Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-24 15:11:50 +08:00
mucor 231cb6be27 feat: add /proc/fs_cache to display cache info
add /proc/fs_cache to display vnode, path cache, page cache.
also change some bad virable name

close: #I3WWBD

Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-22 14:53:17 +08:00
SimonLi 2f3d7efc24 回退 'Pull Request !342 : 增加/proc/fs_cache来显示文件系统缓存维测信息' 2021-06-21 21:33:52 +08:00
mucor 53c6d96c6f feat: add /proc/fs_cache to display cache info
add /proc/fs_cache to display vnode, path cache, page cache.
also change some bad virable name

close: #I3WESD

Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-21 16:11:06 +08:00
kenneth f0b419099d chore: rename function OsCreateUserVmSpace
rename function OsCreateUserVmSpace to fix typo

close https://gitee.com/openharmony/kernel_liteos_a/issues/I3QD42

Signed-off-by: kenneth <459864689@qq.com>
2021-06-16 15:00:53 +08:00
openharmony_ci 647f3defcd !296 支持最小化特性编译,添加了一个针对qemu arm virt的样例config配置
Merge pull request !296 from Caoruihong/master
2021-06-07 22:51:46 +08:00
Caoruihong 744b2021b2 chore: add a mini config for qemu arm virt
support turn off as many features as possible.
current only libc and posix and bsd can not be turned off.

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I1e97570c67593207a56dc11f357eca4b4a018bfd
2021-06-05 17:40:22 +08:00
Kiita e5f6bf0556 feat: timer_create支持以SIGEV_THREAD方式创建定时器
【背景】当前timer_create接口不支持以SIGEV_THREAD的方式创建多个定时器

【修改方案】
1、内核timer_create接口在创建software timers相应的线程时,使用线程
taskCB所携带的信息识别各个线程的信号并依据该信息分别派发出信号。
2、关于用户任务操作许可验证的修改,现在允许同一用户线程向其自身派发信
号,软件定时器计时结束,向用户态发送相应的信号,完成用户态线程的回调。

【影响】
对现有的产品暂无影响。

re #I3SRFI

Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: Ia23f5ef01975bf867dd7f5db797a30c264c50501
2021-06-04 15:29:44 +08:00
openharmony_ci 2067b2f648 !256 fix: 解决kill进程时无法保证进程持有的系统资源合理释放
Merge pull request !256 from zhushengle/Sig
2021-06-03 17:00:00 +08:00
zhushengle cf89f016e9 fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放.
背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
      如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
      号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
      果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
      了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
      那么它持有的内核资源就无法被释放了。
方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
      处理信号,等系统调用结束或缺页异常结束时再去处理信号。
解决的问题:
  1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
  2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
  3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程

Close #I3S0N0

Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
2021-05-24 14:29:37 +08:00
arvinzzz d2f2679071 fix: Delete useless 'exc interaction' macros and function declarations.
close: #I3SDKY

Change-Id: I5ed9356ce2b55b6e07c3f192cdbc4a4f6fbfaa58
2021-05-21 15:10:05 +08:00
arvinzzz 8cde768588 refactor: Refactored the kernel boot process and added a init framework
close: #I3I768

Change-Id: I4f801df4abe1a9afdf43391c28276e96a5e81513
2021-05-20 16:45:43 +08:00
openharmony_ci 6f99abfc7b !222 fix: correct spelling
Merge pull request !222 from rtos-lover/los_task
2021-05-19 13:46:10 +08:00
kenneth 8f8c038b21 fix: fix function name OsSchedSetIdleTaskSchedParam
correct function name OsSchedSetIdleTaskSchedParam

close https://gitee.com/openharmony/kernel_liteos_a/issues/I3RQ6J
2021-05-18 09:02:48 +08:00
zhushengle 1e308db64e fix:Fixed exception not saving stack pointer of SVC mode and abnormal signal processing issues
Close #I3OAFR

Change-Id: I25b14572809b6fabb9e9d17de89a99047c02a59b
2021-05-11 09:58:54 +08:00
rtos-lover c66fe0313f fix: correct spelling
correct some typos in los_task.c and other files

close https://gitee.com/openharmony/kernel_liteos_a/issues/I3QDB8
2021-05-08 11:23:08 +08:00
zhushengle f6c4f6f5da fix: Solution of conflict
Change-Id: If6304999f1dfbcdfbc1670b73ace61b8024336bd
2021-05-06 21:10:22 +08:00
zhushengle 6d63f75e7f fix:Solve the coupling between the kernel and the structure under ARCH.
Close #I3OAFR

Change-Id: Icea238e20adf402d0ec1fc7e47ff4e58124a5e83
2021-04-26 19:54:49 +08:00
Haryslee 20754539e4 remove redundant field regions in VmSpace structure
Change-Id: I626a96376fe6bee69b10ee9b56495d62849c19b7
2021-04-26 14:39:45 +08:00
openharmony_ci 7ba0bfa800 !157 删除无用的__cplusplus,移除不必要的文件x权限
Merge pull request !157 from Caoruihong/cplusplus
2021-04-20 09:01:45 +08:00
Caoruihong 7e73c929a2 remove __cplusplus guards in .c files
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
2021-04-19 18:28:25 +08:00
Caoruihong 1ea9610ffd code optimization
Change-Id: I8d2e9f96e86f4130474da9898791240b5d42328e
2021-04-19 15:24:00 +08:00
zhangfanfan2 23037dfd38 新增函数LOS_CurrSpaceGet 2021-04-17 16:28:03 +08:00
YOUR_NAME c959d43684 IssueNo:#I3E0F2
Description:Delete VM to support only kernel mode.
Sig:liteos_a
Feature or Bugfix:Feature
Binary Source:No

Change-Id: Ie1029c8fbc0c1b85c138663933118d2d148b7769
2021-03-31 16:14:54 +08:00
mamingshuai 73a7b66116 update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
openharmony_ci 58da2cb0c2 !33 OpenHarmony LiteOS-A QEMU support
Merge pull request !33 from WojciechZmuda/qemu-arm-dev
2020-12-31 18:21:58 +08:00
Zbigniew Bodek 07c89a8473 Fix IS_PERIPH_ADDR() and IS_MEMORY_ADDR() macros
The macros assume that constants that are compared against
"addr" are either unsigned or less than INT_MAX.
In some cases it is not true so change costants to unsigned
using U32_C macros.
The correct solution would be to change teh MEM_ADDR, PMM_BASE, etc.
to be unsigned long but currently "U" suffix is appended in various
places so the assumption is that those macros use default definition
(which is int).

Put "addr" into brackets by the way since it could be an expression
rather than one variable.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: Ife9bc5863b4934ecaab64b24faa084b87d7d7ea5
2020-12-31 00:54:33 +08:00
Zbigniew Bodek 994ad00de7 Change DEFINE macro to U32_C
The macro to append "U" suffix should be named
according to what it actually does which is defining U32 constant.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: I55701f0650c88bd083c062581af5c7a1b966bc0b
2020-12-31 00:53:09 +08:00
likailong 3dd32b9901 Description: add protect flag to resource task
Reviewed-by: shenwei and zhangfanfan
2020-12-26 10:43:04 +08:00
zhushengle 4ff3c4bf79 Description:Process security function rectification.
Reviewed-by:liulei, lihao, likailong

Change-Id: Ibacdda2ccbbc991ac9732f2ad09bdb98195203b3
2020-11-05 09:10:14 +08:00
Caoruihong 63bd69267a drop unnecessary executable file permission mode
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
2020-10-13 16:37:25 +08:00
zhushengle 12b81567df 修改PCB中错误的注释,并统一注释格式 2020-09-28 21:47:42 +08:00
Harylee f62115dfef Fix mmap 2020-09-28 16:32:18 +08:00
wenjun 6df931fc98 add OpenHarmony 1.0 baseline 2020-09-08 17:22:24 +08:00