2021-07-08 Project Stratos Sync Meeting notes

Participants

  • @Don Harbin

  • @Mike Holmes

  • @Mathieu Poirier

  • @Arnd Bergmann

  • @Peter Griffin

  • @Alex Bennée

  • Diana (NXP)

  • @Vincent Guittot

  • @Viresh Kumar

  • Matt (Arm)

  • @Jean-Philippe Brucker

  • Srivatsa

  • @Ruchika Gupta

  • @Ilias Apalodimas

  • @Randy Linnell

  • @Joakim Bech

Agenda

Discussion topics

  • Updates

    • RNG - EDIT wasn’t actually merged, AJB must have seen a ghost branch somewhere

    • RPMB - - working on rust version next week

    • GPIO - stuck, suggestions on how to overcome difficulties,

      • there is no good way to get DTB working, have not looked at this to date, Viresh now has some cycles to look.

      • DTB, How do we limit guests to a subset of I2C devices for example? Arnd, assign one to one is my preference. Viresh i2c detect - pings all addresses to see if there is anything there, can't know what it is. Back end will not get the data sent to the guest OS’es, Arnd it has to be defined at guest creation. Alex on the guest side there is binding to **missed what ** host side which guest to which real HW. Alex for daemon you could have a magic shell script for now - Arnd we cant do that, shell script cant know, Alex, hardcoded ? Arnd yes if embedded.

        • Alex, perhaps scope a card to look at this, do have card on how to describe a system, Arnd who defines DT in QEMU ? Alex from QEMU it depends, only the virt machine cares. Arnd for fixed machine it is easier. Arnd assumed we would use virt machine. need format for any virtio device, currently assume it is a PCI device, or the outside of the device and not what's inside. MMIO we have virtio device in DTB. For cases of GPIO as an interrupt or I2C with slave device we need to come up with a solution.

        • QEMU wants the same information as the backend - Arnd - command line ?, Alex for embedded yes. What happens with large numbers of GPIOs, imagine the command line

      • Viresh - Xen testing on MachiatoBin, unable to boot Dom0 unless it gets firmware information, fix looks straightforward (Stefano) just needs to be done.

      • Mathieu - how to connect rustVMM to daemon, Alex QEMU in my case, rustVMM may not have stub support. vmm-ref is just a shim. Alternative hypervisors need to think about production deployment. Viresh used QEMU.

      • RustVMM - AJB: not sure how easy it would be to do a Xen crate for rust-vmm given the tight coupling between the xen libs and their userspace and the version of the hypervisor. Maybe we just end up with several versioned crates (e.g. xen-4.14, xen-4.15…)

      • Alex be nice to look at Gynya, and create a crate for that.

    • I2C - RNG makes me wonder what it will take for I2C, Viresh don't want to maintain C and Rust versions so will resend. Rust VMM, initial code was more C like, added rust features and test code. Training helped. expect it to get merged, good reviews.

      • Alex post and don't see an issue, Viresh to resend

    • Xen - OP-tee - we have experimental support, we tried this with QEMU, it is available in PS 9&10, EL1 to Linux and Xtest is running.

  • Rust course - Matt asking

    • Alex good course - two trainers, lots of questions, 6 days was a lot, did not cover non stdlib rust (aka embedded)

    • Arnd - LWN article today, lots of discussions, can use GCC jit, can build for all architecture vs those with a front end in Rust. looks like most useful approach.

    • Alex, rust leans on tooling, helps to have IDE, libgccjit could be in TCG future

Demo

Ilias, Added TPM driver from MMIO, can now build this in QEMU, the SW TPM lets us work around RPMB discussion.

Matt - with automotive hat on, attestation of VMs is valuable, Sofee has attestation for containers, what we need is attention of the VM image. Matt is using Xen., Can we use Parsec?

Action items

@Mike Holmes follow up on needed rust Vmm support
@Mike Holmes can we use Parsec
@Mike Holmes Check on summer meeting scedule

Decisions