[RTEMS Project] #3337: RISC-V Port in Supervisor Mode
RTEMS trac
trac at rtems.org
Wed Mar 14 10:46:25 UTC 2018
#3337: RISC-V Port in Supervisor Mode
------------------------------+------------------------
Reporter: Hesham Almatary | Owner: (none)
Type: project | Status: new
Priority: normal | Milestone: Indefinite
Component: arch/riscv32 | Version:
Severity: normal | Keywords:
Blocked By: | Blocking:
------------------------------+------------------------
Enable the RISC-V Port to run in RISC-V's Supervisor Mode (S-Mode).
**Status**:
Uninitiated.
**Introduction**:
RISC-V port was merged in October 2017. However, it only runs in Machine
Mode (M-Mode) which only has base-and-bound protection, but not
implemented in RTEMS. RISC-V has a Supervisor Mode (S-Mode), which has an
MMU and paging-based protection.
**Goal**:
The goal is to be able to "optionally" run RISC-V port in S-Mode.
**Requirements**:
Knowledge of assembly, C Programming language.
Knowledge of RISC-V architecture.
Study the implementation of riscv-pk project (RTEMS will rely on it).
Debugging experience especially at low-level/system levels.
**Resources**:
Current RTEMS developers.
RISC-V's user-spec and priv-1.10 manuals.
**Getting started as a GSoC student on this Project**
If you are interested in working on this project as a GSoC project, there
are a few basics you should do.
You'll need to build the simulators (hint: Spike and/or QEMU), from riscv-
tools/priv-1.10.
**Build the rtems*-riscv toolchain from rtems-source-builder**
**Build & run the BSP**
Build & run the current RISC-V BSP (e.g. using the test set) and run it on
Spike and/or QEMU.
To show that you're up to speed with rebuilding RTEMS, make a change.
Showing the result must be part of your proposal.
**The official requirement is a Hello World project.**
**References**
[https://devel.rtems.org/wiki/GSoC/GettingStarted Hello World Project]
[https://riscv.org/specifications/ RISC-V Specifications (priv-1.10)]
[https://github.com/riscv/riscv-
pk/tree/66701f82f88d08d3700d8b0bc5d5306abfd0044f RISC-V's Proxy Kernel]
[https://github.com/riscv/riscv-tools/tree/priv-1.10 RISC-V's 1.10
tools]
--
Ticket URL: <http://devel.rtems.org/ticket/3337>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list