Skip to content

A kernel with support to the RISCV architecture

Notifications You must be signed in to change notification settings

benmezger/strail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Get more details at codescene.io.

strail

A Kernel with suport to the RISC-V ISA

Introduction

I wrote a small kernel for my bachelor thesis with support to the RISC-V ISA, focussing at the education of operating systems, where students and professors may dive into a simpler kernel implementation for academic puposes, instead of relying on large kernel code-base. We hope this project might give students and professors a big picture of the implementation of an operating systems and how components communicate with each other.

Although I only had 1 year to write and develop my thesis, it was enough time for me to write a small and basic kernel with RISC-V's {machine, supervisor, user}-mode support, trap handlers and a basic round-robin scheduling algorithm. I was approved upon the presentation of my thesis, but I decided to refactor the code and allow multiple architecture support, better code organization, a kernel interface for communicating with the lower level architectural code and better trap handlers and smoother POSIX support.

Supported ISA's

  • RISCV

Instruction Set Architecture (ISA)

RISC-V

  • Enter main through _start
  • DIRECT MODE access to trap handlers
  • Enter machine-mode

About

A kernel with support to the RISCV architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published