Re: [sig-hypervisors] [RISC-V] [tech-unixplatformspec] SBI Debug Console Extension Proposal (Draft v1)

Schwarz, Konrad <>

A further use case requiring fast boot

are automotive electronic control units, e.g.,

an infotainment unit.




From: sig-hypervisors@... <sig-hypervisors@...> On Behalf Of Greg Favor via
Sent: Thursday, June 2, 2022 22:50
To: Stefano Stabellini <stefano.stabellini@...>
Cc: sig-hypervisors@...; Anup Patel <apatel@...>; Heiko Stübner <heiko@...>; opensbi <opensbi@...>; tech-os-a-see@...; tech-unixplatformspec <tech-unixplatformspec@...>; Jan Remeš <jan.remes@...>
Subject: Re: [sig-hypervisors] [RISC-V] [tech-unixplatformspec] SBI Debug Console Extension Proposal (Draft v1)


On Thu, Jun 2, 2022 at 1:29 PM Stefano Stabellini <stefano.stabellini@...> wrote:

On Thu, 2 Jun 2022, Vedvyas Shanbhogue via wrote:
> Of course a console is needed. But I was questioning the need for something much
> more elaborate than a putchar/getchar interface. I understand its needed to port
> the hypervisor but I undersatnd it would be needed for very early parts of the
> hypervisor where it does not even have the ability to master a uart on its own.

Yeah, I think you are right that it is not a must-have feature but a
nice-to-have feature.


Even though we all (me included) tend to think that slowing down something like this will be inconsequential to the time to boot and/or who cares how fast or slow is boot time, in the past I have found that to be a risky presumption in certain production environments where boot time matters (especially with frequent standing up of VMs from scratch).  So a worthwhile sanity check question would be 1) what percentage of early boot time is spent writing to the console with per-string SBI calls, and 2) by what order of magnitude does that percentage inflate due to SBI calls for every individual character.


Starting at 1% and inflating to 10%-100% would not be good.  Starting at 0.01% and inflating to 0.1-1% is likely acceptable.


Anup, care to try and ballpark #1 and #2 above?




Join { to automatically receive all group messages.