mbox

[v5,00/14] add FreeBSD support to VMBUS & NetVSC PMDs

Message ID 20220423042849.7718-1-srikanth.k@oneconvergence.com (mailing list archive)
Headers

Message

Srikanth Kaka April 23, 2022, 4:28 a.m. UTC
This patchset requires FreeBSD VMBus kernel changes and
HV_UIO driver. Both are currently under review at
https://reviews.freebsd.org/D32184

Changelog:
v5: - renamed dir osi to unix
    - marked a newly added API as experimental
    - removed camel case variables
v4: - moved OS independent code out of Linux
v3: - split the patches into further logical parts
    - updated docs
v2: - replaced strncpy with memcpy
    - replaced malloc.h with stdlib.h
    - added comment in linux/vmbus_uio.c
v1: Intial release

Srikanth Kaka (14):
  bus/vmbus: move independent code from Linux
  bus/vmbus: move independent bus functions
  bus/vmbus: move OS independent UIO functions
  bus/vmbus: scan and get the network device on FreeBSD
  bus/vmbus: handle mapping of device resources
  bus/vmbus: get device resource values using sysctl
  net/netvsc: make event monitor OS dependent
  bus/vmbus: add sub-channel mapping support
  bus/vmbus: open subchannels
  net/netvsc: make IOCTL call to open subchannels
  bus/vmbus: get subchannel info
  net/netvsc: moving hotplug retry to OS dir
  bus/vmbus: add meson support for FreeBSD
  bus/vmbus: update MAINTAINERS and docs

 MAINTAINERS                             |   2 +
 doc/guides/nics/netvsc.rst              |  11 ++
 drivers/bus/vmbus/freebsd/vmbus_bus.c   | 286 ++++++++++++++++++++++++++++
 drivers/bus/vmbus/freebsd/vmbus_uio.c   | 256 +++++++++++++++++++++++++
 drivers/bus/vmbus/linux/vmbus_bus.c     |  28 +--
 drivers/bus/vmbus/linux/vmbus_uio.c     | 320 ++++----------------------------
 drivers/bus/vmbus/meson.build           |  12 +-
 drivers/bus/vmbus/private.h             |   1 +
 drivers/bus/vmbus/rte_bus_vmbus.h       |  11 ++
 drivers/bus/vmbus/unix/vmbus_unix.h     |  27 +++
 drivers/bus/vmbus/unix/vmbus_unix_bus.c |  37 ++++
 drivers/bus/vmbus/unix/vmbus_unix_uio.c | 310 +++++++++++++++++++++++++++++++
 drivers/bus/vmbus/version.map           |   6 +
 drivers/bus/vmbus/vmbus_channel.c       |   5 +
 drivers/net/netvsc/freebsd/hn_os.c      |  21 +++
 drivers/net/netvsc/freebsd/meson.build  |   6 +
 drivers/net/netvsc/hn_ethdev.c          |  95 +---------
 drivers/net/netvsc/hn_os.h              |   8 +
 drivers/net/netvsc/linux/hn_os.c        | 111 +++++++++++
 drivers/net/netvsc/linux/meson.build    |   6 +
 drivers/net/netvsc/meson.build          |   3 +
 21 files changed, 1164 insertions(+), 398 deletions(-)
 create mode 100644 drivers/bus/vmbus/freebsd/vmbus_bus.c
 create mode 100644 drivers/bus/vmbus/freebsd/vmbus_uio.c
 create mode 100644 drivers/bus/vmbus/unix/vmbus_unix.h
 create mode 100644 drivers/bus/vmbus/unix/vmbus_unix_bus.c
 create mode 100644 drivers/bus/vmbus/unix/vmbus_unix_uio.c
 create mode 100644 drivers/net/netvsc/freebsd/hn_os.c
 create mode 100644 drivers/net/netvsc/freebsd/meson.build
 create mode 100644 drivers/net/netvsc/hn_os.h
 create mode 100644 drivers/net/netvsc/linux/hn_os.c
 create mode 100644 drivers/net/netvsc/linux/meson.build
  

Comments

Stephen Hemminger Feb. 7, 2025, 1:43 a.m. UTC | #1
On Sat, 23 Apr 2022 09:58:35 +0530
Srikanth Kaka <srikanth.k@oneconvergence.com> wrote:

> This patchset requires FreeBSD VMBus kernel changes and
> HV_UIO driver. Both are currently under review at
> https://reviews.freebsd.org/D32184
> 
> Changelog:
> v5: - renamed dir osi to unix
>     - marked a newly added API as experimental
>     - removed camel case variables
> v4: - moved OS independent code out of Linux
> v3: - split the patches into further logical parts
>     - updated docs
> v2: - replaced strncpy with memcpy
>     - replaced malloc.h with stdlib.h
>     - added comment in linux/vmbus_uio.c
> v1: Intial release
> 
> Srikanth Kaka (14):
>   bus/vmbus: move independent code from Linux
>   bus/vmbus: move independent bus functions
>   bus/vmbus: move OS independent UIO functions
>   bus/vmbus: scan and get the network device on FreeBSD
>   bus/vmbus: handle mapping of device resources
>   bus/vmbus: get device resource values using sysctl
>   net/netvsc: make event monitor OS dependent
>   bus/vmbus: add sub-channel mapping support
>   bus/vmbus: open subchannels
>   net/netvsc: make IOCTL call to open subchannels
>   bus/vmbus: get subchannel info
>   net/netvsc: moving hotplug retry to OS dir
>   bus/vmbus: add meson support for FreeBSD
>   bus/vmbus: update MAINTAINERS and docs
> 
>  MAINTAINERS                             |   2 +
>  doc/guides/nics/netvsc.rst              |  11 ++
>  drivers/bus/vmbus/freebsd/vmbus_bus.c   | 286 ++++++++++++++++++++++++++++
>  drivers/bus/vmbus/freebsd/vmbus_uio.c   | 256 +++++++++++++++++++++++++
>  drivers/bus/vmbus/linux/vmbus_bus.c     |  28 +--
>  drivers/bus/vmbus/linux/vmbus_uio.c     | 320 ++++----------------------------
>  drivers/bus/vmbus/meson.build           |  12 +-
>  drivers/bus/vmbus/private.h             |   1 +
>  drivers/bus/vmbus/rte_bus_vmbus.h       |  11 ++
>  drivers/bus/vmbus/unix/vmbus_unix.h     |  27 +++
>  drivers/bus/vmbus/unix/vmbus_unix_bus.c |  37 ++++
>  drivers/bus/vmbus/unix/vmbus_unix_uio.c | 310 +++++++++++++++++++++++++++++++
>  drivers/bus/vmbus/version.map           |   6 +
>  drivers/bus/vmbus/vmbus_channel.c       |   5 +
>  drivers/net/netvsc/freebsd/hn_os.c      |  21 +++
>  drivers/net/netvsc/freebsd/meson.build  |   6 +
>  drivers/net/netvsc/hn_ethdev.c          |  95 +---------
>  drivers/net/netvsc/hn_os.h              |   8 +
>  drivers/net/netvsc/linux/hn_os.c        | 111 +++++++++++
>  drivers/net/netvsc/linux/meson.build    |   6 +
>  drivers/net/netvsc/meson.build          |   3 +
>  21 files changed, 1164 insertions(+), 398 deletions(-)
>  create mode 100644 drivers/bus/vmbus/freebsd/vmbus_bus.c
>  create mode 100644 drivers/bus/vmbus/freebsd/vmbus_uio.c
>  create mode 100644 drivers/bus/vmbus/unix/vmbus_unix.h
>  create mode 100644 drivers/bus/vmbus/unix/vmbus_unix_bus.c
>  create mode 100644 drivers/bus/vmbus/unix/vmbus_unix_uio.c
>  create mode 100644 drivers/net/netvsc/freebsd/hn_os.c
>  create mode 100644 drivers/net/netvsc/freebsd/meson.build
>  create mode 100644 drivers/net/netvsc/hn_os.h
>  create mode 100644 drivers/net/netvsc/linux/hn_os.c
>  create mode 100644 drivers/net/netvsc/linux/meson.build
> 

Is this patch still of interest to anyone?
It is over 3 years old, and would lots of work to rebase on current main branch.
Also, would need ack from existing vmbus maintainers.

Going to close off this version in patchwork as "Changes requested" since it
will need work.