Coder Social home page Coder Social logo

tyyteam / la-sel4 Goto Github PK

View Code? Open in Web Editor NEW
10.0 0.0 2.0 4.07 MB

The seL4 microkernel with loongarch support, see official repositories at https://github.com/seL4

License: Other

CMake 5.06% C 75.27% Beef 2.68% HyPhy 0.07% Python 8.62% Makefile 0.29% TeX 5.14% Assembly 2.75% Shell 0.11% Vim Script 0.02%

la-sel4's Introduction

赛题

开源操作系统的LoongArch移植—seL4微内核:proj97-la-seL4

欢迎充满热情的你,关注💖💖💖LoongArch国产指令集seL4开源项目💖💖💖

如果你觉得本团队的移植工作有参考价值😊,请不要吝惜你的⭐

赛题难点

  • 工程量大。seL4官方有55个仓库,编写或运行程序往往需要关联多个仓库。团队工作不仅涉及elfloader、cmake等程序或工具的移植,还涉及微内核、测试程序、形式化验证等仓库的移植。
  • seL4移植资料少。相比于xv6教学操作系统,seL4的官方指导资料和技术博客较少,官方只提供了架构无关的设计**,团队需要充分理解riscv等架构代码才能移植seL4到龙芯平台。
  • 龙芯演示资料少。龙芯指令集在2021年发布,教学资料和技术博客较少,可供参考示例程序不多。

文档和演示

项目进展和计划

  • 决赛进展
    • 内核移植完成,完善内存管理、中断与例外模块,正常引导用户空间程序。
    • 进入sel4test测试程序,通过15个测试样例。
    • 构建龙芯版本docker,移植自动化测试程序(github workflow):通过Compile workflow、C Parser workflow、CI workflow和RefMan workflow检查。
  • 初赛进展
    • cmake文件中,关于LoongArch的部分。
    • 完成elfloader移植的移植,引导微内核启动。
    • 完成虚拟内存映射。
    • 配置好中断与例外框架。
    • 成功编译出内核。
    • 微内核初始化完成,调试到激活线程的位置。

项目仓库和镜像

seL4微内核官方仓库里,包含微内核等55个相关仓库。为实现seL4微内核移植和用户程序测试,我们fork并修改了其中10个官方仓库(并在gitlab建立镜像),还使用了seL4_projects_libs和projects_libs仓库,这些仓库的介绍和链接如下。

仓库名 仓库描述 gitlab地址 github地址
la-seL4 seL4微内核代码 当前仓库 la-seL4
la-sel4test seL4测试代码(用户空间程序) la-sel4test la-sel4test
la-seL4_tools seL4构建工具,如cmake,elfloader等 la-seL4_tools la-seL4_tools
la-musllibc 轻量级C语言库 la-musllibc la-musllibc
la-sel4runtime 运行C语言兼容程序的最小runtime系统 la-sel4runtime la-sel4runtime
projects_libs 用户程序库 —— 使用官方仓库
seL4_projects_libs 用户程序库 —— 使用官方仓库
la-util_libs 用户程序库 la-util_libs la-util_libs
la-seL4_libs 用户程序库 la-seL4_libs la-seL4_libs
la-seL4-ci-actions 自动化测试程序仓库 la-seL4-ci-actions la-seL4-ci-actions
la-l4v seL4形式化证明工具仓库 la-l4v la-l4v
la-seL4-CAmkES-L4v-dockerfiles docker镜像构建仓库 la-seL4-CAmkES-L4v-dockerfiles la-seL4-CAmkES-L4v-dockerfiles

项目资源

为促进操作系统教学,推进龙芯生态建设,扩大seL4开源社区影响力,特分享本项目资源:

  • 团队资源
    • tyyteam org:15个git仓库,含移植笔记、代码注释、CI仓库、docker仓库等。
    • 龙芯版docker镜像:
      • la-seL4:latest:该镜像包含单独编译内核的所有依赖(包括龙芯交叉编译工具),支持编译龙芯版seL4内核。
      • la-l4v:latest:该镜像包含构建l4v的所有工具和依赖(包括龙芯版本脚本),也是构建la-cparser-builder镜像、形式化验证等工作的基础镜像。
      • la-cparser-builder:latest:该镜像包含cparser源码编译分析工具(包括龙芯版本),也是la-cparser-run等镜像的基础镜像。
      • la-cparser-run:latest:该镜像包含上述基础镜像和其他seL4官方镜像、脚本,能对内核源码执行更严格的语法检查,为形式化验证工作做准备。
    • 技术文档:见文档和演示
  • 龙芯资源
  • seL4资源

致谢

感谢团队成员(刘庆涛,雷洋和陈洋)彼此给予的支持鼓励😊😊😊

更加感谢指导老师(张福新老师和高燕萍老师)的辛勤付出👍👍👍

还要感谢徐淮,胡起,袁宇翀,谢本壹,梁思远的帮助和建议,感谢seL4技术团队(Kent McLeod,Axel Heider,Jashank Jeremy,Gernot Heiser,Gerwin Klein等)在github issue上的指导和支持💖💖💖

la-sel4's People

Contributors

gootal avatar chenyangng avatar leoncoci avatar huaixv avatar

Stargazers

wheatfox avatar yifeianyi avatar master99 avatar Trash Snack avatar huakui avatar LWei avatar MicahD avatar Chiro Liang avatar Jiang Tao avatar Tianyu Zhang avatar

la-sel4's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.