* based on https://github.com/jethrogb/rust-core_io but could not get the packaging scripts to work
and the repos is unmaintained anyway, so just copied the result
* more features and more up-to-date
* compatible with the fatfs crate
* Recursive async fns in Rust are a mess and not usable.
* When doing ARTIQ async RPCs, it is simpler to encode the buffer on the kernel CPU and pass that to the comms CPU,
instead of tracking when kernel CPU memory with the RPC values can be freed.