318 Star 2.1K Fork 1K

OpenHarmony / kernel_liteos_a

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CHANGELOG.md 54.26 KB
一键复制 编辑 原始数据 按行查看 历史
yinjiaming 提交于 2023-04-23 16:56 . fix:文档失效链接清理

(2022-03-30)

Bug Fixes

  • arm-virt: HW_RANDOM_ENABLE配置支持arm virt平台 (68f9f49)
  • A核代码静态告警定期清理 (9ba725c), closes #I4I0O8
  • change default permission of procfs to 0550 (a776c04), closes #I4NY49
  • change the execFile field in TCB to execVnode (e4a0662), closes #I4CLL9
  • close file when process interpretor failed (a375bf5), closes #I4ATQX
  • codex 清理 (9ab3e35), closes #I4BL3S
  • dyload open close failed (5e87d8c), closes #I452Z7
  • fix ppoll (a55f68f)
  • fix some function declarations (63fd8bc)
  • implicit declaration of function 'syscall' in apps/shell (bd0c083)
  • LOS_Panic和魔法键功能中的使用PRINTK打印,依赖任务调度,特殊情况下存在打印不出来的问题 (53addea), closes #I4NOC7
  • los_stat_pri.h中缺少依赖的头文件 (2cd03c5), closes #I4KEZ1
  • los_trace.h接口注释错误修正 (6d24961), closes #I4CYPZ
  • MMU竞态问题修复 (748e0d8), closes #I2WARC
  • mtd: 去除mtd对hisilicon驱动的依赖 (f7d010d), closes #I49FKL
  • OsFutexWaitParamCheck函数中absTime为0时,直接返回,不需要打印 (3f71be7), closes #I4D67E
  • OsLockDepCheckIn异常处理中存在g_lockdepAvailable锁嵌套调用, (bf030b6), closes #I457ZZ
  • pr模板补充说明 (e3cd485)
  • same file mode for procfs files (c79bcd0), closes #I4ACTC
  • shell支持exit退出,完善帮助信息,特殊处理不可见字符 (cc6e112)
  • smp初始化中副核冗余的启动框架调用 (5ce70a5), closes #I4F8A5
  • solve SIGCHLD ignored in sigsuspend() (5a80d4e), closes #I47CKK
  • syscall review bugfix (214f44e), closes #149
  • test: misc09用例因依赖hosts文件而失败 (f2f5c5f), closes #I48IZ0
  • test: 修复sys部分用例因依赖passwd、group文件而失败 (614cdcc), closes #I48IUC
  • 中断中调用PRINTK概率卡死,导致系统不能正常响应中断 (9726ba1), closes #I4C9GC
  • 临终遗言重定向内容缺失task相关信息,对应的shell命令中申请的内存需要cacheline对齐 (48ca854), closes #I482S5
  • 优化liteipc任务状态,删除功能重复字段 (5004ef4), closes #I4FVHK
  • 优化trace buffer初始化,删除swtmr 桩中的无效参数 (b551270), closes #I4DQ1X
  • 修复 virpart.c 不适配的格式化打印问题 (de29140), closes #I4PEVP
  • 修复A核文档失效的问题 (456d255), closes #I4U7TF
  • 修复A核测试用例失败的问题 (59329ce), closes #I4SQDR
  • 修复A核测试用例失败的问题 (be68dc8), closes #I4SQDP
  • 修复dispatch单词拼写错误。 (9b07aec), closes #I4BLE8
  • 修复futime提示错误22的BUG (f2861dd)
  • 修复jffs2适配层错误释放锁的BUG (011a55f), closes #I4FH9M
  • 修复los_vm_scan.c中内部函数OsInactiveListIsLow冗余代码 (bc32a1e), closes #I4HKFF
  • 修复LOSCFG_FS_FAT_CACHE宏关闭后编译失败的BUG (63e71fe), closes #I3T3N0
  • 修复OsVmPhysFreeListAdd和OsVmPhysFreeListAddUnsafe函数内容重复 (6827bd2), closes #I4FL95
  • 修复PR520缺陷 (4033891), closes #I4DEG5
  • 修复shcmd.h需要用宏包起来的问题 (6c4e4b1), closes #I4N50W
  • 修复xts权限用例压测异常问题 (b0d31cb), closes #I3ZJ1D
  • 修复硬随机不可用时,地址随机化不可用问题 (665c152), closes #I4D4TK
  • 修复进程用例导致门禁概率失败 (1ed28b4), closes #I4FO0N
  • 修复进程线程不稳定用例 (f6ac03d), closes #I4F1XL
  • 修复重复执行内存用例导致系统卡死问题 (6c2b163), closes #I4F7PO
  • 修改MMU模块的注释错误 (1a8e22d), closes #I4KMMJ
  • 共享内存问题修复 (9fdb80f), closes #I47X2Z
  • 内核ERR打印,无进程和线程信息,不方便问题定位。 (cb423f8), closes #I4DAKM
  • 内核ERR级别及以上的打印输出当前进程和线程名 (540b201)
  • 内源检视测试用例问题修复 (a6ac759)
  • 删除冗余的头文件 (8e614bb), closes #I4KN63
  • 增加pselect SYSCALL函数及测试用例 (f601c16), closes #I45SXU
  • 增加内核epoll系统调用 (2251b8a), closes #I4FXPT
  • 实现了musl库net模块中的一些函数接口和相应的测试用例 (3d00a7d), closes #I4JQI1
  • 添加进程线程冒烟用例 (2be5968), closes #I4EOGA
  • 用户态进程主线程退出时,其他子线程刚好进入异常处理流程会导致系统卡死 (d955790), closes #I4KGBT
  • 编码规范修改 (d161a0b)
  • 编码规范问题修复 (f60bc94)
  • 编译框架在做编译入口的统一 (bdb9864), closes #I4KRQN
  • 解决dmesg -s参数double lock问题 (e151256), closes #I4HIJK
  • 进程退出前自己回收vmspace中的所有region (298ccea), closes #I4CKQC
  • 通过g_uart_fputc_en关闭打印后,shell进程不能正常启动 (d21b05c), closes #I4CTY2
  • 针对pr是否同步至release分支,增加原因说明规则 (b37a7b7)
  • 非当前进程销毁时,销毁liteipc时错误的销毁了当前进程的liteipc资源 (0f0e85b), closes #I4FSA7

Code Refactoring

Features

BREAKING CHANGES

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

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

  • 1.新增一系列perf的对外API,位于los_perf.h中. LOS_PerfInit配置采样数据缓冲区 LOS_PerfStart开启Perf采样 LOS_PerfStop停止Perf采样 LOS_PerfConfig配置Perf采样事件 LOS_PerfDataRead读取采样数据 LOS_PerfNotifyHookReg 注册采样数据缓冲区的钩子函数 LOS_PerfFlushHookReg 注册缓冲区刷cache的钩子
  1. 用户态新增perf命令 【Usage】: ./perf [start] /[start id] Start perf. ./perf [stop] Stop perf. ./perf [read nBytes] Read nBytes raw data from perf buffer and print out. ./perf [list] List events to be used in -e. ./perf [stat] or [record] -e, event selector. use './perf list' to list available events. -p, event period. -o, perf data output filename. -t, taskId filter(whiltelist), if not set perf will sample all tasks. -s, type of data to sample defined in PerfSampleType los_perf.h. -P, processId filter(whiltelist), if not set perf will sample all processes. -d, whether to prescaler (once every 64 counts), which only take effect on cpu cycle hardware event.

(2021-09-30)

Bug Fixes

  • A核代码告警清零 (698756d), closes #I4378T
  • A核告警消除 (d16bfd0), closes #I46KF6
  • 3518平台, 异常测试进程无法正常退出 (23937a2), closes #I3V8R5
  • add (void) to GetFileMappingList method (56b8eca), closes #I3XPXY
  • add capability and amend smoke testcase (c9d69e2)
  • add fchdir api (e828cbd)
  • add fchmod api (2f214bf)
  • add fststfs api and unitest (4c57aa2)
  • add product_path parameter for driver build (88fe4eb), closes #I3PQ10
  • add syscall for ppoll & add 2 testcases (defedb6)
  • avoid compile warning ignored (eca711b), closes #I3VOAO
  • A核codex修改 (ec977a1), closes #I40B1S
  • BBOX使用预留物理内存缓存故障日志 (2ad176e), closes #I41YIZ
  • bootargs解析与rootfs挂载解耦,并支持自定义bootargs参数 (80473f0), closes #I41CL8
  • build: clang10.0.1支持lto,去掉冗余判断 (73223ae)
  • build: fix rootfsdir.sh target directory not exist (21bf2b8), closes #I3NHQ0
  • build: 去除冗余单板相关的宏配置 (471de36)
  • clang10 lld could not recognized Oz (87a0006)
  • clang相关编译选项隔离 (77dcef4), closes #I444AV
  • codex (101a55d)
  • codex clean (b5370af), closes #I3UOFN
  • compile error when fatfs disabled (fd3f407)
  • console compile bug fix (f8441a0)
  • correct spelling (c66fe03)
  • Correctly handle the return value of LOS_EventRead in QuickstartListen. (0e0ab81), closes #I3PSLZ
  • Ctrl-C move out of LOS_MAGIC_KEY_ENABLE (40f239a)
  • Delete useless 'exc interaction' macros and function declarations. (d2f2679), closes #I3SDKY
  • dereference NULL point bug fix (deaa564)
  • do not build toybox temporarily (044f2c7)
  • do not override existing libs (8118408)
  • doc: 修复README_zh-HK.md的链接错误 (f1b4c87)
  • fatfs memory leak (fbfd71d)
  • fix function name OsSchedSetIdleTaskSchedParam (8f8c038)
  • Fix kernel page fault exception handling causing system exception. (a89fb57), closes #I3RAN4
  • fix length typo (12d98b1)
  • fix mq function by enable mq_notify api (4427142)
  • Fix quickstart codingstyle (2e011b6), closes #I3OPOM
  • fix stored typo (d25560f)
  • fix syscall faccessat,fstatfs,fstatat & add 6 testcases (aa1cd24)
  • fix the inappropriate errno in FatFs (af61187), closes #I3O8IF
  • fix typo in quickstart (3b2ff4b), closes #I3M1S8
  • Fix wrong judgment in los_trace.c to avoid null pointer access. (4d863e9), closes #I3RT9F
  • Identical condition 'ret<0', second condition is always false. :bug: (1348809)
  • init进程收到子进程退出信号后,调用fork重新拉起进程,会导致系统卡死 (35a2f3a), closes #I41HOY
  • kernel crashed after rmdir the umounted folder (ac0d083)
  • kernel crashed when delete a umounted folder (f305d1f)
  • kernel crashed when delete a umounted folder (c6e9212)
  • kernel_test: 内核mem/shm冒烟用例重复运行失败 (0676578), closes #I3TH4W
  • L1 toybox 命令功能实现 (2ff44c4), closes #I41N2A
  • liteipc max data size too small (4dc421e)
  • LiteOS_A BBOX Codex整改 (6a5a032), closes #I43RQU
  • Liteos-a创建的文件夹在Ubuntu中不可见 (a9fc1e0), closes #I3XMY6
  • lookup new vnode may cause parent vnode freeing (902a11d), closes #I3MYP4
  • mini: fix compile error in mini liteos_a (e13cb3b)
  • minimal compile (ac8c2c6)
  • misspell (08980ea)
  • mkdir -p is more robust (e38f9a9)
  • mksh compile bug fix (d8263b1), closes #I3ZMR7
  • modify event API description (937734b)
  • move nuttx head file back (4c8a86e), closes #I4443Q
  • nanosleep 接口的rmtp参数被错误清零 (9458de9), closes #I41U0R
  • no exception information output, when the system is abnormal (5bf4d1c)
  • no exception information output, when the system is abnormal (28aa777)
  • no exception information output, when the system is abnormal after holding (0ed8adf)
  • Optimiz macro of quickstart cmd (cb140a4), closes #I3OSYT
  • Optimize /dev/quickstart permissions. (4e24b57), closes #I3OYUQ
  • Optimize quickstart node implementation (4abd2e0), closes #I3R8O8
  • OsGerCurrSchedTimeCycle 函数存在拼写错误 (53ced1a), closes #I446CX
  • OsGetArgsAddr声明所在头文件不正确 (14bd753), closes #I41MWM
  • parent point of vnode found by VfsHashGet should be updated (f32caa5), closes #I3NNFA
  • PathCacheFree try to free name field in struct PathCache (9f47faf), closes #I3NTH9
  • PathCacheMemoryDump miscalculate the RAM usage of PathCache (87da7c7), closes #I3OBXY
  • Provide a separate configuration macro for boot environment in RAM. (e28e06b)
  • Provide a separate configuration macro for boot environment in RAM. (bc67393)
  • Provide a separate configuration macro for boot environment in RAM. (f13b90e), closes #I3OADR
  • race condition in liteipc (7e2aef2), closes #I3PW5Y
  • rebuild mksh depends on rebuild.sh script (bef4ab9)
  • remove redundant headfile (73a7777), closes #I3RTNR
  • Remove redundant invalid codes (fe05df4), closes #I3R70T
  • Show conflicting files for git apply or patch -p command (35f7957), closes #I3NNUS
  • SIOCGIFCONF ioctl malloc size error in kernel (bfd27e7), closes #I3XEZ3
  • smp启动代码解耦及内存映射关系解耦 (3bb3173), closes #I41P8Y
  • some branch in format does not release the vnode mutex properly (9b2b700), closes #I3OFAY
  • Sortlink, the response time to insert the node should be inserted into the back of the existing node. (1323874), closes #I3PSJ8
  • statfs can't get f_bfree and f_bavail of a FAT12/FAT16 partition (9503c4a), closes #I3Q0VS
  • SysOpenat返回值应该为进程fd,而非系统全局fd。 (3457c0b), closes #I3TNAK
  • the total used vnode number not increased after unlink a file under (4f514a1), closes #I3TS1Y
  • tick 动态化计算优化,消除中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。 (8df3e8c), closes #I43UQJ
  • toybox update (c3245b3)
  • toybox命令升级 (76f45b3), closes #I41N2A
  • update LOS_DL_LIST_IS_END comment (900269b)
  • userfs分区的起始地址与大小改为通过bootargs配置 (2e2b142), closes #I3XNEY
  • VnodeInUseIter and VnodeFreeAll used to be recursive (5f6656c), closes #I3NN3U
  • 以g_sysSchedStartTime是否为0判断时间轴是否生效存在极限场景导致调度时间不生效 (67ac8c4), closes #I45HP5
  • 修复FATFS中不同内部接口不支持FAT12/FAT16 FAT表结束标志 (33f5c70), closes #I409R6
  • 修复kill进程时,因liteipc阻塞的进程概率无法退出问题 (7de43bb), closes #I3XX7K
  • 修复MagicKey数组越界访问 (071cd62), closes #I3U4N9
  • 修复mprotect修改地址区间的权限后,相应的区间名丢失问题 (e425187), closes #I43R40
  • 修复mq_close关闭后仍然占用文件描述符的问题 (590c7b4), closes #I3ZQDA
  • 修复mqueue问题 (26ee8b8), closes #I43P4T
  • 修复sigwait等待到的信号值与获取的siginfo中的值不一致 (ed7defb), closes #I3M12H
  • 修复了LOSCFG_FS_FAT_VIRTUAL_PARTITION宏开关错误作用域引起的功能错误 (acda419), closes #I3W1IW
  • 修复了内核的VFAT测试用例 (a8384b5), closes #I3XF3R
  • 修复内核access chmod chown接口 (56a95b9), closes #I3Z5L6
  • 修复内核c库的makefile中被优化函数替换的高频函数依然参与了编译的问题 (6f6dc4f), closes #I3XGM8
  • 修复内核堆完整性检查逻辑中访问非法指针导致系统异常问题。 (30f5ab8), closes #I3VJZT
  • 修复启动框架debug模式下-Werror=maybe-uninitialized告警以及符号链接不进镜像的隐患 (4c02415), closes #I3T5HR
  • 修复开机概率挂死 (2e82c36), closes #I3SWY2
  • 修复文档链接失效问题 (42a3a6c), closes #I45297
  • 修改/proc/mounts显示格式 (6860246), closes #I3XGCS
  • 修改clock_gettime接口适配posix标准测试用例011输入clk_id错误时返回值ESRCH为EINVAL. (f8cf6e6), closes #I3OUHI
  • 修改DoNanoSleep 以纳秒为单位 (6917e08), closes #I3Z9DP
  • 修改某些平台保存bbox日志失败的问题 (8f6a1dd), closes #I41UTP
  • 修改默认窗口宽度到400 (09c491c), closes #I40LQX
  • 关闭jffs和fat后,rootfs配置也被相应关闭,导致nand介质的rootfs不可用。 (0ea476b), closes #I3SBYN
  • 内核态在console初始化完成后,使用printf无法正常打印 (44ce696), closes #I3UG00
  • 去掉冗余的strip操作 (7819d15), closes #I43767
  • 合并进程栈两个地址连续的region (42f374d), closes #I43QYJ
  • 在内核提示No idle TCB时,增加打印当前系统任务信息,以方便问题定位。 (11a9b00), closes #I434UC
  • 增加表头,内容以制表符分栏。 (e9ad6b7), closes #I3W2M9
  • 将用户态内存调测解析脚本移至tools目录下 (85b4cb7), closes #I42T9A
  • 恢复了FATFS设置卷标的功能 (9515d53), closes #I3Y5G8
  • 解决kill进程时无法保证进程的已持有的内核资源合理释放. (cf89f01), closes #I3S0N0
  • 解决不同环境下计算的rootfs的size偏小,导致mcopy造成的disk full错误 (c54879b), closes #I3IA06
  • 设置qemu默认userfs大小/修改qemu驱动目录 (1d952a2), closes #I3XW96

Features

  • active mksh & toybox (cacb4f0), closes #I3VEOG
  • Add /dev/quickstart to support synchronous communication between processes in user mode startup. (46b63f7), closes #I3OHO5
  • add /proc/fd file to dump the pid/fd/path information (600dded), closes #I3WB5U
  • add /proc/fs_cache to display cache info (231cb6b), closes #I3WWBD
  • add /proc/fs_cache to display cache info (53c6d96), closes #I3WESD
  • add and fix some syscall (ce849f2)
  • add blackbox for liteos_a (a195aac), closes #I406NP
  • add blackbox for liteos_a (425975e)
  • add clear cache cmd to /proc/fs_cache (3d1cf68), closes #I3XLPH
  • add liteos patch ability (98ca844)
  • add support for gn build system (a8805a6)
  • add uid/gid for ProcFs (6780659), closes #I3WGVP
  • A核proc文件系统在echo模式下新增write的功能 (f10dd7c), closes #I3T6MZ
  • build OHOS_Image from kernel (abf4d8f)
  • build: make liteos_config_file available as gn argument (f9a9077)
  • build: 使用xts -notest选项时,内核用例不参与编译构建和用例编译配置方式调整 (9bdf716)
  • don't apply module_swith on configs of config (f3beb4b)
  • enable gn build for toybox and mksh (c54bfa1)
  • fatfs支持符号链接功能 (e50cf0b), closes #I3V8D1
  • file system: add memory-based romfs (c4595d2), closes #I3S0CP
  • introduce mksh toybox to rootfs (41c7689)
  • L0-L1 支持Trace (dc9ec68), closes #I46WA0
  • L1支持低功耗投票框架 (21d8ac8), closes #I3VS5N
  • libc: upgrade optimized-routines to v21.02 (1ec8d5a)
  • make: optimize makefiles and remove some unused files (0e26094)
  • Open macro for ADC moudule (c71ec9d)
  • QEMU_ARM_VIRT_CA7: 使能FAT文件系统编译选项 (49856dc)
  • support .mkshrc (51a50c9), closes #I3Y5KE
  • support link/symlink/readlink (6eddc86), closes #I3Q0OD
  • support toybox in qemu (5618319), closes #I3V17D
  • timer_create支持以SIGEV_THREAD方式创建定时器 (e5f6bf0), closes #I3SRFI
  • using kconfiglib instead of kconfig (8784694)
  • vfs support sdcard hotplug (2db80ec), closes #I44WH1
  • vfs: vfs支持FD_CLOEXEC标记 (27dca4d), closes #I3U81W
  • 删除zpfs冗余代码 (3393479)
  • 基于汇编实现内核对用户态内存清零的功能 (9db3407), closes #I3XXT0
  • 增加mount的MS_RDONLY标志的支持 (8729f6e), closes #I3Z1W6
  • 支持killpg和waitid (dc3cc09)
  • 新增toybox reboot命令 (e567a10), closes #I3YQ7S
  • 给开发者提供系统信息导出Hidumper工具。 (cb17fa5)
  • 自研shell命令回补 (7bc68f4), closes #I44U0H

Performance Improvements

  • assign '-1' to uninitialized variable: ret (e0a27ba)

Reverts

  • Revert "fix: 修改默认窗口宽度到400" (1878849), closes #I42X9V

BREAKING CHANGES

  • 1.新增一系列trace的对外API,位于los_trace.h中. LOS_TRACE_EASY简易插桩 LOS_TRACE标准插桩 LOS_TraceInit配置Trace缓冲区的地址和大小 LOS_TraceStart开启事件记录 LOS_TraceStop停止事件记录 LOS_TraceRecordDump输出Trace缓冲区数据 LOS_TraceRecordGet获取Trace缓冲区的首地址 LOS_TraceReset清除Trace缓冲区中的事件 LOS_TraceEventMaskSet设置事件掩码,仅记录某些模块的事件 LOS_TraceHwiFilterHookReg注册过滤特定中断号事件的钩子函数
  • vfs: 执行exec类函数后,进程拥有的文件描述符情况发生变化:修改前,默认关闭所有的进程文件描述符,0,1,2重新打开;修改后,除非文件描述符拥有FD_CLOEXEC标记,否则该描述符不会被关闭。
C
1
https://gitee.com/openharmony/kernel_liteos_a.git
git@gitee.com:openharmony/kernel_liteos_a.git
openharmony
kernel_liteos_a
kernel_liteos_a
master

搜索帮助