
On Tue, 22 Jan 2019, Auer, Lukas wrote:
For the same reason, I agree with you that it does not make sense to implement the SBI in U-Boot. OpenSBI is better suited to handle this.
It should be possible to link the OpenSBI library with U-boot, then allow U-boot to use SBI services itself, and to expose the SBI services to whatever it boots. So the OpenSBI boot firmware wouldn't be used, but the underlying library code would be. That simplifies the boot flow, since the (separate) OpenSBI firmware would no longer be needed.
A boot flow that could be used in this case is the following.
ZSBL -> U-Boot SPL (M-mode) -> OpenSBI -> U-Boot proper (S-mode)
There are other boot flows that are common on ARM platforms:
- Boot ROM -> SPL -> U-boot -> Linux - Boot ROM -> SPL -> U-boot -> (SBI implementation / TEE) -> Linux
It would be good if we could avoid prejudicing against any of these boot flows.
- Paul