Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging

* move target configuration to default-configs/targets (myself)
* Memory failure event (Zhenwei)

# gpg: Signature made Mon 05 Oct 2020 08:14:29 BST
# 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]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini-gitlab/tags/for-upstream:
  dockerfiles: add diffutils to Fedora
  tests: tcg: do not use implicit rules
  target-i386: post memory failure event to QMP
  qapi/run-state.json: introduce memory failure event
  target-i386: seperate MCIP & MCE_MASK error reason
  meson: move sparse detection to Meson and rewrite check_sparse.py
  default-configs: remove redundant keys
  default-configs: use TARGET_ARCH key
  configure: move OpenBSD W^X test to meson
  default-configs: remove default-configs/devices for user-mode targets
  configure: remove target configuration
  configure: remove useless config-target.mak symbols
  configure: compute derivatives of target name in meson
  configure: remove dead variable
  configure: move accelerator logic to meson
  configure: rewrite accelerator defaults as tests
  configure: convert accelerator variables to meson options
  default-configs: move files to default-configs/devices/
  travis: remove TCI test

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

# Conflicts:
#	configure
This commit is contained in:
Peter Maydell committed 2020-10-05 13:12:55 +01:00
commit 0ac0b47c44
156 files changed
+725 -644

No files matched your search

-8
View File
@@ -226,14 +226,6 @@ jobs:
- TEST_CMD=""
# Check the TCG interpreter (TCI)
- name: "GCC TCI"
env:
- CONFIG="--enable-debug-tcg --enable-tcg-interpreter --disable-kvm --disable-containers
--target-list=alpha-softmmu,arm-softmmu,hppa-softmmu,m68k-softmmu,microblaze-softmmu,moxie-softmmu,ppc-softmmu,s390x-softmmu,x86_64-softmmu"
- TEST_CMD="make check-qtest check-tcg V=1"
# We don't need to exercise every backend with every front-end
- name: "GCC trace log,simple,syslog (user)"
env:
Vendored
+70 -545
View File
@@ -219,108 +219,6 @@ glob() {
eval test -z '"${1#'"$2"'}"'
}
supported_hax_target() {
test "$hax" = "yes" || return 1
glob "$1" "*-softmmu" || return 1
case "${1%-softmmu}" in
i386|x86_64)
return 0
;;
esac
return 1
}
supported_kvm_target() {
test "$kvm" = "yes" || return 1
glob "$1" "*-softmmu" || return 1
case "${1%-softmmu}:$cpu" in
aarch64:aarch64 | \
i386:i386 | i386:x86_64 | i386:x32 | \
x86_64:i386 | x86_64:x86_64 | x86_64:x32 | \
mips:mips | mipsel:mips | mips64:mips | mips64el:mips | \
ppc:ppc | ppc64:ppc | ppc:ppc64 | ppc64:ppc64 | ppc64:ppc64le | \
s390x:s390x)
return 0
;;
esac
return 1
}
supported_xen_target() {
test "$xen" = "yes" || return 1
glob "$1" "*-softmmu" || return 1
# Only i386 and x86_64 provide the xenpv machine.
case "${1%-softmmu}" in
i386|x86_64)
return 0
;;
esac
return 1
}
supported_hvf_target() {
test "$hvf" = "yes" || return 1
glob "$1" "*-softmmu" || return 1
case "${1%-softmmu}" in
x86_64)
return 0
;;
esac
return 1
}
supported_whpx_target() {
test "$whpx" = "yes" || return 1
glob "$1" "*-softmmu" || return 1
case "${1%-softmmu}" in
i386|x86_64)
return 0
;;
esac
return 1
}
deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
deprecated_features=""
supported_target() {
case "$1" in
*-softmmu)
;;
*-linux-user)
if test "$linux" != "yes"; then
print_error "Target '$target' is only available on a Linux host"
return 1
fi
;;
*-bsd-user)
if test "$bsd" != "yes"; then
print_error "Target '$target' is only available on a BSD host"
return 1
fi
;;
*)
print_error "Invalid target name '$target'"
return 1
;;
esac
# if a deprecated target is enabled we note it here
if echo "$deprecated_targets_list" | grep -q "$1"; then
add_to deprecated_features $1
fi
test "$tcg" = "yes" && return 0
supported_kvm_target "$1" && return 0
supported_xen_target "$1" && return 0
supported_hax_target "$1" && return 0
supported_hvf_target "$1" && return 0
supported_whpx_target "$1" && return 0
print_error "TCG disabled, but hardware accelerator not available for '$target'"
return 1
}
ld_has() {
$ld --help 2>/dev/null | grep ".$1" >/dev/null 2>&1
}
@@ -405,7 +303,7 @@ sdl_image="auto"
virtfs=""
mpath="auto"
vnc="enabled"
sparse="no"
sparse="auto"
vde=""
vnc_sasl="auto"
vnc_jpeg="auto"
@@ -413,14 +311,14 @@ vnc_png="auto"
xkbcommon="auto"
xen=""
xen_ctrl_version=""
xen_pci_passthrough=""
xen_pci_passthrough="auto"
linux_aio=""
linux_io_uring=""
cap_ng=""
attr=""
libattr=""
xfs=""
tcg="yes"
tcg="enabled"
membarrier=""
vhost_net=""
vhost_crypto=""
@@ -428,10 +326,10 @@ vhost_scsi=""
vhost_vsock=""
vhost_user=""
vhost_user_fs=""
kvm="no"
hax="no"
hvf="no"
whpx="no"
kvm="auto"
hax="auto"
hvf="auto"
whpx="auto"
rdma=""
pvrdma=""
gprof="no"
@@ -811,14 +709,9 @@ fi
# OS specific
# host *BSD for user mode
HOST_VARIANT_DIR=""
case $targetos in
MINGW32*)
mingw32="yes"
hax="yes"
whpx=""
vhost_user="no"
audio_possible_drivers="dsound sdl"
if check_include dsound.h; then
@@ -841,36 +734,29 @@ FreeBSD)
audio_possible_drivers="oss sdl pa"
# needed for kinfo_getvmmap(3) in libutil.h
netmap="" # enable netmap autodetect
HOST_VARIANT_DIR="freebsd"
;;
DragonFly)
bsd="yes"
make="${MAKE-gmake}"
audio_drv_list="oss try-sdl"
audio_possible_drivers="oss sdl pa"
HOST_VARIANT_DIR="dragonfly"
;;
NetBSD)
bsd="yes"
hax="yes"
make="${MAKE-gmake}"
audio_drv_list="oss try-sdl"
audio_possible_drivers="oss sdl"
oss_lib="-lossaudio"
HOST_VARIANT_DIR="netbsd"
;;
OpenBSD)
bsd="yes"
make="${MAKE-gmake}"
audio_drv_list="try-sdl"
audio_possible_drivers="sdl"
HOST_VARIANT_DIR="openbsd"
;;
Darwin)
bsd="yes"
darwin="yes"
hax="yes"
hvf=""
if [ "$cpu" = "x86_64" ] ; then
QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS"
QEMU_LDFLAGS="-arch x86_64 $QEMU_LDFLAGS"
@@ -882,7 +768,6 @@ Darwin)
# Disable attempts to use ObjectiveC features in os/object.h since they
# 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"
;;
SunOS)
solaris="yes"
@@ -906,7 +791,6 @@ Linux)
audio_possible_drivers="oss alsa sdl pa"
linux="yes"
linux_user="yes"
kvm="yes"
QEMU_INCLUDES="-isystem ${source_path}/linux-headers -Ilinux-headers $QEMU_INCLUDES"
;;
esac
@@ -1156,9 +1040,9 @@ for opt do
;;
--disable-tsan) tsan="no"
;;
--enable-sparse) sparse="yes"
--enable-sparse) sparse="enabled"
;;
--disable-sparse) sparse="no"
--disable-sparse) sparse="disabled"
;;
--disable-strip) strip_opt="no"
;;
@@ -1188,33 +1072,33 @@ for opt do
;;
--enable-netmap) netmap="yes"
;;
--disable-xen) xen="no"
--disable-xen) xen="disabled"
;;
--enable-xen) xen="yes"
--enable-xen) xen="enabled"
;;
--disable-xen-pci-passthrough) xen_pci_passthrough="no"
--disable-xen-pci-passthrough) xen_pci_passthrough="disabled"
;;
--enable-xen-pci-passthrough) xen_pci_passthrough="yes"
--enable-xen-pci-passthrough) xen_pci_passthrough="enabled"
;;
--disable-brlapi) brlapi="no"
;;
--enable-brlapi) brlapi="yes"
;;
--disable-kvm) kvm="no"
--disable-kvm) kvm="disabled"
;;
--enable-kvm) kvm="yes"
--enable-kvm) kvm="enabled"
;;
--disable-hax) hax="no"
--disable-hax) hax="disabled"
;;
--enable-hax) hax="yes"
--enable-hax) hax="enabled"
;;
--disable-hvf) hvf="no"
--disable-hvf) hvf="disabled"
;;
--enable-hvf) hvf="yes"
--enable-hvf) hvf="enabled"
;;
--disable-whpx) whpx="no"
--disable-whpx) whpx="disabled"
;;
--enable-whpx) whpx="yes"
--enable-whpx) whpx="enabled"
;;
--disable-tcg-interpreter) tcg_interpreter="no"
;;
@@ -1224,9 +1108,9 @@ for opt do
;;
--enable-cap-ng) cap_ng="yes"
;;
--disable-tcg) tcg="no"
--disable-tcg) tcg="disabled"
;;
--enable-tcg) tcg="yes"
--enable-tcg) tcg="enabled"
;;
--disable-malloc-trim) malloc_trim="disabled"
;;
@@ -1710,22 +1594,19 @@ if [ "$ARCH" = "unknown" ]; then
linux_user="no"
fi
if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
tcg="no"
fi
default_target_list=""
deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
deprecated_features=""
mak_wilds=""
if [ "$softmmu" = "yes" ]; then
mak_wilds="${mak_wilds} $source_path/default-configs/*-softmmu.mak"
mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-softmmu.mak"
fi
if [ "$linux_user" = "yes" ]; then
mak_wilds="${mak_wilds} $source_path/default-configs/*-linux-user.mak"
mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-linux-user.mak"
fi
if [ "$bsd_user" = "yes" ]; then
mak_wilds="${mak_wilds} $source_path/default-configs/*-bsd-user.mak"
mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-bsd-user.mak"
fi
# If the user doesn't explicitly specify a deprecated target we will
@@ -2043,16 +1924,6 @@ if ! compile_prog ; then
error_exit "\"$cc\" cannot build an executable (is your linker broken?)"
fi
# Now we have handled --enable-tcg-interpreter and know we're not just
# printing the help message, bail out if the host CPU isn't supported.
if test "$ARCH" = "unknown"; then
if test "$tcg_interpreter" = "yes" ; then
echo "Unsupported CPU = $cpu, will use TCG with TCI (experimental)"
else
error_exit "Unsupported CPU = $cpu, try --enable-tcg-interpreter"
fi
fi
# Consult white-list to determine whether to enable werror
# by default. Only enable by default for git builds
if test -z "$werror" ; then
@@ -2304,12 +2175,13 @@ if test "$solaris" = "yes" ; then
fi
if test -z "${target_list+xxx}" ; then
default_targets=yes
for target in $default_target_list; do
supported_target $target 2>/dev/null && \
target_list="$target_list $target"
done
target_list="${target_list# }"
else
default_targets=no
target_list=$(echo "$target_list" | sed -e 's/,/ /g')
for target in $target_list; do
# Check that we recognised the target name; this allows a more
@@ -2321,10 +2193,16 @@ else
error_exit "Unknown target name '$target'"
;;
esac
supported_target $target || exit 1
done
fi
for target in $target_list; do
# if a deprecated target is enabled we note it here
if echo "$deprecated_targets_list" | grep -q "$target"; then
add_to deprecated_features $target
fi
done
# see if system emulation was really requested
case " $target_list " in
*"-softmmu "*) softmmu=yes
@@ -2665,10 +2543,11 @@ if test "$seccomp" != "no" ; then
seccomp="no"
fi
fi
##########################################
# xen probe
if test "$xen" != "no" ; then
if test "$xen" != "disabled" ; then
# Check whether Xen library path is specified via --extra-ldflags to avoid
# overriding this setting with pkg-config output. If not, try pkg-config
# to obtain all needed flags.
@@ -2677,7 +2556,7 @@ if test "$xen" != "no" ; then
$pkg_config --exists xencontrol ; then
xen_ctrl_version="$(printf '%d%02d%02d' \
$($pkg_config --modversion xencontrol | sed 's/\./ /g') )"
xen=yes
xen=enabled
xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab"
xen_pc="$xen_pc xenevtchn xendevicemodel"
if $pkg_config --exists xentoolcore; then
@@ -2703,10 +2582,10 @@ int main(void) {
EOF
if ! compile_prog "" "$xen_libs" ; then
# Xen not found
if test "$xen" = "yes" ; then
if test "$xen" = "enabled" ; then
feature_not_found "xen" "Install xen devel"
fi
xen=no
xen=disabled
# Xen unstable
elif
@@ -2732,7 +2611,7 @@ EOF
then
xen_stable_libs="-lxendevicemodel $xen_stable_libs -lxentoolcore"
xen_ctrl_version=41100
xen=yes
xen=enabled
elif
cat > $TMPC <<EOF &&
#undef XC_WANT_COMPAT_MAP_FOREIGN_API
@@ -2752,7 +2631,7 @@ EOF
then
xen_stable_libs="-lxendevicemodel $xen_stable_libs -lxentoolcore"
xen_ctrl_version=41000
xen=yes
xen=enabled
elif
cat > $TMPC <<EOF &&
#undef XC_WANT_COMPAT_DEVICEMODEL_API
@@ -2771,7 +2650,7 @@ EOF
then
xen_stable_libs="-lxendevicemodel $xen_stable_libs"
xen_ctrl_version=40900
xen=yes
xen=enabled
elif
cat > $TMPC <<EOF &&
/*
@@ -2824,7 +2703,7 @@ EOF
compile_prog "" "$xen_libs $xen_stable_libs"
then
xen_ctrl_version=40800
xen=yes
xen=enabled
elif
cat > $TMPC <<EOF &&
/*
@@ -2873,7 +2752,7 @@ EOF
compile_prog "" "$xen_libs $xen_stable_libs"
then
xen_ctrl_version=40701
xen=yes
xen=enabled
# Xen 4.6
elif
@@ -2901,7 +2780,7 @@ EOF
compile_prog "" "$xen_libs"
then
xen_ctrl_version=40600
xen=yes
xen=enabled
# Xen 4.5
elif
@@ -2928,7 +2807,7 @@ EOF
compile_prog "" "$xen_libs"
then
xen_ctrl_version=40500
xen=yes
xen=enabled
elif
cat > $TMPC <<EOF &&
@@ -2953,17 +2832,17 @@ EOF
compile_prog "" "$xen_libs"
then
xen_ctrl_version=40200
xen=yes
xen=enabled
else
if test "$xen" = "yes" ; then
if test "$xen" = "enabled" ; then
feature_not_found "xen (unsupported version)" \
"Install a supported xen (xen 4.2 or newer)"
fi
xen=no
xen=disabled
fi
if test "$xen" = yes; then
if test "$xen" = enabled; then
if test $xen_ctrl_version -ge 40701 ; then
xen_libs="$xen_libs $xen_stable_libs "
fi
@@ -2971,31 +2850,15 @@ EOF
fi
fi
if test "$xen_pci_passthrough" != "no"; then
if test "$xen" = "yes" && test "$linux" = "yes"; then
xen_pci_passthrough=yes
if test "$xen_pci_passthrough" != "disabled"; then
if test "$xen" = "enabled" && test "$linux" = "yes"; then
xen_pci_passthrough=enabled
else
if test "$xen_pci_passthrough" = "yes"; then
if test "$xen_pci_passthrough" = "enabled"; then
error_exit "User requested feature Xen PCI Passthrough" \
" but this feature requires /sys from Linux"
fi
xen_pci_passthrough=no
fi
fi
##########################################
# Windows Hypervisor Platform accelerator (WHPX) check
if test "$whpx" = "yes" && test "$ARCH" != "x86_64"; then
error_exit "WHPX requires 64-bit host"
fi
if test "$whpx" != "no" && test "$ARCH" = "x86_64"; then
if check_include "WinHvPlatform.h" && check_include "WinHvEmulation.h"; then
whpx="yes"
else
if test "$whpx" = "yes"; then
feature_not_found "WinHvPlatform" "WinHvEmulation is not installed"
fi
whpx="no"
xen_pci_passthrough=disabled
fi
fi
@@ -3012,19 +2875,6 @@ if test "$gettext" != "false" ; then
fi
fi
##########################################
# Sparse probe
if test "$sparse" != "no" ; then
if has sparse; then
sparse=yes
else
if test "$sparse" = "yes" ; then
feature_not_found "sparse" "Install sparse binary"
fi
sparse=no
fi
fi
##########################################
# X11 probe
if $pkg_config --exists "x11"; then
@@ -5782,23 +5632,6 @@ fi
#################################################
# Check to see if we have the Hypervisor framework
if [ "$hvf" != "no" ] ; then
cat > $TMPC << EOF
#include <Hypervisor/hv.h>
int main() { return 0;}
EOF
if ! compile_object ""; then
if test "$hvf" = "yes"; then
error_exit "Hypervisor.framework not available"
fi
hvf='no'
else
hvf='yes'
fi
fi
##########################################
# check for sysmacros.h
have_sysmacros=no
@@ -6151,17 +5984,6 @@ if test "$mingw32" = "yes" ; then
done
fi
# Disable OpenBSD W^X if available
if test "$tcg" = "yes" && test "$targetos" = "OpenBSD"; then
cat > $TMPC <<EOF
int main(void) { return 0; }
EOF
wx_ldflags="-Wl,-z,wxneeded"
if compile_prog "" "$wx_ldflags"; then
QEMU_LDFLAGS="$QEMU_LDFLAGS $wx_ldflags"
fi
fi
qemu_confdir="$sysconfdir/$qemu_suffix"
qemu_moddir="$libdir/$qemu_suffix"
qemu_datadir="$datadir/$qemu_suffix"
@@ -6703,7 +6525,7 @@ if test "$virglrenderer" = "yes" ; then
echo "VIRGL_CFLAGS=$virgl_cflags" >> $config_host_mak
echo "VIRGL_LIBS=$virgl_libs" >> $config_host_mak
fi
if test "$xen" = "yes" ; then
if test "$xen" = "enabled" ; then
echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
echo "XEN_CFLAGS=$xen_cflags" >> $config_host_mak
@@ -6783,8 +6605,7 @@ fi
if test "$optreset" = "yes" ; then
echo "HAVE_OPTRESET=y" >> $config_host_mak
fi
if test "$tcg" = "yes"; then
echo "CONFIG_TCG=y" >> $config_host_mak
if test "$tcg" = "enabled"; then
if test "$tcg_interpreter" = "yes" ; then
echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
fi
@@ -7248,9 +7069,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
if test "$sparse" = "yes" ; then
echo "SPARSE_CFLAGS = -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak
fi
echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
@@ -7309,316 +7127,21 @@ fi
for target in $target_list; do
target_dir="$target"
config_target_mak=$target_dir/config-target.mak
target_name=$(echo $target | cut -d '-' -f 1)
target_aligned_only="no"
case "$target_name" in
alpha|hppa|mips64el|mips64|mipsel|mips|mipsn32|mipsn32el|sh4|sh4eb|sparc|sparc64|sparc32plus|xtensa|xtensaeb)
target_aligned_only="yes"
;;
esac
target_bigendian="no"
case "$target_name" in
armeb|aarch64_be|hppa|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or1k|ppc|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)
target_bigendian="yes"
;;
esac
target_softmmu="no"
target_user_only="no"
target_linux_user="no"
target_bsd_user="no"
case "$target" in
${target_name}-softmmu)
target_softmmu="yes"
;;
${target_name}-linux-user)
target_user_only="yes"
target_linux_user="yes"
;;
${target_name}-bsd-user)
target_user_only="yes"
target_bsd_user="yes"
;;
*)
error_exit "Target '$target' not recognised"
exit 1
;;
esac
mkdir -p $target_dir
echo "# Automatically generated by configure - do not modify" > $config_target_mak
bflt="no"
mttcg="no"
interp_prefix1=$(echo "$interp_prefix" | sed "s/%M/$target_name/g")
gdb_xml_files=""
TARGET_ARCH="$target_name"
TARGET_BASE_ARCH=""
TARGET_ABI_DIR=""
TARGET_SYSTBL_ABI=""
TARGET_SYSTBL=""
case "$target_name" in
i386)
mttcg="yes"
gdb_xml_files="i386-32bit.xml"
TARGET_SYSTBL_ABI=i386
TARGET_SYSTBL=syscall_32.tbl
;;
x86_64)
TARGET_BASE_ARCH=i386
TARGET_SYSTBL_ABI=common,64
TARGET_SYSTBL=syscall_64.tbl
mttcg="yes"
gdb_xml_files="i386-64bit.xml"
;;
alpha)
mttcg="yes"
TARGET_SYSTBL_ABI=common
;;
arm|armeb)
TARGET_ARCH=arm
TARGET_SYSTBL_ABI=common,oabi
bflt="yes"
mttcg="yes"
gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml arm-m-profile.xml"
;;
aarch64|aarch64_be)
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
bflt="yes"
mttcg="yes"
gdb_xml_files="aarch64-core.xml aarch64-fpu.xml arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml arm-m-profile.xml"
;;
avr)
gdb_xml_files="avr-cpu.xml"
target_compiler=$cross_cc_avr
;;
cris)
;;
hppa)
mttcg="yes"
TARGET_SYSTBL_ABI=common,32
;;
lm32)
;;
m68k)
bflt="yes"
gdb_xml_files="cf-core.xml cf-fp.xml m68k-core.xml m68k-fp.xml"
TARGET_SYSTBL_ABI=common
;;
microblaze|microblazeel)
TARGET_ARCH=microblaze
TARGET_SYSTBL_ABI=common
mttcg="yes"
bflt="yes"
;;
mips|mipsel)
mttcg="yes"
TARGET_ARCH=mips
echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
TARGET_SYSTBL_ABI=o32
TARGET_SYSTBL=syscall_o32.tbl
;;
mipsn32|mipsn32el)
mttcg="yes"
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
echo "TARGET_ABI32=y" >> $config_target_mak
TARGET_SYSTBL_ABI=n32
TARGET_SYSTBL=syscall_n32.tbl
;;
mips64|mips64el)
mttcg="no"
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
TARGET_SYSTBL_ABI=n64
TARGET_SYSTBL=syscall_n64.tbl
;;
moxie)
;;
nios2)
;;
or1k)
TARGET_ARCH=openrisc
TARGET_BASE_ARCH=openrisc
;;
ppc)
gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
TARGET_SYSTBL_ABI=common,nospu,32
;;
ppc64)
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
TARGET_SYSTBL_ABI=common,nospu,64
mttcg=yes
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
;;
ppc64le)
TARGET_ARCH=ppc64
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
TARGET_SYSTBL_ABI=common,nospu,64
mttcg=yes
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
;;
ppc64abi32)
TARGET_ARCH=ppc64
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
TARGET_SYSTBL_ABI=common,nospu,32
echo "TARGET_ABI32=y" >> $config_target_mak
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
;;
riscv32)
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
mttcg=yes
gdb_xml_files="riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-32bit-csr.xml riscv-32bit-virtual.xml"
;;
riscv64)
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
mttcg=yes
gdb_xml_files="riscv-64bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml riscv-64bit-virtual.xml"
;;
rx)
TARGET_ARCH=rx
bflt="yes"
target_compiler=$cross_cc_rx
gdb_xml_files="rx-core.xml"
;;
sh4|sh4eb)
TARGET_ARCH=sh4
TARGET_SYSTBL_ABI=common
bflt="yes"
;;
sparc)
TARGET_SYSTBL_ABI=common,32
;;
sparc64)
TARGET_BASE_ARCH=sparc
TARGET_SYSTBL_ABI=common,64
;;
sparc32plus)
TARGET_ARCH=sparc64
TARGET_BASE_ARCH=sparc
TARGET_ABI_DIR=sparc
TARGET_SYSTBL_ABI=common,32
echo "TARGET_ABI32=y" >> $config_target_mak
;;
s390x)
TARGET_SYSTBL_ABI=common,64
mttcg=yes
gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-gs.xml"
;;
tilegx)
;;
tricore)
;;
unicore32)
;;
xtensa|xtensaeb)
TARGET_ARCH=xtensa
TARGET_SYSTBL_ABI=common
bflt="yes"
mttcg="yes"
;;
*)
error_exit "Unsupported target CPU"
;;
case $target in
*-user) symlink "../qemu-$target_name" "$target_dir/qemu-$target_name" ;;
*) symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name" ;;
esac
# TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
if [ "$TARGET_BASE_ARCH" = "" ]; then
TARGET_BASE_ARCH=$TARGET_ARCH
fi
if [ "$TARGET_SYSTBL_ABI" != "" ] && [ "$TARGET_SYSTBL" = "" ]; then
TARGET_SYSTBL=syscall.tbl
fi
upper() {
echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]'
}
target_arch_name="$(upper $TARGET_ARCH)"
echo "TARGET_$target_arch_name=y" >> $config_target_mak
echo "TARGET_NAME=$target_name" >> $config_target_mak
echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
if [ "$TARGET_ABI_DIR" = "" ]; then
TARGET_ABI_DIR=$TARGET_ARCH
fi
echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
if [ "$HOST_VARIANT_DIR" != "" ]; then
echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak
fi
if [ "$TARGET_SYSTBL_ABI" != "" ]; then
echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak
fi
if supported_xen_target $target; then
echo "CONFIG_XEN=y" >> $config_target_mak
if test "$xen_pci_passthrough" = yes; then
echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak"
fi
fi
if supported_kvm_target $target; then
echo "CONFIG_KVM=y" >> $config_target_mak
fi
if supported_hax_target $target; then
echo "CONFIG_HAX=y" >> $config_target_mak
fi
if supported_hvf_target $target; then
echo "CONFIG_HVF=y" >> $config_target_mak
fi
if supported_whpx_target $target; then
echo "CONFIG_WHPX=y" >> $config_target_mak
fi
if test "$target_aligned_only" = "yes" ; then
echo "TARGET_ALIGNED_ONLY=y" >> $config_target_mak
fi
if test "$target_bigendian" = "yes" ; then
echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak
fi
if test "$target_softmmu" = "yes" ; then
echo "CONFIG_SOFTMMU=y" >> $config_target_mak
if test "$mttcg" = "yes" ; then
echo "TARGET_SUPPORTS_MTTCG=y" >> $config_target_mak
fi
fi
if test "$target_user_only" = "yes" ; then
echo "CONFIG_USER_ONLY=y" >> $config_target_mak
echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
symlink "../qemu-$target_name" "$target_dir/qemu-$target_name"
else
symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name"
fi
if test "$target_linux_user" = "yes" ; then
echo "CONFIG_LINUX_USER=y" >> $config_target_mak
fi
list=""
if test ! -z "$gdb_xml_files" ; then
for x in $gdb_xml_files; do
list="$list gdb-xml/$x"
done
echo "TARGET_XML_FILES=$list" >> $config_target_mak
fi
if test "$target_user_only" = "yes" && test "$bflt" = "yes"; then
echo "TARGET_HAS_BFLT=y" >> $config_target_mak
fi
if test "$target_bsd_user" = "yes" ; then
echo "CONFIG_BSD_USER=y" >> $config_target_mak
fi
done # for target in $targets
if [ "$fdt" = "git" ]; then
subdirs="$subdirs dtc"
fi
echo "CONFIG_QEMU_INTERP_PREFIX=$interp_prefix" | sed 's/%M/@0@/' >> $config_host_mak
if test "$default_targets" = "yes"; then
echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak
fi
echo "SUBDIRS=$subdirs" >> $config_host_mak
if test "$numa" = "yes"; then
@@ -7792,7 +7315,9 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
-Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \
-Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \
-Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
-Dmalloc=$malloc -Dmalloc_trim=$malloc_trim \
-Dmalloc=$malloc -Dmalloc_trim=$malloc_trim -Dsparse=$sparse \
-Dkvm=$kvm -Dhax=$hax -Dwhpx=$whpx -Dhvf=$hvf \
-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
-Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
-1
View File
@@ -1 +0,0 @@
# Default configuration for aarch64-linux-user
@@ -1 +0,0 @@
# Default configuration for aarch64_be-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for alpha-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for arm-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for armeb-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for cris-linux-user
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
-1
View File
@@ -1 +0,0 @@
# Default configuration for hppa-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for i386-bsd-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for i386-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for m68k-linux-user
@@ -1 +0,0 @@
# Default configuration for microblaze-linux-user
@@ -1 +0,0 @@
# Default configuration for microblazeel-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for mips-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for mips64-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for mips64el-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for mipsel-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for mipsn32-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for mipsn32el-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for nios2-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for or1k-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for ppc-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for ppc64-linux-user
@@ -1 +0,0 @@
# Default configuration for ppc64abi32-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for ppc64le-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for riscv-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for riscv-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for s390x-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for sh4-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for sh4eb-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for sparc-bsd-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for sparc-linux-user
@@ -1 +0,0 @@
# Default configuration for sparc32plus-linux-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for sparc64-bsd-user
-1
View File
@@ -1 +0,0 @@
# Default configuration for sparc64-linux-user
@@ -0,0 +1,4 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml
TARGET_HAS_BFLT=y
@@ -0,0 +1,4 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_SUPPORTS_MTTCG=y
TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml
@@ -0,0 +1,5 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_WORDS_BIGENDIAN=y
TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml
TARGET_HAS_BFLT=y
@@ -0,0 +1,4 @@
TARGET_ARCH=alpha
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_ALIGNED_ONLY=y
@@ -0,0 +1,3 @@
TARGET_ARCH=alpha
TARGET_ALIGNED_ONLY=y
TARGET_SUPPORTS_MTTCG=y
@@ -0,0 +1,5 @@
TARGET_ARCH=arm
TARGET_SYSTBL_ABI=common,oabi
TARGET_SYSTBL=syscall.tbl
TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml
TARGET_HAS_BFLT=y
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=arm
TARGET_SUPPORTS_MTTCG=y
TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml
@@ -0,0 +1,6 @@
TARGET_ARCH=arm
TARGET_SYSTBL_ABI=common,oabi
TARGET_SYSTBL=syscall.tbl
TARGET_WORDS_BIGENDIAN=y
TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml
TARGET_HAS_BFLT=y
+2
View File
@@ -0,0 +1,2 @@
TARGET_ARCH=avr
TARGET_XML_FILES= gdb-xml/avr-cpu.xml
@@ -0,0 +1 @@
TARGET_ARCH=cris
+1
View File
@@ -0,0 +1 @@
TARGET_ARCH=cris
@@ -0,0 +1,5 @@
TARGET_ARCH=hppa
TARGET_SYSTBL_ABI=common,32
TARGET_SYSTBL=syscall.tbl
TARGET_ALIGNED_ONLY=y
TARGET_WORDS_BIGENDIAN=y
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=hppa
TARGET_ALIGNED_ONLY=y
TARGET_WORDS_BIGENDIAN=y
TARGET_SUPPORTS_MTTCG=y
@@ -0,0 +1,2 @@
TARGET_ARCH=i386
TARGET_XML_FILES= gdb-xml/i386-32bit.xml
@@ -0,0 +1,4 @@
TARGET_ARCH=i386
TARGET_SYSTBL_ABI=i386
TARGET_SYSTBL=syscall_32.tbl
TARGET_XML_FILES= gdb-xml/i386-32bit.xml
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=i386
TARGET_SUPPORTS_MTTCG=y
TARGET_XML_FILES= gdb-xml/i386-32bit.xml
+2
View File
@@ -0,0 +1,2 @@
TARGET_ARCH=lm32
TARGET_WORDS_BIGENDIAN=y
@@ -0,0 +1,6 @@
TARGET_ARCH=m68k
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_WORDS_BIGENDIAN=y
TARGET_XML_FILES= gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-core.xml gdb-xml/m68k-fp.xml
TARGET_HAS_BFLT=y
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=m68k
TARGET_WORDS_BIGENDIAN=y
TARGET_XML_FILES= gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-core.xml gdb-xml/m68k-fp.xml
@@ -0,0 +1,5 @@
TARGET_ARCH=microblaze
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_WORDS_BIGENDIAN=y
TARGET_HAS_BFLT=y
@@ -0,0 +1,3 @@
TARGET_ARCH=microblaze
TARGET_WORDS_BIGENDIAN=y
TARGET_SUPPORTS_MTTCG=y
@@ -0,0 +1,4 @@
TARGET_ARCH=microblaze
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_HAS_BFLT=y
@@ -0,0 +1,2 @@
TARGET_ARCH=microblaze
TARGET_SUPPORTS_MTTCG=y
@@ -0,0 +1,6 @@
TARGET_ARCH=mips
TARGET_ABI_MIPSO32=y
TARGET_SYSTBL_ABI=o32
TARGET_SYSTBL=syscall_o32.tbl
TARGET_ALIGNED_ONLY=y
TARGET_WORDS_BIGENDIAN=y
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=mips
TARGET_ALIGNED_ONLY=y
TARGET_WORDS_BIGENDIAN=y
TARGET_SUPPORTS_MTTCG=y
@@ -0,0 +1,7 @@
TARGET_ARCH=mips64
TARGET_ABI_MIPSN64=y
TARGET_BASE_ARCH=mips
TARGET_SYSTBL_ABI=n64
TARGET_SYSTBL=syscall_n64.tbl
TARGET_ALIGNED_ONLY=y
TARGET_WORDS_BIGENDIAN=y
@@ -0,0 +1,4 @@
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
TARGET_ALIGNED_ONLY=y
TARGET_WORDS_BIGENDIAN=y
@@ -0,0 +1,6 @@
TARGET_ARCH=mips64
TARGET_ABI_MIPSN64=y
TARGET_BASE_ARCH=mips
TARGET_SYSTBL_ABI=n64
TARGET_SYSTBL=syscall_n64.tbl
TARGET_ALIGNED_ONLY=y
@@ -0,0 +1,3 @@
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
TARGET_ALIGNED_ONLY=y
@@ -0,0 +1,5 @@
TARGET_ARCH=mips
TARGET_ABI_MIPSO32=y
TARGET_SYSTBL_ABI=o32
TARGET_SYSTBL=syscall_o32.tbl
TARGET_ALIGNED_ONLY=y
Loaded 100 of 156 files, more files were not shown because too many files have changed in this diff. Show more