OS-A SEE Update
I'm cross posting to tech-unixplatformspec@ and tech-os-a-see@ lists because there wasn't sufficient overlap in membership to get the proper visibility.
I had proposed a charter that can be found here: https://docs.google.com/document/d/18W7XJB0kAQV9hyD3LFQZgNN6ZIP3CuHa_uCdQgk9q_4/edit
I hope people will respond with their feedback so we can move forward. I purposefully made things generic such that we can focus on the aspects of booting an OS as well as obtaining any necessary information at runtime. Hypervisor and non-Hypervisor support is fully expected in that the same OS could be booted with or w/o the hypervisor extension.
The one bit of feedback that I have heard is that SEE is a reused term from the privilege spec. While SEE is generic within the privilege spec we're proposing an OS-A specific SEE expectations. As such, it was suggested we formally call it SEEI (Supervisor Execution Environment Interface). The charter has not been updated to reflect that, but I think that's a good idea to provide specificity and clarity without colliding with terms already being used.
More on approach intent of OS-A SEE spec: It is my belief that to kickstart the ecosystem we need a common set of interfaces the OS can rely on for booting and runtime. However, it should not prescribe particular hardware support (unless absolutely necessary which we need to discuss). The reason for this thinking is that SW has the ability to dynamically probe and bind drivers for particular HW support. We should expect to take advantage of this situation to create a big umbrellea that allows binary portability across RISC-V implementations. That is why the focus would largely be on interacting w/ SEE at boot and runtime.
Please let me know your thoughts.