Message ID | 20250305105800.949153-1-eric.auger@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | vfio-platform: Deprecate all forms of vfio-platform devices | expand |
On 3/5/25 11:58, Eric Auger wrote: > As an outcome of KVM forum 2024 "vfio-platform: live and let die?" > talk, let's deprecate vfio-platform devices. > > Signed-off-by: Eric Auger <eric.auger@redhat.com> > --- > docs/about/deprecated.rst | 25 +++++++++++++++++++++++++ > hw/vfio/amd-xgbe.c | 2 ++ > hw/vfio/calxeda-xgmac.c | 2 ++ > hw/vfio/platform.c | 1 + > 4 files changed, 30 insertions(+) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index abadf8de27..d11a7004df 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -434,6 +434,31 @@ Stream ``reconnect`` (since 9.2) > The ``reconnect`` option only allows specifiying second granularity timeouts, > which is not enough for all types of use cases, use ``reconnect-ms`` instead. > > +VFIO device options > +'''''''''''''''''' > + > +``-device vfio-calxeda-xgmac`` (since v2.4) > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The version mentioned after since corresponds to the version in which the machine/device/feature was deprecated, not the version it was added. With that changed, Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > +The vfio-calxeda-xgmac device allows to assign a host Calxeda Highbank > +10Gb XGMAC Ethernet controller device ("calxeda,hb-xgmac" compatibility > +string) to a guest. Calxeda HW has been ewasted now and there is no point > +keeping that device. > + > +``-device vfio-amd-xgbe`` (since v2.6) > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +The vfio-amd-xgbe devices allows to assign a host AMD 10GbE controller > +to a guest ("amd,xgbe-seattle-v1a" compatibility string). AMD "Seattle" > +is not supported anymore and there is no point keeping that device. > + > +``-device vfio-platform`` (since v3.1) > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > +The vfio-platform device allows to assign a host platform device > +to a guest in a generic manner. Integrating a new device into > +the vfio-platform infrastructure requires some adaptation at > +both kernel and qemu level. No such attempt has been done for years > +and the conclusion is that vfio-platform has not got any traction. > +PCIe passthrough shall be the mainline solution. > + > CPU device properties > ''''''''''''''''''''' > > diff --git a/hw/vfio/amd-xgbe.c b/hw/vfio/amd-xgbe.c > index aaa96903db..5927503b5c 100644 > --- a/hw/vfio/amd-xgbe.c > +++ b/hw/vfio/amd-xgbe.c > @@ -15,12 +15,14 @@ > #include "hw/vfio/vfio-amd-xgbe.h" > #include "migration/vmstate.h" > #include "qemu/module.h" > +#include "qemu/error-report.h" > > static void amd_xgbe_realize(DeviceState *dev, Error **errp) > { > VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev); > VFIOAmdXgbeDeviceClass *k = VFIO_AMD_XGBE_DEVICE_GET_CLASS(dev); > > + warn_report("-device vfio-amd-xgbe is deprecated"); > vdev->compat = g_strdup("amd,xgbe-seattle-v1a"); > vdev->num_compat = 1; > > diff --git a/hw/vfio/calxeda-xgmac.c b/hw/vfio/calxeda-xgmac.c > index b016d42b49..a5ef262def 100644 > --- a/hw/vfio/calxeda-xgmac.c > +++ b/hw/vfio/calxeda-xgmac.c > @@ -15,12 +15,14 @@ > #include "hw/vfio/vfio-calxeda-xgmac.h" > #include "migration/vmstate.h" > #include "qemu/module.h" > +#include "qemu/error-report.h" > > static void calxeda_xgmac_realize(DeviceState *dev, Error **errp) > { > VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev); > VFIOCalxedaXgmacDeviceClass *k = VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS(dev); > > + warn_report("-device vfio-calxeda-xgmac is deprecated"); > vdev->compat = g_strdup("calxeda,hb-xgmac"); > vdev->num_compat = 1; > > diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c > index f491f4dc95..a09f7f65c6 100644 > --- a/hw/vfio/platform.c > +++ b/hw/vfio/platform.c > @@ -575,6 +575,7 @@ static void vfio_platform_realize(DeviceState *dev, Error **errp) > VFIODevice *vbasedev = &vdev->vbasedev; > int i; > > + warn_report("-device vfio-platform is deprecated"); > qemu_mutex_init(&vdev->intp_mutex); > > trace_vfio_platform_realize(vbasedev->sysfsdev ?
Hi Eric, On 5/3/25 11:58, Eric Auger wrote: > As an outcome of KVM forum 2024 "vfio-platform: live and let die?" > talk, let's deprecate vfio-platform devices. > > Signed-off-by: Eric Auger <eric.auger@redhat.com> > --- > docs/about/deprecated.rst | 25 +++++++++++++++++++++++++ > hw/vfio/amd-xgbe.c | 2 ++ > hw/vfio/calxeda-xgmac.c | 2 ++ > hw/vfio/platform.c | 1 + > 4 files changed, 30 insertions(+) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index abadf8de27..d11a7004df 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -434,6 +434,31 @@ Stream ``reconnect`` (since 9.2) > The ``reconnect`` option only allows specifiying second granularity timeouts, > which is not enough for all types of use cases, use ``reconnect-ms`` instead. > > +VFIO device options > +'''''''''''''''''' > + > +``-device vfio-calxeda-xgmac`` (since v2.4) > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "since" in this file means "since when the option is deprecated", so it should be "since 10.0". > +The vfio-calxeda-xgmac device allows to assign a host Calxeda Highbank > +10Gb XGMAC Ethernet controller device ("calxeda,hb-xgmac" compatibility > +string) to a guest. Calxeda HW has been ewasted now and there is no point > +keeping that device. > + > +``-device vfio-amd-xgbe`` (since v2.6) > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ditto. > +The vfio-amd-xgbe devices allows to assign a host AMD 10GbE controller > +to a guest ("amd,xgbe-seattle-v1a" compatibility string). AMD "Seattle" > +is not supported anymore and there is no point keeping that device. > + > +``-device vfio-platform`` (since v3.1) > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ditto. > +The vfio-platform device allows to assign a host platform device > +to a guest in a generic manner. Integrating a new device into > +the vfio-platform infrastructure requires some adaptation at > +both kernel and qemu level. No such attempt has been done for years > +and the conclusion is that vfio-platform has not got any traction. > +PCIe passthrough shall be the mainline solution.
On 3/5/25 12:45 PM, Philippe Mathieu-Daudé wrote: > Hi Eric, > > On 5/3/25 11:58, Eric Auger wrote: >> As an outcome of KVM forum 2024 "vfio-platform: live and let die?" >> talk, let's deprecate vfio-platform devices. >> >> Signed-off-by: Eric Auger <eric.auger@redhat.com> >> --- >> docs/about/deprecated.rst | 25 +++++++++++++++++++++++++ >> hw/vfio/amd-xgbe.c | 2 ++ >> hw/vfio/calxeda-xgmac.c | 2 ++ >> hw/vfio/platform.c | 1 + >> 4 files changed, 30 insertions(+) >> >> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst >> index abadf8de27..d11a7004df 100644 >> --- a/docs/about/deprecated.rst >> +++ b/docs/about/deprecated.rst >> @@ -434,6 +434,31 @@ Stream ``reconnect`` (since 9.2) >> The ``reconnect`` option only allows specifiying second granularity >> timeouts, >> which is not enough for all types of use cases, use >> ``reconnect-ms`` instead. >> +VFIO device options >> +'''''''''''''''''' >> + >> +``-device vfio-calxeda-xgmac`` (since v2.4) >> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > "since" in this file means "since when the option is deprecated", > so it should be "since 10.0". > >> +The vfio-calxeda-xgmac device allows to assign a host Calxeda Highbank >> +10Gb XGMAC Ethernet controller device ("calxeda,hb-xgmac" compatibility >> +string) to a guest. Calxeda HW has been ewasted now and there is no >> point >> +keeping that device. >> + >> +``-device vfio-amd-xgbe`` (since v2.6) >> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Ditto. > >> +The vfio-amd-xgbe devices allows to assign a host AMD 10GbE controller >> +to a guest ("amd,xgbe-seattle-v1a" compatibility string). AMD "Seattle" >> +is not supported anymore and there is no point keeping that device. >> + >> +``-device vfio-platform`` (since v3.1) >> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Ditto. OK thanks to both of you. I will fix that Eric > >> +The vfio-platform device allows to assign a host platform device >> +to a guest in a generic manner. Integrating a new device into >> +the vfio-platform infrastructure requires some adaptation at >> +both kernel and qemu level. No such attempt has been done for years >> +and the conclusion is that vfio-platform has not got any traction. >> +PCIe passthrough shall be the mainline solution. >
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index abadf8de27..d11a7004df 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -434,6 +434,31 @@ Stream ``reconnect`` (since 9.2) The ``reconnect`` option only allows specifiying second granularity timeouts, which is not enough for all types of use cases, use ``reconnect-ms`` instead. +VFIO device options +'''''''''''''''''' + +``-device vfio-calxeda-xgmac`` (since v2.4) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The vfio-calxeda-xgmac device allows to assign a host Calxeda Highbank +10Gb XGMAC Ethernet controller device ("calxeda,hb-xgmac" compatibility +string) to a guest. Calxeda HW has been ewasted now and there is no point +keeping that device. + +``-device vfio-amd-xgbe`` (since v2.6) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The vfio-amd-xgbe devices allows to assign a host AMD 10GbE controller +to a guest ("amd,xgbe-seattle-v1a" compatibility string). AMD "Seattle" +is not supported anymore and there is no point keeping that device. + +``-device vfio-platform`` (since v3.1) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The vfio-platform device allows to assign a host platform device +to a guest in a generic manner. Integrating a new device into +the vfio-platform infrastructure requires some adaptation at +both kernel and qemu level. No such attempt has been done for years +and the conclusion is that vfio-platform has not got any traction. +PCIe passthrough shall be the mainline solution. + CPU device properties ''''''''''''''''''''' diff --git a/hw/vfio/amd-xgbe.c b/hw/vfio/amd-xgbe.c index aaa96903db..5927503b5c 100644 --- a/hw/vfio/amd-xgbe.c +++ b/hw/vfio/amd-xgbe.c @@ -15,12 +15,14 @@ #include "hw/vfio/vfio-amd-xgbe.h" #include "migration/vmstate.h" #include "qemu/module.h" +#include "qemu/error-report.h" static void amd_xgbe_realize(DeviceState *dev, Error **errp) { VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev); VFIOAmdXgbeDeviceClass *k = VFIO_AMD_XGBE_DEVICE_GET_CLASS(dev); + warn_report("-device vfio-amd-xgbe is deprecated"); vdev->compat = g_strdup("amd,xgbe-seattle-v1a"); vdev->num_compat = 1; diff --git a/hw/vfio/calxeda-xgmac.c b/hw/vfio/calxeda-xgmac.c index b016d42b49..a5ef262def 100644 --- a/hw/vfio/calxeda-xgmac.c +++ b/hw/vfio/calxeda-xgmac.c @@ -15,12 +15,14 @@ #include "hw/vfio/vfio-calxeda-xgmac.h" #include "migration/vmstate.h" #include "qemu/module.h" +#include "qemu/error-report.h" static void calxeda_xgmac_realize(DeviceState *dev, Error **errp) { VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev); VFIOCalxedaXgmacDeviceClass *k = VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS(dev); + warn_report("-device vfio-calxeda-xgmac is deprecated"); vdev->compat = g_strdup("calxeda,hb-xgmac"); vdev->num_compat = 1; diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c index f491f4dc95..a09f7f65c6 100644 --- a/hw/vfio/platform.c +++ b/hw/vfio/platform.c @@ -575,6 +575,7 @@ static void vfio_platform_realize(DeviceState *dev, Error **errp) VFIODevice *vbasedev = &vdev->vbasedev; int i; + warn_report("-device vfio-platform is deprecated"); qemu_mutex_init(&vdev->intp_mutex); trace_vfio_platform_realize(vbasedev->sysfsdev ?
As an outcome of KVM forum 2024 "vfio-platform: live and let die?" talk, let's deprecate vfio-platform devices. Signed-off-by: Eric Auger <eric.auger@redhat.com> --- docs/about/deprecated.rst | 25 +++++++++++++++++++++++++ hw/vfio/amd-xgbe.c | 2 ++ hw/vfio/calxeda-xgmac.c | 2 ++ hw/vfio/platform.c | 1 + 4 files changed, 30 insertions(+)