On 14-06-21, 10:03, Enrico Weigelt, metux IT consult
wrote:> for qemu side you might be interested in my patch queue from last year
> (including the virtio-gpio implementation) - it also introduces an
> gpio backend subsys that allows attaching simulation gpio's to various
> backends. so far just implemented a dummy backend (that can be
> manipulated by qemu console) and using it just in the virtio-gpio
> device emulation.
>
> https://github.com/oss-qm/qemu/tree/wip/gpio-v2
Interesting, so this is a qemu-specific backend you have here.
The way we are looking to write the backend (in Project Stratos at
Linaro) is to make it hypervisor agnostic. So any hypervisor that
understands the vhost protocol can use our backend without changing a
single line of code. The backend will not be part of any
hypervisor's/VMM's source code. FWIW, this doesn't add anything
special to the virtio protocol (like GPIO).
Here is a C based backend we have for I2C:
https://yhbt.net/lore/all/cover.1617278395.git.viresh.kumar at
linaro.org/T/#m3b5044bad9769b170f505e63bd081eb27cef8db2
I started with keeping code in QEMU itself but now replaced it with
one in RUST.
https://github.com/vireshk/vhost-device/tree/master/src/i2c
--
viresh