With the diff below we get more details about the SBI version running on the machine. My Unmatched machine has OpenBSD version 0.9 but upstream has released 1.1 since, it implements v0.2 of the SBI spec but 0.3 and 1.0 have been released since. I suspect this information could be useful for new boards.
OpenBSD 7.2-current (GENERIC.MP) #11: Thu Dec 1 23:39:45 CET 2022 j...@hifive.wxcvbn.org:/usr/src/sys/arch/riscv64/compile/GENERIC.MP real mem = 17179869184 (16384MB) avail mem = 16416411648 (15655MB) SBI: OpenSBI v0.9, SBI Specification Version 0.2 random: good seed from bootblocks mainbus0 at root: SiFive HiFive Unmatched A00 cpu0 at mainbus0: SiFive U7 imp 20181004 rv64imafdc intc0 at cpu0 [...] I tweaked the code in sbi.c to put all the information on a single line. Printing the information in cpu_startup() seemed the most appropriate since this code isn't hooked up in a driver. ok? Index: machdep.c =================================================================== RCS file: /cvs/src/sys/arch/riscv64/riscv64/machdep.c,v retrieving revision 1.29 diff -u -p -r1.29 machdep.c --- machdep.c 30 Oct 2022 17:43:40 -0000 1.29 +++ machdep.c 3 Dec 2022 21:41:55 -0000 @@ -273,6 +273,8 @@ cpu_startup(void) printf("avail mem = %lu (%luMB)\n", ptoa(uvmexp.free), ptoa(uvmexp.free) / 1024 / 1024); + sbi_print_version(); + curpcb = &proc0.p_addr->u_pcb; curpcb->pcb_flags = 0; curpcb->pcb_tf = &proc0tf; Index: sbi.c =================================================================== RCS file: /cvs/src/sys/arch/riscv64/riscv64/sbi.c,v retrieving revision 1.6 diff -u -p -r1.6 sbi.c --- sbi.c 2 Jul 2021 08:44:37 -0000 1.6 +++ sbi.c 4 Nov 2022 21:38:54 -0000 @@ -76,22 +76,22 @@ sbi_print_version(void) switch (sbi_impl_id) { case (SBI_IMPL_ID_BBL): - printf("SBI: Berkely Boot Loader %lu\n", sbi_impl_version); + printf("SBI: Berkely Boot Loader %lu", sbi_impl_version); break; case (SBI_IMPL_ID_OPENSBI): major = sbi_impl_version >> OPENSBI_VERSION_MAJOR_OFFSET; minor = sbi_impl_version & OPENSBI_VERSION_MINOR_MASK; - printf("SBI: OpenSBI v%u.%u\n", major, minor); + printf("SBI: OpenSBI v%u.%u", major, minor); break; default: - printf("SBI: Unrecognized Implementation: %lu\n", sbi_impl_id); + printf("SBI: Unrecognized Implementation: %lu", sbi_impl_id); break; } major = (sbi_spec_version & SBI_SPEC_VERS_MAJOR_MASK) >> SBI_SPEC_VERS_MAJOR_OFFSET; minor = (sbi_spec_version & SBI_SPEC_VERS_MINOR_MASK); - printf("SBI Specification Version: %u.%u\n", major, minor); + printf(", SBI Specification Version %u.%u\n", major, minor); } #ifdef MULTIPROCESSOR -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE