From: "Daniel P. Berrange" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, patches@linaro.org,
Thomas Huth <thuth@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] [PATCH] configure: Warn about deprecated hosts
Date: Fri, 17 Mar 2017 11:49:53 +0000 [thread overview]
Message-ID: <20170317114953.GF8050@redhat.com> (raw)
In-Reply-To: <1489748902-21765-1-git-send-email-peter.maydell@linaro.org>
On Fri, Mar 17, 2017 at 11:08:22AM +0000, Peter Maydell wrote:
> We plan to drop support in a future QEMU release for host OSes
> and host architectures for which we have no test machine where
> we can build and run tests. For the 2.9 release, make configure
> print a warning if it is run on such a host, so that the user
> has some warning of the plans and can volunteer to help us
> maintain the port if they need it to continue to function.
>
> This commit flags up as deprecated the CPU architectures:
> * ia64
> * sparc
> * anything which we don't have a TCG port for
> (and which was presumably using TCI)
This seems to imply that if we remove supported for these architectures,
then TCI is no longer required either, or would there be other reasons
to want to keep TCI around, even when all host archs have a TCG port ?
> and the OSes:
> * Cygwin
> * GNU/kFreeBSD
> * FreeBSD
> * DragonFly BSD
> * NetBSD
> * OpenBSD
> * Solaris
> * AIX
> * Haiku
>
> It also makes entirely unrecognized host OS strings be
> rejected rather than treated as if they were Linux (which
> likely never worked).
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This list is definitely too all-encompassing, and we should
> move at least some of the BSDs into "not-deprecated".
> I'm posting the patch for the moment for code review on the
> logic and as a placeholder.
FreeBSD is the one where I most frequently see developers engaging across
the overall virt tools stack (QEMU/libvirt/virt-manager/OpenStack).
GNU/kFreeBSD has come up a few times in libvirt, and I don't recall seeing
anyone mentioning the remaining BSDs - though perhaps thats because the
FreeBSD port fixes are enough to also make other BSDs work.
> diff --git a/configure b/configure
> index 75c7c35..5ddc985 100755
> --- a/configure
> +++ b/configure
> @@ -321,6 +321,9 @@ tcmalloc="no"
> jemalloc="no"
> replication="yes"
>
> +supported_cpu="no"
> +supported_os="no"
> +
> # parse CC options first
> for opt do
> optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
> @@ -517,23 +520,32 @@ ARCH=
> # Normalise host CPU name and set ARCH.
> # Note that this case should only have supported host CPUs, not guests.
> case "$cpu" in
> - ia64|ppc|ppc64|s390|s390x|sparc64|x32)
> + ppc|ppc64|s390|s390x|x32)
> + cpu="$cpu"
> + supported_cpu="yes"
> + ;;
> + ia64|sparc64)
> cpu="$cpu"
> ;;
> i386|i486|i586|i686|i86pc|BePC)
> cpu="i386"
> + supported_cpu="yes"
> ;;
> x86_64|amd64)
> cpu="x86_64"
> + supported_cpu="yes"
> ;;
> armv*b|armv*l|arm)
> cpu="arm"
> + supported_cpu="yes"
> ;;
> aarch64)
> cpu="aarch64"
> + supported_cpu="yes"
> ;;
> mips*)
> cpu="mips"
> + supported_cpu="yes"
> ;;
> sparc|sun4[cdmuv])
> cpu="sparc"
> @@ -568,6 +580,7 @@ MINGW32*)
> else
> audio_drv_list=""
> fi
> + supported_os="yes"
> ;;
> GNU/kFreeBSD)
> bsd="yes"
> @@ -626,6 +639,7 @@ Darwin)
> # won't work when we're compiling with gcc as a C compiler.
> QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS"
> HOST_VARIANT_DIR="darwin"
> + supported_os="yes"
> ;;
> SunOS)
> solaris="yes"
> @@ -672,7 +686,7 @@ Haiku)
> QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
> LIBS="-lposix_error_mapper -lnetwork $LIBS"
> ;;
> -*)
> +Linux)
> audio_drv_list="oss"
> audio_possible_drivers="oss alsa sdl pa"
> linux="yes"
> @@ -682,6 +696,10 @@ Haiku)
> vhost_scsi="yes"
> vhost_vsock="yes"
> QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$(pwd)/linux-headers $QEMU_INCLUDES"
> + supported_os="yes"
> +;;
> +*)
> + error_exit "Unsupported host OS $targetos"
> ;;
> esac
>
> @@ -5095,6 +5113,32 @@ if test "$sdl_too_old" = "yes"; then
> echo "-> Your SDL version is too old - please upgrade to have SDL support"
> fi
>
> +if test "$supported_cpu" = "no"; then
> + echo
> + echo "WARNING: SUPPORT FOR THIS HOST CPU WILL GO AWAY IN FUTURE RELEASES!"
> + echo
> + echo "CPU host architecture $cpu support is not currently maintained."
> + echo "The QEMU project intends to remove support for this host CPU in"
> + echo "a future release if nobody volunteers to maintain it and to"
> + echo "provide a build host for our continuous integration setup."
> + echo "configure has succeeded and you can continue to build, but"
> + echo "if you care about QEMU on this platform you should contact"
> + echo "us upstream at qemu-devel@nongnu.org."
> +fi
> +
> +if test "$supported_os" = "no"; then
> + echo
> + echo "WARNING: SUPPORT FOR THIS HOST OS WILL GO AWAY IN FUTURE RELEASES!"
> + echo
> + echo "CPU host OS $targetos support is not currently maintained."
> + echo "The QEMU project intends to remove support for this host CPU in"
> + echo "a future release if nobody volunteers to maintain it and to"
> + echo "provide a build host for our continuous integration setup."
> + echo "configure has succeeded and you can continue to build, but"
> + echo "if you care about QEMU on this platform you should contact"
> + echo "us upstream at qemu-devel@nongnu.org."
> +fi
> +
> config_host_mak="config-host.mak"
>
> echo "# Automatically generated by configure - do not modify" >config-all-disas.mak
The approach here all looks sane.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|
next prev parent reply other threads:[~2017-03-17 11:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-17 11:08 [Qemu-devel] [PATCH] configure: Warn about deprecated hosts Peter Maydell
2017-03-17 11:49 ` Daniel P. Berrange [this message]
2017-03-17 11:52 ` Peter Maydell
2017-03-17 11:56 ` Daniel P. Berrange
2017-03-17 13:10 ` Andrea Bolognani
2017-03-17 13:19 ` Thomas Huth
2017-03-17 13:22 ` Peter Maydell
2017-03-17 13:50 ` Thomas Huth
2017-03-17 13:25 ` Peter Maydell
2017-03-17 23:15 ` Richard Henderson
2017-03-17 12:38 ` Andrew Jones
2017-03-17 15:19 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170317114953.GF8050@redhat.com \
--to=berrange@redhat.com \
--cc=aurelien@aurel32.net \
--cc=patches@linaro.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).