I didn't do much for this, just filled in the gaps in documentation someone else had written for booting FreeBSD from ramdisk on the VisionFive2, like which copy of u-boot they were using (there are multiple copies in play on this board...). But along the way I got into the kernel debugger by accident so that works, and I've developed an appreciation for how handy u-boot is, I can see why basically every embedded project uses it.
So I'm in good shape to frustrated myself writing and debugging device drivers in all that spare time I don't really have much of
after reading about how bad the docs for this board are (https://adventurist.me/posts/00315) I was worrying I might have made a bad decision, and maybe should have shelled out for another board but... the 3 pieces of actual hardware listed for #FreeBSD #riscv support (https://wiki.freebsd.org/riscv#Supported_Platforms) are all no longer being manufactured! The BeagleV-Ahead seems like a natural successor to one, but it's $150 for just a dual-core with 4GB of RAM?
Well I found some docs for the previous version of this SoC, thé version in the original Vision five... https://github.com/starfive-tech/JH7100_Docs/blob/main/JH7100%20Data%20Sheet%20V01.01.04-EN%20(4-21-2021).pdf
Might be enough to cobble together a driver for sdio0 and a nic based on some other bsd drivers, or maybe to adapt a USB driver since that block is from Cadence...
Errrr, I mean, POPL reviewing is going great and I'm not procrastinating at all! (In my defense I did submit 2 reviews today and I'm 1/3 of the way through reading another...)
Oh, apparently the #OpenBSD folks found some reasonable docs somewhere... https://forum.rvspace.org/t/freebsd-support/1313/8
The BSDs have a long history of porting each others' drivers... I could also try actually booting #OpenBSD on this board to see what actually works before I try to port them. Even getting the mmc driver working would let me cross-build a local development toolchain and get to work...