mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 02:58:29 +00:00
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
* Build system fixes and cleanups * DMA support in the multiboot option ROM * Rename default-bus-bypass-iommu * Deprecate -watchdog and cleanup -watchdog-action * HVF fix for <PAGE_SIZE regions * Support TSC scaling for AMD nested virtualization * Fix for ESP fuzzing bug # gpg: Signature made Tue 02 Nov 2021 10:57:37 AM EDT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] * remotes/bonzini/tags/for-upstream: (27 commits) configure: fix --audio-drv-list help message configure: Remove the check for the __thread keyword Move the l2tpv3 test from configure to meson.build meson: remove unnecessary coreaudio test program meson: remove pointless warnings meson.build: Allow to disable OSS again meson: bump submodule to 0.59.3 qtest/am53c974-test: add test for cancelling in-flight requests esp: ensure in-flight SCSI requests are always cancelled KVM: SVM: add migration support for nested TSC scaling hw/i386: fix vmmouse registration watchdog: remove select_watchdog_action vl: deprecate -watchdog watchdog: add information from -watchdog help to -device help hw/i386: Rename default_bus_bypass_iommu hvf: Avoid mapping regions < PAGE_SIZE as ram configure: do not duplicate CPU_CFLAGS into QEMU_LDFLAGS configure: remove useless NPTL probe target/i386: use DMA-enabled multiboot ROM for new-enough QEMU machine types optionrom: add a DMA-enabled multiboot ROM ... Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
113
configure
vendored
113
configure
vendored
@@ -1259,45 +1259,20 @@ firmwarepath="${firmwarepath:-$datadir/qemu-firmware}"
|
||||
localedir="${localedir:-$datadir/locale}"
|
||||
|
||||
case "$cpu" in
|
||||
ppc)
|
||||
CPU_CFLAGS="-m32"
|
||||
QEMU_LDFLAGS="-m32 $QEMU_LDFLAGS"
|
||||
;;
|
||||
ppc64)
|
||||
CPU_CFLAGS="-m64"
|
||||
QEMU_LDFLAGS="-m64 $QEMU_LDFLAGS"
|
||||
;;
|
||||
sparc)
|
||||
CPU_CFLAGS="-m32 -mv8plus -mcpu=ultrasparc"
|
||||
QEMU_LDFLAGS="-m32 -mv8plus $QEMU_LDFLAGS"
|
||||
;;
|
||||
sparc64)
|
||||
CPU_CFLAGS="-m64 -mcpu=ultrasparc"
|
||||
QEMU_LDFLAGS="-m64 $QEMU_LDFLAGS"
|
||||
;;
|
||||
s390)
|
||||
CPU_CFLAGS="-m31"
|
||||
QEMU_LDFLAGS="-m31 $QEMU_LDFLAGS"
|
||||
;;
|
||||
s390x)
|
||||
CPU_CFLAGS="-m64"
|
||||
QEMU_LDFLAGS="-m64 $QEMU_LDFLAGS"
|
||||
;;
|
||||
i386)
|
||||
CPU_CFLAGS="-m32"
|
||||
QEMU_LDFLAGS="-m32 $QEMU_LDFLAGS"
|
||||
;;
|
||||
x86_64)
|
||||
# ??? Only extremely old AMD cpus do not have cmpxchg16b.
|
||||
# If we truly care, we should simply detect this case at
|
||||
# runtime and generate the fallback to serial emulation.
|
||||
CPU_CFLAGS="-m64 -mcx16"
|
||||
QEMU_LDFLAGS="-m64 $QEMU_LDFLAGS"
|
||||
;;
|
||||
x32)
|
||||
CPU_CFLAGS="-mx32"
|
||||
QEMU_LDFLAGS="-mx32 $QEMU_LDFLAGS"
|
||||
;;
|
||||
ppc) CPU_CFLAGS="-m32" ;;
|
||||
ppc64) CPU_CFLAGS="-m64" ;;
|
||||
sparc) CPU_CFLAGS="-m32 -mv8plus -mcpu=ultrasparc" ;;
|
||||
sparc64) CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;;
|
||||
s390) CPU_CFLAGS="-m31" ;;
|
||||
s390x) CPU_CFLAGS="-m64" ;;
|
||||
i386) CPU_CFLAGS="-m32" ;;
|
||||
x32) CPU_CFLAGS="-mx32" ;;
|
||||
|
||||
# ??? Only extremely old AMD cpus do not have cmpxchg16b.
|
||||
# If we truly care, we should simply detect this case at
|
||||
# runtime and generate the fallback to serial emulation.
|
||||
x86_64) CPU_CFLAGS="-m64 -mcx16" ;;
|
||||
|
||||
# No special flags required for other host CPUs
|
||||
esac
|
||||
|
||||
@@ -1411,7 +1386,7 @@ Advanced options (experts only):
|
||||
--disable-strip disable stripping binaries
|
||||
--disable-werror disable compilation abort on warning
|
||||
--disable-stack-protector disable compiler-provided stack protection
|
||||
--audio-drv-list=LIST set audio drivers list
|
||||
--audio-drv-list=LIST set audio drivers to try if -audiodev is not used
|
||||
--block-drv-whitelist=L Same as --block-drv-rw-whitelist=L
|
||||
--block-drv-rw-whitelist=L
|
||||
set block driver read-write whitelist
|
||||
@@ -1521,7 +1496,7 @@ python_version=$($python -c 'import sys; print("%d.%d.%d" % (sys.version_info[0]
|
||||
python="$python -B"
|
||||
|
||||
if test -z "$meson"; then
|
||||
if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.59.2; then
|
||||
if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.59.3; then
|
||||
meson=meson
|
||||
elif test $git_submodules_action != 'ignore' ; then
|
||||
meson=git
|
||||
@@ -1745,17 +1720,6 @@ if test "$static" = "yes" ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Unconditional check for compiler __thread support
|
||||
cat > $TMPC << EOF
|
||||
static __thread int tls_var;
|
||||
int main(void) { return tls_var; }
|
||||
EOF
|
||||
|
||||
if ! compile_prog "-Werror" "" ; then
|
||||
error_exit "Your compiler does not support the __thread specifier for " \
|
||||
"Thread-Local Storage (TLS). Please upgrade to a version that does."
|
||||
fi
|
||||
|
||||
cat > $TMPC << EOF
|
||||
|
||||
#ifdef __linux__
|
||||
@@ -1767,9 +1731,11 @@ static THREAD int tls_var;
|
||||
int main(void) { return tls_var; }
|
||||
EOF
|
||||
|
||||
# Check we support --no-pie first; we will need this for building ROMs.
|
||||
# Check we support -fno-pie and -no-pie first; we will need the former for
|
||||
# building ROMs, and both for everything if --disable-pie is passed.
|
||||
if compile_prog "-Werror -fno-pie" "-no-pie"; then
|
||||
CFLAGS_NOPIE="-fno-pie"
|
||||
LDFLAGS_NOPIE="-no-pie"
|
||||
fi
|
||||
|
||||
if test "$static" = "yes"; then
|
||||
@@ -1785,6 +1751,7 @@ if test "$static" = "yes"; then
|
||||
fi
|
||||
elif test "$pie" = "no"; then
|
||||
CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
|
||||
CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
|
||||
elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
|
||||
CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
|
||||
CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
|
||||
@@ -1914,20 +1881,6 @@ if test -z "$want_tools"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# L2TPV3 probe
|
||||
|
||||
cat > $TMPC <<EOF
|
||||
#include <sys/socket.h>
|
||||
#include <linux/ip.h>
|
||||
int main(void) { return sizeof(struct mmsghdr); }
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
l2tpv3=yes
|
||||
else
|
||||
l2tpv3=no
|
||||
fi
|
||||
|
||||
#########################################
|
||||
# vhost interdependencies and host support
|
||||
|
||||
@@ -1987,25 +1940,6 @@ if ! has "$pkg_config_exe"; then
|
||||
error_exit "pkg-config binary '$pkg_config_exe' not found"
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# NPTL probe
|
||||
|
||||
if test "$linux_user" = "yes"; then
|
||||
cat > $TMPC <<EOF
|
||||
#include <sched.h>
|
||||
#include <linux/futex.h>
|
||||
int main(void) {
|
||||
#if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
|
||||
#error bork
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if ! compile_object ; then
|
||||
feature_not_found "nptl" "Install glibc and linux kernel headers."
|
||||
fi
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# xen probe
|
||||
|
||||
@@ -3551,9 +3485,6 @@ if test "$slirp_smbd" = "yes" ; then
|
||||
echo "CONFIG_SLIRP_SMBD=y" >> $config_host_mak
|
||||
echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
|
||||
fi
|
||||
if test "$l2tpv3" = "yes" ; then
|
||||
echo "CONFIG_L2TPV3=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$gprof" = "yes" ; then
|
||||
echo "CONFIG_GPROF=y" >> $config_host_mak
|
||||
fi
|
||||
@@ -3956,6 +3887,10 @@ for rom in seabios; do
|
||||
echo "RANLIB=$ranlib" >> $config_mak
|
||||
done
|
||||
|
||||
config_mak=pc-bios/optionrom/config.mak
|
||||
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||
echo "TOPSRC_DIR=$source_path" >> $config_mak
|
||||
|
||||
if test "$skip_meson" = no; then
|
||||
cross="config-meson.cross.new"
|
||||
meson_quote() {
|
||||
|
||||
Reference in New Issue
Block a user