Just a note on oreboot: the name is taken, it means Rust, not C, and you can see our talk about it next week. It works on SiFive HiFive-U. We'd love to have help on real ARM chips.
We intend to be forceful about holding the line on "no development from NDA data sheets", "no binary blobs", as well as holding the line on "no C". This also means we don't expect to run on x86 now if ever.