EDIT: Found this link in my notes as well: https://news.ycombinator.com/item?id=24900376
EDIT: Found this link in my notes as well: https://news.ycombinator.com/item?id=24900376
This looks like it has a smaller code footprint at least. I'm not sure RISC-V is a very good target for this sort of thing. E.g. decoding the immediates in software is going to be very slow, whereas in hardware it's fast.
But on the other hand it is a stable target and can be configured to be a lot simpler than WASM.
I'm always interested in options for using WebAssembly as a sandbox to run untrusted code, but one of the things I need to protect against is an infinite loop.
(I had Claude knock up an experimental Python binding to try Epsilon out, notes from that here: https://github.com/simonw/research/tree/main/epsilon-python-... )
This lets it be handled asynchronously at the pace the host code chooses https://github.com/ringtailsoftware/uvm32
I recently wrote a minimal SSH client to help demystify the protocol. In this post, I'll explain some of the core concepts to help anyone else doing the same. This will be a 10,000ft overview with references to some interesting parts - not an implementation guide.
Have you considered adding support for memory-mapped IO simulation? That would make it useful for testing IoT/microcontroller drivers without the actual hardware.