rk: could be an enum<p>Noodling around with RISC-V emulation, writing it in Go.</p><p>Supporting the atomic extension should be doable using Go atomics, but to do it right and without resorting to unsafe, I'd have to represent memory as a slice of int32s and do bullshit to read/write anything smaller than that if I want to have any sort of ergonomics on the atomic usage.</p><p>(Assuming I wanna support more than one CPU/HART running concurrently.)</p><p><a href="https://mastodon.well.com/tags/riscv" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>riscv</span></a> <a href="https://mastodon.well.com/tags/golang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>golang</span></a> <a href="https://mastodon.well.com/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.well.com/tags/emulation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emulation</span></a></p>