rel4team / rel4_kernel

9 stars 4 forks source link

尝试验证test的状态,并进行可能的修改 #33

Open yfblock opened 4 months ago

yfblock commented 4 months ago

现在已经在 mi-dev-repo 中添加了 sel4test 的测试结构。 https://github.com/rel4team/mi-dev-repo/commit/cdc2cab3ef83e6b7607b0eeb7cfafd7083774e62

yfblock commented 3 months ago

经过一定的修改 目前 rel4 aarch64 能够在 sel4test 中启动 image

Commit 后续提交

yfblock commented 3 months ago

支持 test 相关的 commit

  1. docker: rel4-dev:1.2 https://hub.docker.com/repository/docker/yfblock/rel4-dev/general https://github.com/yfblock/rel4-docker/commit/984308b8d10c3afbe0764cdce68e7f3d01d9ab63
  2. sel4test: 创建了 sel4test 的 mi_dev 分支,并 FIX 了 aarch64 的编译错误 https://github.com/rel4team/sel4test/commit/123a95bcbb03f3be9288e5410e0158d8f6712244
  3. mi-dev-repo: 更新了 mi-dev-repo,添加了 build-scripts,并更新了原有的仓库 https://github.com/rel4team/mi-dev-repo/commit/21d9adc65699e3bb930800a5b7ebe968dca18715
  4. 添加 build-scripts: https://github.com/rel4team/build-scripts/commit/93c4a3e9fb5c10a2ae0ad8dd1eedda4b5a67ed35,添加了编译脚本,具体参考这个目录
  5. rel4_kernel: https://github.com/rel4team/rel4_kernel/commit/59530a29bdb0a02683978318d282e35d5d2d24c4 修改原有的编译脚本
  6. sel4_c_impl: https://github.com/rel4team/seL4_c_impl/commit/d99cf8843fef298d8e926a123bcd32814628c2ef 针对 aarch64 进行了部分的修复,并且支持了 pl011 的读写,这部分需要完善 aarch64 支持后使用之前的修改。
  7. rust-root-task-demo: https://github.com/rel4team/rust-root-task-demo-mi-dev/commit/3220f40089283dcb24a82d8cdb2213c744340bdf 修复aarch64 settings 和 docker, 支持 aarch64 编译
  8. rust-sel4: https://github.com/rel4team/rust-sel4/commit/4f8c3d066e7fcc99dc4319f9cc158bbd6a1a45d2 rust-sel4 之前提供的 commit https://github.com/rel4team/rust-sel4/commit/cbfc9fffd4f9b9163fed42ac824ee4086c80d40f 虽然 riscv64 和 rel4 兼容,但是 aarch64 不兼容,所以先搞一个 mi_dev_unstable 分支来测试,目前 mi-dev-repo 中已经应用,后续可以的话,使用这个分支替代 mi-dev。

采用 sel4-test 的方式,可以绕过 root-task 不能运行的问题 https://github.com/rel4team/rel4_kernel/issues/34 ,不使用 kernel-loader,使用 c 的 elfloader.