duskmoon314 / rCore-N

A simple os kernel based on rCore-Tutorial with user mode trap support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rCore-N

submodule of Gallium70/rv-n-ext-impl

Based on duskmoon314/rCore:ch6 (which is based on rcore-os/rCore-Tutorial-v3:ch6)

Add support of user mode trap

Example

A user mode trap example

The user mode process triggers and handles user soft interrupt in the user mode itself.

How to run

I prefer to use just and do not guarantee the correctness of the makefile in os.

Build the environment

QEMU with extN support

I have added N Extension CSRs of RISC-V support to stable-5.0 of QEMU. duskmoon314/qemu:riscv-N-stable-5.0

git clone https://github.com/duskmoon314/qemu.git
mkdir qemu-build
cd qemu-build
../qemu/configure --target-list="riscv64-softmmu"
make -j8

install just

We can install just via cargo

cargo install just

build and run

cd os
LOG=DEBUG just run

There are 5 levels for logger

ERROR, WARN, INFO, DEBUG, TRACE

Use via LOG=XXXXX just run

About

A simple os kernel based on rCore-Tutorial with user mode trap support

License:MIT License


Languages

Language:Rust 95.3%Language:Python 2.6%Language:Assembly 1.2%Language:Makefile 0.5%Language:Just 0.4%Language:Shell 0.0%Language:Logos 0.0%