2021-04-15 Project Stratos Sync Meeting notes


  • Mike
  • Vincent
  • Bill Mills
  • Don H
  • Mathieu
  • Stefano (Xilinx)
  • Randy
  • Ed (Arm)
  • Peter
  • Jean- Phillip
  • Arnaud ()
  • Azzedine (Qualcomm)
  • Loic (ST)
  • Alex
  • Joakim
  • Sirivatsa
  • Diana (NXP)
  • Srinivas Kalaga ()
  • Bill Fletcher

Discussion items

  • Vincent: Should we consider static vs dynamic users of a backend

Discussion Points 

Vincnet Generic backend, should we have a max preallocated backend ?  

SCMI backend will be connected to a number of VMs,  for an SCMI channel you can make visible a different number of clocks, if it is dynamic that will be hard to do

Alex - we have been talking static VM, you will know how many backends you need, Vincent that is what I assumed but wanted to check.

Azzedine, clocks will be fixed, it is reasonable to assume static VMs.  Vincent but can we set a maximum number, even if they come and go

Stefano - is this just to make it easier, and make it possible to set what is visible

BillM - we should try to make moving to a dynamic model in the future possible without a huge rewrite

VG: have vhost user working as a backend, this is all working. On SCP firmware I am setting a fixed number of channels, OSPM0, OSPM1 

Stefano: Longer tem there will be a mix of static and dynamic, you might spin up  VMs as you do with containers

VG: even for SCMI, common PLL, Stefano  you can have Xilin part with  accelerators coming and going

Alex STR-10 only considers static configuration - if we want to explore dynamic setups we should scope that up even if we won't get to it straight away.

Azzedine 1. Step in between, a set of dynamic

VG: Demo - use SCP firmware, also available in op-tee,  compile with libvhostuser, to create vhost backend. This is an intermediate step because it is Linuxuser space: emulated the hw resource.  Have a vhost-user mailbox in SCP, to move to a pure virtio just this module changes.  For the front end reused RFC from open synergy with bug fix from Viresh

Azzedine: thinking about unicraft, VG don't expect many problems after getting multiple VM guests using zephyr or unicraft. 

AZ: how long,  VG: concurrent access needs to be safe but not a big deal, push to git hub next week

AZ: is there any crash recovery: VG: if guest crash? AZ: yes: VG,  form pure SCMI server pov  all the requests are independent, so perhaps recounting is an issue,  think SCMI channel has a reset everything capability

Alex:  reconfiguration will clear everything 

VG: a power coprocessor does this

Srivatsa: is there a way to detect a guest VM failed: Alex:  no standard way, perhaps a watchdog, enterprise uses cloud state.  Srivatsa it is  a standard request not just for SCMI, perhaps watchdog. Alex: we do have virtio watchdog on the list

Alex: demo

Show scmi server between two hypervisors,  single binary or single source, the complication is around signalling. With binary, you would need glue code, with a src code there is a lot of difference between hypervisors, hard to have a clean abstraction.  

Stefano: API called from in a guest,  libraries are for Linux or freeBSD don't help with Zephyr. One set is to make calls. we have libXenZephyr but this is too big, the licence is a poor match. It is a good idea to relicense, have been talking with the community manager, most people want this done.

Azzedine: starting with a single binary approach is a good first step, 

Azzedine: will this be portable to Zephyr, Stefano I would have thought a year ago we would write these from scratch,  but maybe it makes sense to have a more complete library. A small library took only a few days, for a demo this is fine. 

VG the main goal is to have SCMI server run standalone in zephyr, all I need is small. Stefano,  this will be 5-10 hypercalls.

Alex Dom0 case is minimal bring up and down, Stefano - perhaps 20 calls, might be best to have this lib in Zephyr.

VG: Zephyr or unicraft? Stefano Unicraft should be used as domU rather than dom0,  think Unicraft might be  slightly easier

Azz when for demo: Alex October

Alex: we need a jailhouse

virtio-gpio - some things on the list , no spec sent to OASIS, pinged author, 

virtio-i2c, have C backend and looking at Rust


Diana - has not talked  Peng, Alex we have been talking to Peng, if we can get Pend we can include Jailhouse

Diana - we have played with jailhouse, but this is not suited for this.

Alex : AGL are hoping to do a Jailhouse demo

Bill MI: in jailhouse, there is no concept of a scheduler,  Alex,  only interested due to Windrivershypervisorss less environment. YOu would have Zephyr in the VM with other small tasks

Action items