Sep 30, 2019
I'm poking at https://github.com/ozkl/soso trying to figure out where it first switches from Ring 0 to Ring 3. I want to rip out all of that protection stuff and just run everything in Ring 0. Just as an exercise for starters, but also eventually because I have.. notions.
After various attempts to grep, the current plan: I'm going to just try to write to some protected address at various points in the kernel, and binary-search my way to the solution. Let's see how this goes.
https://github.com/akkartik/mu#readme
On the language side I've been thrashing a fair bit:
- Between the OS side vs the language side.
- Between building an interpreted, dynamically-typed language in machine code vs a compiled, statically-typed memory-safe language that I can build the interpreted language out of.
- Between building a Lisp interpreter vs a better shell (in the spirit of Oil shell).
- Between making local vars in the compiled language function-scoped vs block-scoped.
This post is part of my Freewheeling Apps Devlog.
Comments gratefully appreciated. Please send them to me by any method of your choice and I'll include them here.