All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests
@ 2025-12-17 14:06 Philippe Mathieu-Daudé
  2025-12-17 14:10 ` Manos Pitsidianakis
  2025-12-17 14:26 ` Daniel P. Berrangé
  0 siblings, 2 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-12-17 14:06 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S . Tsirkin, Eugenio Pérez, Manos Pitsidianakis,
	devel, Richard Henderson, Peter Maydell, qemu-arm, Jason Wang,
	Philippe Mathieu-Daudé, Alex Bennée

We couldn't find a way (guest OS with VirtIO drivers) to test
a legacy VirtIO device on a ARM vCPU running in big-endian.

Deprecate for the v11.0 release, giving 1 year to users who
really care to contribute functional tests.

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 docs/about/deprecated.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index ac31a2bce42..3a69facb0f1 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -515,6 +515,17 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but
 only with ``-cpu max`` (which does not guarantee migration compatibility
 across versions).
 
+VirtIO devices
+''''''''''''''
+
+Legacy VirtIO devices on Big-Endian ARM architecture (since 11.0)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+There are no functional tests for legacy virtio devices used by ARM
+machines running in big-endian order, which makes harder to maintain
+the code path while the code base evolve.
+
+
 Backwards compatibility
 -----------------------
 
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests
  2025-12-17 14:06 [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests Philippe Mathieu-Daudé
@ 2025-12-17 14:10 ` Manos Pitsidianakis
  2025-12-17 14:26 ` Daniel P. Berrangé
  1 sibling, 0 replies; 5+ messages in thread
From: Manos Pitsidianakis @ 2025-12-17 14:10 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Michael S . Tsirkin, Eugenio Pérez, devel,
	Richard Henderson, Peter Maydell, qemu-arm, Jason Wang,
	Alex Bennée

On Wed, Dec 17, 2025 at 4:07 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> We couldn't find a way (guest OS with VirtIO drivers) to test
> a legacy VirtIO device on a ARM vCPU running in big-endian.
>
> Deprecate for the v11.0 release, giving 1 year to users who
> really care to contribute functional tests.
>
> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  docs/about/deprecated.rst | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index ac31a2bce42..3a69facb0f1 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -515,6 +515,17 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but
>  only with ``-cpu max`` (which does not guarantee migration compatibility
>  across versions).
>
> +VirtIO devices
> +''''''''''''''
> +
> +Legacy VirtIO devices on Big-Endian ARM architecture (since 11.0)
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +There are no functional tests for legacy virtio devices used by ARM
> +machines running in big-endian order, which makes harder to maintain

Nit: s/makes/makes it/

> +the code path while the code base evolve.

s/evolve/evolves

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>


> +
> +
>  Backwards compatibility
>  -----------------------
>
> --
> 2.52.0
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests
  2025-12-17 14:06 [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests Philippe Mathieu-Daudé
  2025-12-17 14:10 ` Manos Pitsidianakis
@ 2025-12-17 14:26 ` Daniel P. Berrangé
  2025-12-17 17:13   ` Alex Bennée
  1 sibling, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2025-12-17 14:26 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Michael S . Tsirkin, Eugenio Pérez,
	Manos Pitsidianakis, devel, Richard Henderson, Peter Maydell,
	qemu-arm, Jason Wang, Alex Bennée

On Wed, Dec 17, 2025 at 03:06:57PM +0100, Philippe Mathieu-Daudé wrote:
> We couldn't find a way (guest OS with VirtIO drivers) to test
> a legacy VirtIO device on a ARM vCPU running in big-endian.
> 
> Deprecate for the v11.0 release, giving 1 year to users who
> really care to contribute functional tests.
> 
> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  docs/about/deprecated.rst | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index ac31a2bce42..3a69facb0f1 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -515,6 +515,17 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but
>  only with ``-cpu max`` (which does not guarantee migration compatibility
>  across versions).
>  
> +VirtIO devices
> +''''''''''''''
> +
> +Legacy VirtIO devices on Big-Endian ARM architecture (since 11.0)
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +There are no functional tests for legacy virtio devices used by ARM
> +machines running in big-endian order, which makes harder to maintain
> +the code path while the code base evolve.

Lack of test coverage is not a reason to deprecate something.

We deprecate things we intend to intentionally remove or intentionally
change in an incompatible manner.

If something is not tested, that merely means it has lesser quality
guarantees, and is liable to unintenionally get broken at times.

If we're planning to *intentionally*  remove the ability to use
legacy virtio on big endian, that would be a reason to deprecate.
If so the deprecation message should say this, not talk about
missing functional testing.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests
  2025-12-17 14:26 ` Daniel P. Berrangé
@ 2025-12-17 17:13   ` Alex Bennée
  2025-12-17 17:23     ` Daniel P. Berrangé
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Bennée @ 2025-12-17 17:13 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Philippe Mathieu-Daudé, qemu-devel, Michael S . Tsirkin,
	Eugenio Pérez, Manos Pitsidianakis, devel, Richard Henderson,
	Peter Maydell, qemu-arm, Jason Wang

Daniel P. Berrangé <berrange@redhat.com> writes:

> On Wed, Dec 17, 2025 at 03:06:57PM +0100, Philippe Mathieu-Daudé wrote:
>> We couldn't find a way (guest OS with VirtIO drivers) to test
>> a legacy VirtIO device on a ARM vCPU running in big-endian.
>> 
>> Deprecate for the v11.0 release, giving 1 year to users who
>> really care to contribute functional tests.
>> 
>> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>>  docs/about/deprecated.rst | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>> 
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index ac31a2bce42..3a69facb0f1 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -515,6 +515,17 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but
>>  only with ``-cpu max`` (which does not guarantee migration compatibility
>>  across versions).
>>  
>> +VirtIO devices
>> +''''''''''''''
>> +
>> +Legacy VirtIO devices on Big-Endian ARM architecture (since 11.0)
>> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> +
>> +There are no functional tests for legacy virtio devices used by ARM
>> +machines running in big-endian order, which makes harder to maintain
>> +the code path while the code base evolve.
>
> Lack of test coverage is not a reason to deprecate something.
>
> We deprecate things we intend to intentionally remove or intentionally
> change in an incompatible manner.

We also deprecate things that stop us moving the code forward. c.f. the
long process to deprecate 32 bit hosts.

> If something is not tested, that merely means it has lesser quality
> guarantees, and is liable to unintenionally get broken at times.
>
> If we're planning to *intentionally*  remove the ability to use
> legacy virtio on big endian, that would be a reason to deprecate.
> If so the deprecation message should say this, not talk about
> missing functional testing.

As far as I'm aware BE Arm is a very small niche and I'm not even sure
anyone runs BE Arm systems with VirtIO - let alone legacy VirtIO. If
there are people that need this functionality they need to at least make
themselves known.

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests
  2025-12-17 17:13   ` Alex Bennée
@ 2025-12-17 17:23     ` Daniel P. Berrangé
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2025-12-17 17:23 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Philippe Mathieu-Daudé, qemu-devel, Michael S . Tsirkin,
	Eugenio Pérez, Manos Pitsidianakis, devel, Richard Henderson,
	Peter Maydell, qemu-arm, Jason Wang

On Wed, Dec 17, 2025 at 05:13:04PM +0000, Alex Bennée wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
> 
> > On Wed, Dec 17, 2025 at 03:06:57PM +0100, Philippe Mathieu-Daudé wrote:
> >> We couldn't find a way (guest OS with VirtIO drivers) to test
> >> a legacy VirtIO device on a ARM vCPU running in big-endian.
> >> 
> >> Deprecate for the v11.0 release, giving 1 year to users who
> >> really care to contribute functional tests.
> >> 
> >> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> >> ---
> >>  docs/about/deprecated.rst | 11 +++++++++++
> >>  1 file changed, 11 insertions(+)
> >> 
> >> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> >> index ac31a2bce42..3a69facb0f1 100644
> >> --- a/docs/about/deprecated.rst
> >> +++ b/docs/about/deprecated.rst
> >> @@ -515,6 +515,17 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but
> >>  only with ``-cpu max`` (which does not guarantee migration compatibility
> >>  across versions).
> >>  
> >> +VirtIO devices
> >> +''''''''''''''
> >> +
> >> +Legacy VirtIO devices on Big-Endian ARM architecture (since 11.0)
> >> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >> +
> >> +There are no functional tests for legacy virtio devices used by ARM
> >> +machines running in big-endian order, which makes harder to maintain
> >> +the code path while the code base evolve.
> >
> > Lack of test coverage is not a reason to deprecate something.
> >
> > We deprecate things we intend to intentionally remove or intentionally
> > change in an incompatible manner.
> 
> We also deprecate things that stop us moving the code forward. c.f. the
> long process to deprecate 32 bit hosts.

IIUC we're intending to actively block the ability to build on 32 bit
hosts. IOW, that's still an example of a deprecation where we will
intentionally remove some functionality, rather than just an untested
usage scenario.

> > If something is not tested, that merely means it has lesser quality
> > guarantees, and is liable to unintenionally get broken at times.
> >
> > If we're planning to *intentionally*  remove the ability to use
> > legacy virtio on big endian, that would be a reason to deprecate.
> > If so the deprecation message should say this, not talk about
> > missing functional testing.
> 
> As far as I'm aware BE Arm is a very small niche and I'm not even sure
> anyone runs BE Arm systems with VirtIO - let alone legacy VirtIO. If
> there are people that need this functionality they need to at least make
> themselves known.

Is there some technical change we're intending to make that will intentionally
impact virtio legacy on BE ? ie, if we add the deprecation, then 2 releases
later, what is the code change that means we move it from deprecated.rst into
removed-features.rst ? 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-12-17 17:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-17 14:06 [PATCH] hw/arm: Deprecate legacy VirtIO devices on big-endian guests Philippe Mathieu-Daudé
2025-12-17 14:10 ` Manos Pitsidianakis
2025-12-17 14:26 ` Daniel P. Berrangé
2025-12-17 17:13   ` Alex Bennée
2025-12-17 17:23     ` Daniel P. Berrangé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.