Message ID | 20230829082931.67601-3-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | configure cleanups for QEMU 8.2 | expand |
On Tue, Aug 29, 2023 at 10:29:23AM +0200, Paolo Bonzini wrote: > Unsupported CPU and OSes are not really going away, but the > project simply does not guarantee that they work. Rephrase > the messages accordingly. While at it, move the warning for > TCI performance at the end where it is more visible. I think I agree wrt to CPUs, but in the case of OS I think it is fairly accurate as-is. When we bump the minimum version of libraries we will not pay attention to unsupported OS, so it is entirely possible to bump to a version that means the ability to run on an OS goes away entirely (unless the user is willing to rebuild packages at newer versions). When writing #ifdefs for portability we also may explicitly delete #ifdefs from unsupported OS platforms if we consider them obsolete enough. So again I think the ability to use an unsupported OS may indeed goaway entirely. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > meson.build | 38 +++++++++++++++++++++----------------- > 1 file changed, 21 insertions(+), 17 deletions(-) > > diff --git a/meson.build b/meson.build > index 98e68ef0b1e..02b035a3808 100644 > --- a/meson.build > +++ b/meson.build > @@ -678,9 +678,7 @@ endif > tcg_arch = host_arch > if get_option('tcg').allowed() > if host_arch == 'unknown' > - if get_option('tcg_interpreter') > - warning('Unsupported CPU @0@, will use TCG with TCI (slow)'.format(cpu)) > - else > + if not get_option('tcg_interpreter') > error('Unsupported CPU @0@, try --enable-tcg-interpreter'.format(cpu)) > endif > elif get_option('tcg_interpreter') > @@ -4317,28 +4315,34 @@ summary_info += {'selinux': selinux} > summary_info += {'libdw': libdw} > summary(summary_info, bool_yn: true, section: 'Dependencies') > > -if not supported_cpus.contains(cpu) > +if host_arch == 'unknown' > message() > - warning('SUPPORT FOR THIS HOST CPU WILL GO AWAY IN FUTURE RELEASES!') > + warning('UNSUPPORTED HOST CPU') > message() > - message('CPU host architecture ' + cpu + ' support is not currently maintained.') > - message('The QEMU project intends to remove support for this host CPU in') > - message('a future release if nobody volunteers to maintain it and to') > - message('provide a build host for our continuous integration setup.') > - message('configure has succeeded and you can continue to build, but') > - message('if you care about QEMU on this platform you should contact') > - message('us upstream at qemu-devel@nongnu.org.') > + message('Support for CPU host architecture ' + cpu + ' is not currently') > + message('maintained. The QEMU project does not guarantee that QEMU will') > + message('compile or work on this host CPU. You can help by volunteering') > + message('to maintain it and providing a build host for our continuous.') > + message('integration setup.') > endif > > if not supported_oses.contains(targetos) > message() > - warning('WARNING: SUPPORT FOR THIS HOST OS WILL GO AWAY IN FUTURE RELEASES!') > + warning('UNSUPPORTED HOST OS') > + message() > + message('Support for host OS ' + targetos + 'is not currently maintained.') > + message('The QEMU project does not guarantee that QEMU will compile or') > + message('work on this operating system. You can help by volunteering') > + message('to maintain it and providing a build host for our continuous.') > + message('integration setup.') > +endif > + > +if host_arch == 'unknown' or not supported_oses.contains(targetos) > message() > - message('Host OS ' + targetos + 'support is not currently maintained.') > - message('The QEMU project intends to remove support for this host OS in') > - message('a future release if nobody volunteers to maintain it and to') > - message('provide a build host for our continuous integration setup.') > message('configure has succeeded and you can continue to build, but') > + if host_arch == 'unknown' and get_option('tcg').allowed() and target_dirs.length() > 0 > + message('QEMU will use a slow interpreter to emulate the target CPU;') > + endif > message('if you care about QEMU on this platform you should contact') > message('us upstream at qemu-devel@nongnu.org.') > endif > -- > 2.41.0 > > With regards, Daniel
On Tue, Aug 29, 2023 at 12:34 PM Daniel P. Berrangé <berrange@redhat.com> wrote: > I think I agree wrt to CPUs, but in the case of OS I think > it is fairly accurate as-is. Ok, I wanted to leave out the "*intends* to remove support" part, which is too strong; but I agree that keeping some kind of "support may go away in future releases unless you act" is a good idea. Paolo
On Thu, Aug 31, 2023 at 10:20:26AM +0200, Paolo Bonzini wrote: > On Tue, Aug 29, 2023 at 12:34 PM Daniel P. Berrangé <berrange@redhat.com> wrote: > > I think I agree wrt to CPUs, but in the case of OS I think > > it is fairly accurate as-is. > > Ok, I wanted to leave out the "*intends* to remove support" part, > which is too strong; but I agree that keeping some kind of "support > may go away in future releases unless you act" is a good idea. Yeah, making the language a little more fuzzy would be ok. With regards, Daniel
diff --git a/meson.build b/meson.build index 98e68ef0b1e..02b035a3808 100644 --- a/meson.build +++ b/meson.build @@ -678,9 +678,7 @@ endif tcg_arch = host_arch if get_option('tcg').allowed() if host_arch == 'unknown' - if get_option('tcg_interpreter') - warning('Unsupported CPU @0@, will use TCG with TCI (slow)'.format(cpu)) - else + if not get_option('tcg_interpreter') error('Unsupported CPU @0@, try --enable-tcg-interpreter'.format(cpu)) endif elif get_option('tcg_interpreter') @@ -4317,28 +4315,34 @@ summary_info += {'selinux': selinux} summary_info += {'libdw': libdw} summary(summary_info, bool_yn: true, section: 'Dependencies') -if not supported_cpus.contains(cpu) +if host_arch == 'unknown' message() - warning('SUPPORT FOR THIS HOST CPU WILL GO AWAY IN FUTURE RELEASES!') + warning('UNSUPPORTED HOST CPU') message() - message('CPU host architecture ' + cpu + ' support is not currently maintained.') - message('The QEMU project intends to remove support for this host CPU in') - message('a future release if nobody volunteers to maintain it and to') - message('provide a build host for our continuous integration setup.') - message('configure has succeeded and you can continue to build, but') - message('if you care about QEMU on this platform you should contact') - message('us upstream at qemu-devel@nongnu.org.') + message('Support for CPU host architecture ' + cpu + ' is not currently') + message('maintained. The QEMU project does not guarantee that QEMU will') + message('compile or work on this host CPU. You can help by volunteering') + message('to maintain it and providing a build host for our continuous.') + message('integration setup.') endif if not supported_oses.contains(targetos) message() - warning('WARNING: SUPPORT FOR THIS HOST OS WILL GO AWAY IN FUTURE RELEASES!') + warning('UNSUPPORTED HOST OS') + message() + message('Support for host OS ' + targetos + 'is not currently maintained.') + message('The QEMU project does not guarantee that QEMU will compile or') + message('work on this operating system. You can help by volunteering') + message('to maintain it and providing a build host for our continuous.') + message('integration setup.') +endif + +if host_arch == 'unknown' or not supported_oses.contains(targetos) message() - message('Host OS ' + targetos + 'support is not currently maintained.') - message('The QEMU project intends to remove support for this host OS in') - message('a future release if nobody volunteers to maintain it and to') - message('provide a build host for our continuous integration setup.') message('configure has succeeded and you can continue to build, but') + if host_arch == 'unknown' and get_option('tcg').allowed() and target_dirs.length() > 0 + message('QEMU will use a slow interpreter to emulate the target CPU;') + endif message('if you care about QEMU on this platform you should contact') message('us upstream at qemu-devel@nongnu.org.') endif
Unsupported CPU and OSes are not really going away, but the project simply does not guarantee that they work. Rephrase the messages accordingly. While at it, move the warning for TCI performance at the end where it is more visible. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- meson.build | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-)