On Sat, Dec 03, 2022 at 11:48:16PM +0100, Jeremie Courreges-Anglas wrote:
>
> 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
> [email protected]:/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?
>
ok mlarkin if not already done.
>
> 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
>