- Author: Richard James Howe
- Repo: https://github.com/howerj/riscv
- Email: mailto:howe.r.j.89@gmail.com
- License: 0BSD / Public Domain
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.
- 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?