Message ID | cover.1685476786.git.mzamazal@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Add SCMI vhost-user VIRTIO device | expand |
Milan Zamazal <mzamazal@redhat.com> writes: > This patch series adds a vhost-user VIRTIO device for SCMI. > It's similar to other similar vhost-user VIRTIO devices. > > I'm aware of the work in progress by Alex Bennée to simplify similar devices > and avoid excessive code duplication. I think the SCMI device support > doesn't bring anything special and it can be rebased on the given work > if/once it is merged. \o/ - I'll try and get the next iteration done in the next few weeks. Out of interest have you tested your scmi backend with those patches? Oh and also which backend are you using? Vincent did a bunch of work over the last year or so on SCMI although in his case the backend was a RTOS running in a separate domain using some shared memory between the SCMI domain and a couple of guests. > Milan Zamazal (4): > hw/virtio: Add boilerplate for vhost-user-scmi device > hw/virtio: Add vhost-user-scmi-pci boilerplate > tests/qtest: Fix a comment typo in vhost-user-test.c > tests/qtest: enable tests for virtio-scmi > > MAINTAINERS | 7 + > hw/virtio/Kconfig | 5 + > hw/virtio/meson.build | 2 + > hw/virtio/vhost-user-scmi-pci.c | 68 +++++++ > hw/virtio/vhost-user-scmi.c | 306 ++++++++++++++++++++++++++++ > include/hw/virtio/vhost-user-scmi.h | 30 +++ > tests/qtest/libqos/meson.build | 1 + > tests/qtest/libqos/virtio-scmi.c | 174 ++++++++++++++++ > tests/qtest/libqos/virtio-scmi.h | 34 ++++ > tests/qtest/vhost-user-test.c | 46 ++++- > 10 files changed, 672 insertions(+), 1 deletion(-) > create mode 100644 hw/virtio/vhost-user-scmi-pci.c > create mode 100644 hw/virtio/vhost-user-scmi.c > create mode 100644 include/hw/virtio/vhost-user-scmi.h > create mode 100644 tests/qtest/libqos/virtio-scmi.c > create mode 100644 tests/qtest/libqos/virtio-scmi.h
Alex Bennée <alex.bennee@linaro.org> writes: > Milan Zamazal <mzamazal@redhat.com> writes: > >> This patch series adds a vhost-user VIRTIO device for SCMI. >> It's similar to other similar vhost-user VIRTIO devices. >> >> I'm aware of the work in progress by Alex Bennée to simplify similar devices >> and avoid excessive code duplication. I think the SCMI device support >> doesn't bring anything special and it can be rebased on the given work >> if/once it is merged. > > \o/ - I'll try and get the next iteration done in the next few weeks. Great, looking forward. > Out of interest have you tested your scmi backend with those patches? Oh > and also which backend are you using? I have tested the patches with my proof-of-concept SCMI backend (emulating a fake sensor) based on rust-vmm and a Linux guest OS. I plan to change the prototype into something publishable in the next weeks and to post patches to rust-vmm/vhost-device. > Vincent did a bunch of work over the last year or so on SCMI although in > his case the backend was a RTOS running in a separate domain using some > shared memory between the SCMI domain and a couple of guests. I have seen recordings of some related presentations. The work is primarily based on crosvm, right? I'd be interested in what kind of SCMI interface the domain provides and whether it would make sense to be able to connect it with the QEMU SCMI device via some vhost-user daemon, an already existing one, if any, and/or the one I work on. >> Milan Zamazal (4): >> hw/virtio: Add boilerplate for vhost-user-scmi device >> hw/virtio: Add vhost-user-scmi-pci boilerplate >> tests/qtest: Fix a comment typo in vhost-user-test.c >> tests/qtest: enable tests for virtio-scmi >> >> MAINTAINERS | 7 + >> hw/virtio/Kconfig | 5 + >> hw/virtio/meson.build | 2 + >> hw/virtio/vhost-user-scmi-pci.c | 68 +++++++ >> hw/virtio/vhost-user-scmi.c | 306 ++++++++++++++++++++++++++++ >> include/hw/virtio/vhost-user-scmi.h | 30 +++ >> tests/qtest/libqos/meson.build | 1 + >> tests/qtest/libqos/virtio-scmi.c | 174 ++++++++++++++++ >> tests/qtest/libqos/virtio-scmi.h | 34 ++++ >> tests/qtest/vhost-user-test.c | 46 ++++- >> 10 files changed, 672 insertions(+), 1 deletion(-) >> create mode 100644 hw/virtio/vhost-user-scmi-pci.c >> create mode 100644 hw/virtio/vhost-user-scmi.c >> create mode 100644 include/hw/virtio/vhost-user-scmi.h >> create mode 100644 tests/qtest/libqos/virtio-scmi.c >> create mode 100644 tests/qtest/libqos/virtio-scmi.h
On Wed, 31 May 2023 at 13:57, Milan Zamazal <mzamazal@redhat.com> wrote: > > Alex Bennée <alex.bennee@linaro.org> writes: > > > Milan Zamazal <mzamazal@redhat.com> writes: > > > >> This patch series adds a vhost-user VIRTIO device for SCMI. > >> It's similar to other similar vhost-user VIRTIO devices. > >> > >> I'm aware of the work in progress by Alex Bennée to simplify similar devices > >> and avoid excessive code duplication. I think the SCMI device support > >> doesn't bring anything special and it can be rebased on the given work > >> if/once it is merged. > > > > \o/ - I'll try and get the next iteration done in the next few weeks. > > Great, looking forward. > > > Out of interest have you tested your scmi backend with those patches? Oh > > and also which backend are you using? > > I have tested the patches with my proof-of-concept SCMI backend > (emulating a fake sensor) based on rust-vmm and a Linux guest OS. I > plan to change the prototype into something publishable in the next > weeks and to post patches to rust-vmm/vhost-device. > > > Vincent did a bunch of work over the last year or so on SCMI although in > > his case the backend was a RTOS running in a separate domain using some > > shared memory between the SCMI domain and a couple of guests. > > I have seen recordings of some related presentations. The work is > primarily based on crosvm, right? I'd be interested in what kind of I have used qemu for my tests > SCMI interface the domain provides and whether it would make sense to be > able to connect it with the QEMU SCMI device via some vhost-user daemon, > an already existing one, if any, and/or the one I work on. My PoC is based on the SCP-firmware that is usually running on a dedicated power coprocessor. We have extended it to run in several env. The PoC runs the SCP firmware in a VM and uses a vhost user scmi bridge to connect the guest vm with this virtual power coprocessor. One reason for using SCP-firmware is that It follows SCMI specs and its updates so I don't have to re-implement it myself and can leverage on their devs For test purpose I also have enabled it as a simple linux vhost user daemon > > >> Milan Zamazal (4): > >> hw/virtio: Add boilerplate for vhost-user-scmi device > >> hw/virtio: Add vhost-user-scmi-pci boilerplate > >> tests/qtest: Fix a comment typo in vhost-user-test.c > >> tests/qtest: enable tests for virtio-scmi > >> > >> MAINTAINERS | 7 + > >> hw/virtio/Kconfig | 5 + > >> hw/virtio/meson.build | 2 + > >> hw/virtio/vhost-user-scmi-pci.c | 68 +++++++ > >> hw/virtio/vhost-user-scmi.c | 306 ++++++++++++++++++++++++++++ > >> include/hw/virtio/vhost-user-scmi.h | 30 +++ > >> tests/qtest/libqos/meson.build | 1 + > >> tests/qtest/libqos/virtio-scmi.c | 174 ++++++++++++++++ > >> tests/qtest/libqos/virtio-scmi.h | 34 ++++ > >> tests/qtest/vhost-user-test.c | 46 ++++- > >> 10 files changed, 672 insertions(+), 1 deletion(-) > >> create mode 100644 hw/virtio/vhost-user-scmi-pci.c > >> create mode 100644 hw/virtio/vhost-user-scmi.c > >> create mode 100644 include/hw/virtio/vhost-user-scmi.h > >> create mode 100644 tests/qtest/libqos/virtio-scmi.c > >> create mode 100644 tests/qtest/libqos/virtio-scmi.h >