Commit Graph

35 Commits

Author SHA1 Message Date
arvinzzz 33d0c1bd0b refactor: 内核目录结构整理
1. 原kernel/common目录下属于内核拓展组件,统一移入kernel/extend管理
2. Kconfig分层,各模块自己的配置放到自己目录下管理
3. 原platform下不属于平台的公共代码抽到kernel/common下,只留板级链接脚本和一些编译脚本指向device目录下触发平台相关的编译
4. 对外公共头文件统一抽到对外include路径
5. 废弃宏,头文件清理

close: #I48KI4

Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I0cf5ea81c92a8fa7b113da9cbdc8b7bc935f5aae
2021-09-08 16:36:28 +08:00
LiteOS2021 dc9ec6856f feat: L0-L1 支持Trace
1.【需求描述】
            L0~L1 支持Trace,提供两种工作模式:在线模式、离线缓存模式, 用于按时间线追踪系统事件,如任务切换、中断、ipc等。
        2.【方案描述】
            L0:
            (1).在内核模块预置静态代码桩
            (2).触发桩后,收集系统上下文信息
            (3).离线模式则写入内存,用户可通过dump导出;
            (4).在线模式通过pipeline对接IDE进行可视化解析和展示;
            L1:
            新增trace字符设备,位于"/dev/trace",通过对设备节点的read\write\ioctl,实现用户态trace;

        BREAKING CHANGE:
        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注册过滤特定中断号事件的钩子函数

        Close #I46WA0

    Signed-off-by: LiteOS2021 <dinglu@huawei.com>

Change-Id: I6a8e64794c4852f2c2980993a06180e09ec6ee0d
2021-08-31 20:29:45 +08:00
Caoruihong 055295b6d1 chore: optimize build scripts and add lto config entry
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ibf8df58696b7f1ccb3b5b21154c3b94dda1e8ad2
2021-08-31 12:04:34 +08:00
Caoruihong df35eb513d chore(make): optimize build scripts
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ibb4223ef2d032a03950263b766414ca1c021e69a
2021-08-30 17:18:21 +08:00
openharmony_ci 5369b6aa23 !564 优化make编译脚本
Merge pull request !564 from Caoruihong/update_makefile
2021-08-23 05:55:39 +00:00
Caoruihong 0e260949c9 feat(make): optimize makefiles and remove some unused files
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: Ie2dfa7334417ccd55bd56a19a7882a982ce49cab
2021-08-22 04:23:40 +08:00
openharmony_ci 40297a6dbc !487 多核启动及内存映射解耦
Merge pull request !487 from JerryH/smp-xxx
2021-08-20 03:54:23 +00:00
Caoruihong e1b9a6b185 chore(make): update Makefile
remove some unused Makefile code and optimize some code

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I1c31d07481bb6aee47b0c51d63d6b68316c38c88
2021-08-17 21:34:01 +08:00
zhushengle 8df3e8c965 fix: tick 动态化计算优化,消除中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。
方案描述:
    1.周期软件定时器超时添加一个startTime字段,用于记录当前软件定时器的开始计时的时间,
    在定时器响应时,开始时间修改为上一次响应的结束时间(消除了中断执行时间对软件定时器
    的影响)。
    2.在执行tick中断的过程当中,持有tick动态计算锁,保证在该过程中不会触发tick周期
    的计算,在tick中断结束时统一计算设置。 --- 提升tick中断的执行效率
    3.在设置tick周期时,减掉tick中断执行的时间,减小周期动态化带来的时间误差
    4.新增LOSCFG_BASE_CORE_TICK_PER_SECOND_MINI配置宏,用于配置tick中断的最小响应精度
Close #I43UQJ

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Icd1159a1890046b13602b7a18dcd6234d5c61a89
2021-08-09 21:18:03 +08:00
JerryH 3bb3173604 fix: smp启动代码解耦及内存映射关系解耦
close #I41P8Y

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I01833cf617bbc695543a865dbb994c6c22d4a0a8
2021-08-05 16:03:43 +08:00
openharmony_ci 1c8f3b98c9 !473 Revert "fix: 修改默认窗口宽度到400"
Merge pull request !473 from MGY917/revert_wz
2021-08-03 02:58:47 +00:00
wangchen 698756d1e6 fix: A核代码告警清零
【背景】定期A核代码告警清零。

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

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

re #I4378T
Signed-off-by: wangchen <253227059@qq.com>
2021-07-30 17:13:55 +08:00
Guangyao Ma 187884937c Revert "fix: 修改默认窗口宽度到400"
之前修改窗口宽度,为了适配流水线。流水线已经完成自适应,建议回退回80宽度。一方
面,shell显示更友好。一方面,在tty完成前,也没有更好的处理方法。

close #I42X9V

This reverts commit 09c491ca1f.

Change-Id: I17a4f4804c4530ee5b95ebf547771768ef254842
Signed-off-by: Guangyao Ma <guangyao.ma@outlook.com>
2021-07-29 12:54:25 +08:00
Caoruihong abf4d8fb25 feat: build OHOS_Image from kernel
using OHOS_Image as liteos default name

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I00bcc9a6747ffde0f07f3d243150055a644df02f
2021-07-27 01:20:46 +08:00
openharmony_ci 9e9c7b28d4 !448 fix: Ctrl-C move out of LOS_MAGIC_KEY_ENABLE
Merge pull request !448 from MGY917/Ctrl-C_support
2021-07-22 02:51:05 +00:00
openharmony_ci 8755dc9d35 !443 从Make编译切换到GN编译
Merge pull request !443 from Caoruihong/build_gn
2021-07-22 01:50:19 +00:00
Caoruihong a8805a65aa feat: add support for gn build system
add BUILD.gn for all kernel modules

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I018446427bf64615f2596d47862b219659b58b34
2021-07-21 15:52:40 +08:00
chenjing 80473f0975 fix: bootargs解析与rootfs挂载解耦,并支持自定义bootargs参数
1、bootargs解析与rootfs挂载进行解耦;
2、支持开发者自定义bootargs参数,内核存储bootargs中所有参数;
3、开发者可获取bootargs中的参数内容,并自行解析。

close #I41CL8

Change-Id: If384476714854ba0cf64eb70b785eb26737dd3d2
Signed-off-by: chenjing <chenjing139@huawei.com>
2021-07-20 11:48:31 +08:00
boxi 4e4f2d6d7e refactor: 对LiteOS_a内核中menuconfig开关的宏使用#ifdef/#ifndef做预编译处理
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误,
故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式

Close #I3YEGS

Change-Id: Ife6db770cc66de1d6199a4f3ba3950e9bfd0e71a
Signed-off-by: boxi <lewis.liulei@huawei.com>
2021-07-01 09:08:18 +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
Caoruihong 7e73c929a2 remove __cplusplus guards in .c files
Change-Id: I052d930d54e63179b17b77f02c107a015f3cfc3f
2021-04-19 18:28:25 +08:00
zhangfanfan2 2026102cdf 初始化系统时钟 2021-04-14 11:27:40 +08:00
likailong 3fe7ec0200 IssueNo: #I3EPPI
Description: platform directory refactoring
Sig: kernel
Feature or Bugfix: Feature
Binary Source: No
2021-04-02 16:03:50 +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
openharmony_ci 996047a7e2 !82 轻内核VFS层重构,添加路径缓存
Merge pull request !82 from 野生毛霉君/noEmployeeNum_ChangeID_13306388_wangchenyang
2021-03-23 14:45:14 +08:00
YOUR_NAME 4c012ea536 [Descirble]:Add configs searching way for vendor.
Change-Id: I86b30080016d611c16d3bd048b2684fe374b6a47
2021-03-22 19:48:11 +08:00
wangchenyang d970750808 Description:vfs refactoring
Feature or Bugfix:Feature
Binary Source:Huawei
PrivateCode(Yes/No):Yes

Change-Id: I175d2648bc6f9078c34de2c0a5c93fda10b86c47
ChangeID:13306388
2021-03-19 13:22:46 +08:00
mamingshuai 73a7b66116 update openharmony 1.0.1 2021-03-11 18:43:57 +08:00
Zbigniew Bodek 0403820b22 Change path to Qemu ARM platform's config and init
Change "vendor" to "device" where the latest
version of MR puts stuff related to Qemu ARM Virt.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
2020-12-31 00:54:47 +08:00
Zbigniew Bodek 51263d8796 Add kernel configuration option to enable/disable HR Timer
High resolution timer can now be excluded from the build.
There is currently no HR Timer implementation for other
platform than HiSi.

Note: HR Timer will be enabled by default

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: I5daf8e0ceec2a17025b579513e3bd74db1040916
2020-12-31 00:54:38 +08:00
Zbigniew Bodek 22f0e9ac30 Fix build when HILOG is disabled
Fix build when BASE_CORE_HILOG option is disabled.
Use similar printing function to output missing HILOG
logs.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: Id5c63568ccb1ba90daadddf7e26d3e0f6c9f30ce
2020-11-17 23:07:01 +08:00
Zbigniew Bodek 450f63d7b0 Add Qemu ARM virtual platform to build configuration files
Remove some dependencies on HiSilicon and add new platform to build.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: I8504bcc9a1bf1756e1e20694986d7774156f8b8e
2020-11-17 23:07:01 +08:00
Zbigniew Bodek 59db6662c2 Add new Qemu ARM virtual platform to Kconfig
Qemu ARM virtual platform emulates an ARM machine
with configurable, ARM components. This commit adds
configuration option for Cortex-A7 based virtual machine.

qemu_arm_virt_ca7 name is derived from a command
to invoke Qemu:
qemu-system-arm -M virt -cpu cortex-a7

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com>
Change-Id: Ia267ee7c989b8c22e6c19d6f11ff3ee2eef8148b
2020-11-17 23:07:01 +08:00
Caoruihong 63bd69267a drop unnecessary executable file permission mode
Change-Id: Ia6c1f6302407a707b3ec9b805f4c92d8a7970b86
2020-10-13 16:37:25 +08:00
wenjun 6df931fc98 add OpenHarmony 1.0 baseline 2020-09-08 17:22:24 +08:00