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 9723d7c1a3
Add Invalid Opcode handler. Set rsp when going to user.
7 years ago
crate/memory Add physical mod and reorganize. 7 years ago
docker Rewrite README. Add docker. 7 years ago
docs Add mid presentation 7 years ago
macOS-env Add homebrew files for macOS 7 years ago
src Add Invalid Opcode handler. Set rsp when going to user. 7 years ago
user Link a user program from xv6-x86_64 in. Add elf crate. 7 years ago
.gitignore Rewrite README. Add docker. 7 years ago
.travis.yml Fix link error when building on docker. 7 years ago
Cargo.toml Update crate `multiboot2` to 0.5 . Get section's name. 7 years ago
Makefile Remove `temporary_page` from function args 7 years ago
README.md Update crate to fix compile error 7 years ago
Xargo.toml Add a dependency on the alloc crate 7 years ago
build.rs Fix link error when building on docker. 7 years ago
travis-qemu.sh Try to add qemu for travis 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

Build Status

A project of THU OS2018 spring.

Project Wiki

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).