Go to file
2024-05-16 10:39:53 -05:00
.cargo Commented out riscv32 target 2024-05-14 09:43:38 -05:00
.vscode Initial commit 2024-05-13 17:31:37 -05:00
src Add to-do and set interrupt CSRs 2024-05-16 10:39:53 -05:00
.gitignore Initial commit 2024-05-13 17:31:37 -05:00
build.rs Clarify comment in build script 2024-05-14 00:05:58 -05:00
Cargo.lock Add riscv crate 2024-05-16 00:18:11 -05:00
Cargo.toml Add riscv crate 2024-05-16 00:18:11 -05:00
README.md Update readme 2024-05-14 12:11:54 -05:00

created modified
2024-05-13T14:28:49-05:00 2024-05-13T14:28:52-05:00

A kernel for RISC-V written in Rust. Currently focused on running on QEMU generic riscv64, advice and assistance welcome & encouraged.

Reading list

Beginner tutorial

  • Meyer Zinn's RISC-V kernel guide (right now, code is just copied from this - will diverge later)

Other reading

RISC-V Spec

Videos

TODO Research and implement

  • Basics
    • Processes
    • Virtual address spaces, page tables
    • Files, directories
    • Pipes
    • Multitasking, time-slicing
    • Syscalls
  • CPU cache
  • User authentication, login
  • File protection, permissions
  • Mountable file systems
  • Paging to disk
  • Sockets, network support
  • Interprocess communication
  • Device drivers
  • User applications