On Tue, Jan 9, 2018 at 3:31 AM, Christoph Hellwig <h...@lst.de> wrote:
> On Wed, Jan 03, 2018 at 01:44:15PM +1300, Michael Clark wrote: > > HTIF (Host Target Interface) provides console emulation for QEMU. HTIF > > allows identical copies of BBL (Berkeley Boot Loader) and linux to run > > on both Spike and QEMU. BBL provides HTIF console access via the > > SBI (Supervisor Binary Interface) and the linux kernel SBI console. > > Do you have a current spec for the SBI? I haven't been able to find > any current reference since it was removed from the privileged spec. > AFAIK it still needs to be documented. BTW I've created branches in my own personal trees for Privileged ISA v1.9.1. These trees are what I use for v1.9.1 backward compatibility testing in QEMU: - https://github.com/michaeljclark/riscv-linux/tree/riscv-linux-4.6.2 - https://github.com/michaeljclark/riscv-pk/tree/bbl-1.9.1 We need to be a little more disciplined with software releases, especially when there are backward incompatible changes in the specification. The repos need to be branched and tagged. It should be possible to somehow derive the conformance level. Perhaps the SBI should have an API for this. This is one of the driving reasons behind adding version conformance levels to QEMU. Previously we had repos in a state of flux and if you didn't have the magic commit ids you were out of luck. For example, when we have priv isa v1.11 released, we will still need a priv isa v1.10 mode which masks out all of the new features. Given there are no "feature bits" besides the extensions "IMAFDSU", all we have to go on presently is the privileged ISA spec version number.