# rCore-N **Repository Path**: ZIP97/rCore-N ## Basic Information - **Project Name**: rCore-N - **Description**: rCore-N 共享调度器 fork - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: trivial - **Homepage**: https://github.com/CtrlZ233/rCore-N - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-07-02 - **Last Updated**: 2024-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rCore-N > submodule of [Gallium70/rv-n-ext-impl](https://github.com/Gallium70/rv-n-ext-impl) Based on [duskmoon314/rCore:ch6](https://github.com/duskmoon314/rCore/tree/ch6) (which is based on [rcore-os/rCore-Tutorial-v3:ch6](https://github.com/rcore-os/rCore-Tutorial-v3/tree/ch6)) Add support of **user mode trap** ## Example ![A user mode trap example](assets/example.png) 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](https://github.com/duskmoon314/qemu) ```bash 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 ```bash cargo install just ``` ### build and run ```bash cd os LOG=DEBUG just run ``` > There are 5 levels for logger > > ERROR, WARN, INFO, DEBUG, TRACE > > Use via `LOG=XXXXX just run`