Message ID | 20230302163106.465559-5-thuth@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Deprecate support for 32-bit x86 and arm hosts | expand |
On Thu, Mar 02, 2023 at 05:31:04PM +0100, Thomas Huth wrote: > qemu-system-aarch64 is a proper superset of qemu-system-arm, > and the latter was mainly still required for 32-bit KVM support. > But this 32-bit KVM arm support has been dropped in the Linux > kernel a couple of years ago already, so we don't really need > qemu-system-arm anymore, thus deprecated it now. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > docs/about/deprecated.rst | 10 ++++++++++ > 1 file changed, 10 insertions(+) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel
On 2/3/23 17:31, Thomas Huth wrote: > qemu-system-aarch64 is a proper superset of qemu-system-arm, > and the latter was mainly still required for 32-bit KVM support. > But this 32-bit KVM arm support has been dropped in the Linux > kernel a couple of years ago already, so we don't really need > qemu-system-arm anymore, thus deprecated it now. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > docs/about/deprecated.rst | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index a30aa8dfdf..21ce70b5c9 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support > on x86_64 hosts. Thus users are recommended to reconfigure their systems > to use the ``qemu-system-x86_64`` binary instead. > > +``qemu-system-arm`` binary (since 8.0) > +'''''''''''''''''''''''''''''''''''''' > + > +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The > +latter was mainly a requirement for running KVM on 32-bit arm hosts, but > +this 32-bit KVM support has been removed some years ago already (see: s/some/few/? > +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4 > +). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a > +future release. Use ``qemu-system-aarch64`` instead. If we unify, wouldn't it be simpler to name the single qemu-system binary emulating various ARM architectures as 'qemu-system-arm'?
On Thu, 2023-03-02 at 17:31 +0100, Thomas Huth wrote: > qemu-system-aarch64 is a proper superset of qemu-system-arm, > and the latter was mainly still required for 32-bit KVM support. > But this 32-bit KVM arm support has been dropped in the Linux > kernel a couple of years ago already, so we don't really need > qemu-system-arm anymore, thus deprecated it now. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > docs/about/deprecated.rst | 10 ++++++++++ > 1 file changed, 10 insertions(+) Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index a30aa8dfdf..21ce70b5c9 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, > including KVM support > on x86_64 hosts. Thus users are recommended to reconfigure their > systems > to use the ``qemu-system-x86_64`` binary instead. > > +``qemu-system-arm`` binary (since 8.0) > +'''''''''''''''''''''''''''''''''''''' > + > +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. > The > +latter was mainly a requirement for running KVM on 32-bit arm hosts, > but > +this 32-bit KVM support has been removed some years ago already > (see: > + > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/com > mit/?id=541ad0150ca4 > +). Thus the QEMU project will drop the ``qemu-system-arm`` binary in > a > +future release. Use ``qemu-system-aarch64`` instead. > + > > System emulator command line arguments > --------------------------------------
On 02/03/2023 23.16, Philippe Mathieu-Daudé wrote: > On 2/3/23 17:31, Thomas Huth wrote: >> qemu-system-aarch64 is a proper superset of qemu-system-arm, >> and the latter was mainly still required for 32-bit KVM support. >> But this 32-bit KVM arm support has been dropped in the Linux >> kernel a couple of years ago already, so we don't really need >> qemu-system-arm anymore, thus deprecated it now. >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> docs/about/deprecated.rst | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst >> index a30aa8dfdf..21ce70b5c9 100644 >> --- a/docs/about/deprecated.rst >> +++ b/docs/about/deprecated.rst >> @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, >> including KVM support >> on x86_64 hosts. Thus users are recommended to reconfigure their systems >> to use the ``qemu-system-x86_64`` binary instead. >> +``qemu-system-arm`` binary (since 8.0) >> +'''''''''''''''''''''''''''''''''''''' >> + >> +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The >> +latter was mainly a requirement for running KVM on 32-bit arm hosts, but >> +this 32-bit KVM support has been removed some years ago already (see: > > s/some/few/? I can also use "three years ago" since the patch had been merged in March 2020. >> +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4 >> >> +). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a >> +future release. Use ``qemu-system-aarch64`` instead. > > If we unify, wouldn't it be simpler to name the single qemu-system > binary emulating various ARM architectures as 'qemu-system-arm'? That would be more intuitive for people who are completely new to QEMU, but I guess it will cause a lot of "you broke my script that uses the -aarch64 binary" troubles again. So I think it's likely better to not go down that road. Thomas
On Thu, 2 Mar 2023 at 16:31, Thomas Huth <thuth@redhat.com> wrote: > > qemu-system-aarch64 is a proper superset of qemu-system-arm, > and the latter was mainly still required for 32-bit KVM support. > But this 32-bit KVM arm support has been dropped in the Linux > kernel a couple of years ago already, so we don't really need > qemu-system-arm anymore, thus deprecated it now. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > docs/about/deprecated.rst | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index a30aa8dfdf..21ce70b5c9 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support > on x86_64 hosts. Thus users are recommended to reconfigure their systems > to use the ``qemu-system-x86_64`` binary instead. > > +``qemu-system-arm`` binary (since 8.0) > +'''''''''''''''''''''''''''''''''''''' > + > +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. I think this is not quite true -- at the moment if you want "every feature we implement, 32-bit" the only way to get that is 'qemu-system-arm -cpu max'. The '-cpu max' on qemu-system-aarch64 is 64-bit, and we don't implement for TCG the "-cpu max,aarch64=off" syntax that we do for KVM that would let the user say "no 64-bit support". thanks -- PMM
On 03/03/2023 12.16, Peter Maydell wrote: > On Thu, 2 Mar 2023 at 16:31, Thomas Huth <thuth@redhat.com> wrote: >> >> qemu-system-aarch64 is a proper superset of qemu-system-arm, >> and the latter was mainly still required for 32-bit KVM support. >> But this 32-bit KVM arm support has been dropped in the Linux >> kernel a couple of years ago already, so we don't really need >> qemu-system-arm anymore, thus deprecated it now. >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> docs/about/deprecated.rst | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst >> index a30aa8dfdf..21ce70b5c9 100644 >> --- a/docs/about/deprecated.rst >> +++ b/docs/about/deprecated.rst >> @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support >> on x86_64 hosts. Thus users are recommended to reconfigure their systems >> to use the ``qemu-system-x86_64`` binary instead. >> >> +``qemu-system-arm`` binary (since 8.0) >> +'''''''''''''''''''''''''''''''''''''' >> + >> +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. > > I think this is not quite true -- at the moment if you want > "every feature we implement, 32-bit" the only way to get > that is 'qemu-system-arm -cpu max'. The '-cpu max' on > qemu-system-aarch64 is 64-bit, and we don't implement for TCG > the "-cpu max,aarch64=off" syntax that we do for KVM that would > let the user say "no 64-bit support". Ok ... so what does that mean now? ... can we continue with this patch, e.g. after rephrasing the text a little bit, or do we need to implement "-cpu max,aarch64=off" for TCG first? Thomas
On Fri, Mar 03, 2023 at 12:31:42PM +0100, Thomas Huth wrote: > On 03/03/2023 12.16, Peter Maydell wrote: > > On Thu, 2 Mar 2023 at 16:31, Thomas Huth <thuth@redhat.com> wrote: > > > > > > qemu-system-aarch64 is a proper superset of qemu-system-arm, > > > and the latter was mainly still required for 32-bit KVM support. > > > But this 32-bit KVM arm support has been dropped in the Linux > > > kernel a couple of years ago already, so we don't really need > > > qemu-system-arm anymore, thus deprecated it now. > > > > > > Signed-off-by: Thomas Huth <thuth@redhat.com> > > > --- > > > docs/about/deprecated.rst | 10 ++++++++++ > > > 1 file changed, 10 insertions(+) > > > > > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > > > index a30aa8dfdf..21ce70b5c9 100644 > > > --- a/docs/about/deprecated.rst > > > +++ b/docs/about/deprecated.rst > > > @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support > > > on x86_64 hosts. Thus users are recommended to reconfigure their systems > > > to use the ``qemu-system-x86_64`` binary instead. > > > > > > +``qemu-system-arm`` binary (since 8.0) > > > +'''''''''''''''''''''''''''''''''''''' > > > + > > > +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. > > > > I think this is not quite true -- at the moment if you want > > "every feature we implement, 32-bit" the only way to get > > that is 'qemu-system-arm -cpu max'. The '-cpu max' on > > qemu-system-aarch64 is 64-bit, and we don't implement for TCG > > the "-cpu max,aarch64=off" syntax that we do for KVM that would > > let the user say "no 64-bit support". > > Ok ... so what does that mean now? ... can we continue with this patch, e.g. > after rephrasing the text a little bit, or do we need to implement "-cpu > max,aarch64=off" for TCG first? I think we need to have a way to request the max 32-bit CPU before we deprecate, because deprecation has to tell people what they should use instead. For qemu-system-i686 -cpu max, I guess we have lm=off to hide the 64-bit support, so that's OK from QEMU POV, but will need libvirt enhancement as I don't think we've taken that into account. With regards, Daniel
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index a30aa8dfdf..21ce70b5c9 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support on x86_64 hosts. Thus users are recommended to reconfigure their systems to use the ``qemu-system-x86_64`` binary instead. +``qemu-system-arm`` binary (since 8.0) +'''''''''''''''''''''''''''''''''''''' + +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The +latter was mainly a requirement for running KVM on 32-bit arm hosts, but +this 32-bit KVM support has been removed some years ago already (see: +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4 +). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a +future release. Use ``qemu-system-aarch64`` instead. + System emulator command line arguments --------------------------------------
qemu-system-aarch64 is a proper superset of qemu-system-arm, and the latter was mainly still required for 32-bit KVM support. But this 32-bit KVM arm support has been dropped in the Linux kernel a couple of years ago already, so we don't really need qemu-system-arm anymore, thus deprecated it now. Signed-off-by: Thomas Huth <thuth@redhat.com> --- docs/about/deprecated.rst | 10 ++++++++++ 1 file changed, 10 insertions(+)