RISC-V is the up-and-coming hipster CPU now that ARM has gone super mainstream (see smartphones). RISC-V happens to be open source/open hardware, so even more hipster cred there. However, the goal is to truly understand what a CPU does and how one writes an OS. From scratch.
Firstly, the inspiration, in part, comes from RISC-V From Scratch by Tyler Wilcock. There is more to be done in that series before I press on too much along the bare metal route, though I will do my own research and hopefully continue, at least in part, while waiting for new articles.
I also have had this idea of writing a Lisp and using it to play with computer hardware. The idea is basically, create a Lisp runtime similar to the C runtime. Incidentally, browsing Hacker News (HN) the other day, I came across a really neat post that happened to contain a Lisp written in ARMv6 assembly, specifically for the Raspberry Pi. The lisp is called arpilisp written by Marc Paquette and with a permissive, MIT, license. Score!
First step first for this "OS", write a Lisp in bare metal RISC-V assembly. In doing so, I am combining the two works linked above and will put the code up in a public repo soon. Perhaps I will use Drew DeVault's sourcehut.
UPDATE
Repository is located at: https://git.sr.ht/~slylax/rvLispOS
0x02 is live!
Articles and Documentation
- Tyler Wilcock's "RISC-V from scratch"
- Marc Paquette's "arpilisp"
- RISC-V psABI ELF Specification
- RISC-V User Level Manual
- RISC-V ASM Manual
Comments
No comments yet. Be the first to react!