You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
WangRunji bf2ad7c6a5
Change target arch to RISCV32IMA. Recover some dependencies.
6 years ago
crate Change target arch to RISCV32IMA. Recover some dependencies. 6 years ago
docker Rewrite README. Add docker. 7 years ago
docs Change build target to `riscv32ia_unknown_none` 6 years ago
macOS-env Add homebrew files for macOS 7 years ago
riscv-env Update dockerfile 6 years ago
riscv-pk Add riscv-pk from ucore_os_lab 6 years ago
src Change target arch to RISCV32IMA. Recover some dependencies. 6 years ago
user Add ucore & xv6-x86_64 user program img file. 7 years ago
.gitignore Generate vector.asm by build.rs. 7 years ago
.gitmodules Fork crate `riscv` as a submodule 6 years ago
.travis.yml Try to fix travis 7 years ago
Cargo.toml Change target arch to RISCV32IMA. Recover some dependencies. 6 years ago
Makefile Change build target to `riscv32ia_unknown_none` 6 years ago
README.md Add bbl as bootloader 6 years ago
Xargo.toml Clear all code, make it compile for RISCV in docker. 6 years ago
build.rs Add bbl as bootloader 6 years ago
riscv32-blog_os.json Change build target to `riscv32ia_unknown_none` 6 years ago
status.md Update report 7 years ago
x86_64-blog_os.json Set the panic strategy to abort to fix _Unwind_Resume errors 7 years ago

README.md

RustOS for x86_64 SMP

Port to RISCV (WIP)

2018年计算机系统综合实验

Project Wiki

Documents

Summary

Build Status

A project of THU OS2018 spring.

Project Wiki

MidReport

FinalReport

The goal is to write a mini OS in Rust with multicore supporting.

It will start from the post of the Writing an OS in Rust series. Then reimplement xv6-x86_64 in Rust style.

Building

You need to have nasm, grub-mkrescue, xorriso, qemu, a nightly Rust compiler, and xargo installed. Then you can run it using make run.

A docker image is available and recommanded. Read this for details.

License

The source code is dual-licensed under MIT or the Apache License (Version 2.0).