mbox series

[0/4] Virtio toolstack support for I2C and GPIO on Arm

Message ID cover.1651734854.git.viresh.kumar@linaro.org (mailing list archive)
Headers show
Series Virtio toolstack support for I2C and GPIO on Arm | expand

Message

Viresh Kumar May 5, 2022, 7:33 a.m. UTC
Hello,

This patchset adds toolstack support for I2C and GPIO virtio devices. This is
inspired from the work done by Oleksandr for the Disk device [1].

The first two patches can be applied right away, but the last two need
Oleksandr's series [1] to be applied first.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backend [2].

I must accept that I am a beginner to Xen and developed this patchset based on
support for existing devices like Disk or Keyboard. There may be bits which I
missed or the one I added which aren't really required.

Thanks.

--
Viresh

Viresh Kumar (4):
  libxl: Add support for Virtio I2C device
  libxl: Add support for Virtio GPIO device
  libxl: Allocate MMIO params for I2c device and update DT
  libxl: Allocate MMIO params for GPIO device and update DT

 tools/golang/xenlight/helpers.gen.go      | 220 ++++++++++++++++++++
 tools/golang/xenlight/types.gen.go        |  54 +++++
 tools/include/libxl.h                     |  64 ++++++
 tools/include/libxl_utils.h               |   6 +
 tools/libs/light/Makefile                 |   2 +
 tools/libs/light/libxl_arm.c              | 117 ++++++++++-
 tools/libs/light/libxl_create.c           |  26 +++
 tools/libs/light/libxl_dm.c               |  34 +++-
 tools/libs/light/libxl_gpio.c             | 236 ++++++++++++++++++++++
 tools/libs/light/libxl_i2c.c              | 236 ++++++++++++++++++++++
 tools/libs/light/libxl_internal.h         |   2 +
 tools/libs/light/libxl_types.idl          |  52 +++++
 tools/libs/light/libxl_types_internal.idl |   2 +
 tools/ocaml/libs/xl/genwrap.py            |   2 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   2 +
 tools/xl/Makefile                         |   2 +-
 tools/xl/xl.h                             |   6 +
 tools/xl/xl_cmdtable.c                    |  30 +++
 tools/xl/xl_gpio.c                        | 143 +++++++++++++
 tools/xl/xl_i2c.c                         | 143 +++++++++++++
 tools/xl/xl_parse.c                       | 160 +++++++++++++++
 tools/xl/xl_parse.h                       |   2 +
 tools/xl/xl_sxp.c                         |   4 +
 23 files changed, 1540 insertions(+), 5 deletions(-)
 create mode 100644 tools/libs/light/libxl_gpio.c
 create mode 100644 tools/libs/light/libxl_i2c.c
 create mode 100644 tools/xl/xl_gpio.c
 create mode 100644 tools/xl/xl_i2c.c

Comments

Oleksandr Tyshchenko May 8, 2022, 5:28 p.m. UTC | #1
On 05.05.22 10:33, Viresh Kumar wrote:

Hello Viresh

> Hello,
>
> This patchset adds toolstack support for I2C and GPIO virtio devices. This is
> inspired from the work done by Oleksandr for the Disk device [1].

Great work!


>
> The first two patches can be applied right away, but the last two need
> Oleksandr's series [1] to be applied first.

I have reviewed patches #3/4 and #4/4 (libxl_arm.c changes).

FYI, I have recently pushed V8 of my series [1], which changes the code 
in libxl_arm.c a bit.


>
> This is developed as part of Linaro's Project Stratos, where we are working
> towards Hypervisor agnostic Rust based backend [2].
>
> I must accept that I am a beginner to Xen and developed this patchset based on
> support for existing devices like Disk or Keyboard. There may be bits which I
> missed or the one I added which aren't really required.
>
> Thanks.
>
> --
> Viresh
>
> Viresh Kumar (4):
>    libxl: Add support for Virtio I2C device
>    libxl: Add support for Virtio GPIO device
>    libxl: Allocate MMIO params for I2c device and update DT
>    libxl: Allocate MMIO params for GPIO device and update DT
>
>   tools/golang/xenlight/helpers.gen.go      | 220 ++++++++++++++++++++
>   tools/golang/xenlight/types.gen.go        |  54 +++++
>   tools/include/libxl.h                     |  64 ++++++
>   tools/include/libxl_utils.h               |   6 +
>   tools/libs/light/Makefile                 |   2 +
>   tools/libs/light/libxl_arm.c              | 117 ++++++++++-
>   tools/libs/light/libxl_create.c           |  26 +++
>   tools/libs/light/libxl_dm.c               |  34 +++-
>   tools/libs/light/libxl_gpio.c             | 236 ++++++++++++++++++++++
>   tools/libs/light/libxl_i2c.c              | 236 ++++++++++++++++++++++
>   tools/libs/light/libxl_internal.h         |   2 +
>   tools/libs/light/libxl_types.idl          |  52 +++++
>   tools/libs/light/libxl_types_internal.idl |   2 +
>   tools/ocaml/libs/xl/genwrap.py            |   2 +
>   tools/ocaml/libs/xl/xenlight_stubs.c      |   2 +
>   tools/xl/Makefile                         |   2 +-
>   tools/xl/xl.h                             |   6 +
>   tools/xl/xl_cmdtable.c                    |  30 +++
>   tools/xl/xl_gpio.c                        | 143 +++++++++++++
>   tools/xl/xl_i2c.c                         | 143 +++++++++++++
>   tools/xl/xl_parse.c                       | 160 +++++++++++++++
>   tools/xl/xl_parse.h                       |   2 +
>   tools/xl/xl_sxp.c                         |   4 +
>   23 files changed, 1540 insertions(+), 5 deletions(-)
>   create mode 100644 tools/libs/light/libxl_gpio.c
>   create mode 100644 tools/libs/light/libxl_i2c.c
>   create mode 100644 tools/xl/xl_gpio.c
>   create mode 100644 tools/xl/xl_i2c.c


[1] 
https://lore.kernel.org/xen-devel/1651598763-12162-1-git-send-email-olekstysh@gmail.com/