Skip to content

howerj/riscv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Header only 64-bit RISC V simulator

THIS IS A WORK IN PROGRESS, IT CURRENTLY DOES NOT WORK.

The idea of this project is to create a very simple RISC-V simulator in a header file, it will be written in pure, portable C, with the peripherals being supplied by the user of the library (although a set of example peripherals will be provided).

The reason for implementing this is for a potential operating system project, where I would write a compiler for a Pascal/Oberon like language to make a Unix like system.

To Do

  • Add docs / links to other implementations.
  • Document things, for other people.
  • Implement the various instruction sets standards
  • Privilege, traps, system calls
  • Implement MMU (s-mode)/Paging/...
  • Make a set of simple peripherals, not necessarily realistic ones, RISC-V for:
    • Console / UART
    • Timers
    • Hard drive
    • Graphics, Audio
    • Mouse / Keyboard
    • Networking
  • Port to rust
  • Testing, test programs.
  • Implement more realistic peripherals, preferably a set that exists in real hardware / can be emulated by QEMU for comparison.
  • It might be nice to write a simple Forth for the platform to bring it up.
  • Make it selectable whether 32-bit or 64-bit is used.
  • Implement SBI spec / peripherals? Get Linux running on this?

References

About

A single header RISC-V implementation (64-bit only), work in progress.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published