Skip to content

Commit

Permalink
Merge tag 'pull-testing-next-290722-1' of https://github.com/stsquad/…
Browse files Browse the repository at this point in the history
…qemu into staging

Testing, semihosting and doc fixes:

  - update to latest libvirt-ci
  - echo testlog.txt on failed cirrus runs
  - drop containers-layer2 stage
  - update handling of symlinks on windows builds
  - return 0 for failure of semihosting console write
  - don't copy unused buffer after semihost operation
  - check for errors in semihosting args
  - fix buffer handling for semihosting TMPNAM
  - add qapi exit-failure PanicAction
  - add lowcore unaligned access test to s390x
  - fix documentation of OBJECT_DECLARE_SIMPLE_TYPE
  - expand documentation on booting code

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmLjoIQACgkQ+9DbCVqe
# KkSLyAf7Byt1jeIHCYYYqOPj8+Zx+kJXgWr59wMRSDFLwd0wWeFkgQhxriSlSUAl
# oVOTP8fkczeaMKPhp7CJnqpcQuZzD6iaK9hg/hNzKy0gTQbJgFRtTSP7c0E0iak5
# ZfDX5h+BRSAoeDo3I+ulj/bLKlj+KbxRWGf+y4K9rRGHKcTJUbcpkZ7aQlK5J6UD
# nqjkrvgnNWslxhdRSI6+2KPzkYaOmbiyPIVGOiBvmyv0N+NuazPvFMp2mFGH25kB
# XGsU5zxmm8IskxLGHHFvlwIM19SwB/2vArLtyaTVEPbLDhvdENePrPSL1Lr2BA/A
# yStVAvAnyy7Cdr8YmRCAGm3qnY61dg==
# =57ZK
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 29 Jul 2022 01:55:32 AM PDT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* tag 'pull-testing-next-290722-1' of https://github.com/stsquad/qemu:
  qemu-options: bring the kernel and image options together
  docs/devel: fix description of OBJECT_DECLARE_SIMPLE_TYPE
  tests/tcg/s390x: Test unaligned accesses to lowcore
  qapi: Add exit-failure PanicAction
  semihosting: Fix handling of buffer in TARGET_SYS_TMPNAM
  semihosting: Check for errors on SET_ARG()
  semihosting: Don't copy buffer after console_write()
  semihosting: Don't return negative values on qemu_semihosting_console_write() failure
  .gitlab-ci.d/windows.yml: Enable native Windows symlink
  .cirrus.yml: Change winsymlinks to 'native'
  gitlab: drop 'containers-layer2' stage
  gitlab: show testlog.txt contents when cirrus/custom-runner jobs fail
  tests: refresh to latest libvirt-ci module

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  • Loading branch information
rth7680 committed Jul 29, 2022
2 parents cc42559 + 1235cf7 commit 0279d0e
Show file tree
Hide file tree
Showing 39 changed files with 243 additions and 70 deletions.
2 changes: 1 addition & 1 deletion .cirrus.yml
Expand Up @@ -10,7 +10,7 @@ windows_msys2_task:
memory: 8G
env:
CIRRUS_SHELL: powershell
MSYS: winsymlinks:nativestrict
MSYS: winsymlinks:native
MSYSTEM: MINGW64
MSYS2_URL: https://github.com/msys2/msys2-installer/releases/download/2022-05-03/msys2-base-x86_64-20220503.sfx.exe
MSYS2_FINGERPRINT: 0
Expand Down
3 changes: 2 additions & 1 deletion .gitlab-ci.d/cirrus/build.yml
Expand Up @@ -32,5 +32,6 @@ build_task:
- $MAKE -j$(sysctl -n hw.ncpu)
- for TARGET in $TEST_TARGETS ;
do
$MAKE -j$(sysctl -n hw.ncpu) $TARGET V=1 ;
$MAKE -j$(sysctl -n hw.ncpu) $TARGET V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
done
3 changes: 1 addition & 2 deletions .gitlab-ci.d/cirrus/freebsd-12.vars
@@ -1,5 +1,4 @@
# THIS FILE WAS AUTO-GENERATED
# ... and then edited to fix py39, pending proper lcitool update.
#
# $ lcitool variables freebsd-12 qemu
#
Expand All @@ -12,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip-3.8'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 libepoxy libffi libgcrypt libjpeg-turbo libnfs libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-virtualenv py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage cmocka ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
3 changes: 1 addition & 2 deletions .gitlab-ci.d/cirrus/freebsd-13.vars
@@ -1,5 +1,4 @@
# THIS FILE WAS AUTO-GENERATED
# ... and then edited to fix py39, pending proper lcitool update.
#
# $ lcitool variables freebsd-13 qemu
#
Expand All @@ -12,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip-3.8'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 libepoxy libffi libgcrypt libjpeg-turbo libnfs libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-virtualenv py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PKGS='alsa-lib bash bzip2 ca_root_nss capstone4 ccache cdrkit-genisoimage cmocka ctags curl cyrus-sasl dbus diffutils dtc fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libspice-server libssh libtasn1 llvm lzo2 meson ncurses nettle ninja opencv perl5 pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy spice-protocol tesseract texinfo usbredir virglrenderer vte3 zstd'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
4 changes: 2 additions & 2 deletions .gitlab-ci.d/cirrus/macos-11.vars
Expand Up @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='brew'
PIP3='/usr/local/bin/pip3'
PKGS='bash bc bzip2 capstone ccache ctags curl dbus diffutils dtc gcovr gettext git glib gnu-sed gnutls gtk+3 jemalloc jpeg-turbo libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb llvm lzo make meson ncurses nettle ninja perl pixman pkg-config python3 rpm2cpio sdl2 sdl2_image snappy sparse spice-protocol tesseract texinfo usbredir vde vte3 zlib zstd'
PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme virtualenv'
PKGS='bash bc bzip2 capstone ccache cmocka ctags curl dbus diffutils dtc gcovr gettext git glib gnu-sed gnutls gtk+3 jemalloc jpeg-turbo json-c libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb llvm lzo make meson ncurses nettle ninja perl pixman pkg-config python3 rpm2cpio sdl2 sdl2_image snappy sparse spice-protocol tesseract texinfo usbredir vde vte3 zlib zstd'
PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme'
PYTHON='/usr/local/bin/python3'
24 changes: 12 additions & 12 deletions .gitlab-ci.d/container-cross.yml
@@ -1,20 +1,20 @@
alpha-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-alpha-cross

amd64-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-amd64-cross

amd64-debian-user-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-all-test-cross
Expand Down Expand Up @@ -65,21 +65,21 @@ hexagon-cross-container:

hppa-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-hppa-cross

m68k-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-m68k-cross

mips64-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-mips64-cross
Expand All @@ -92,7 +92,7 @@ mips64el-debian-cross-container:

mips-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-mips-cross
Expand All @@ -105,7 +105,7 @@ mipsel-debian-cross-container:

powerpc-test-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian11-container']
variables:
NAME: debian-powerpc-test-cross
Expand All @@ -127,7 +127,7 @@ riscv64-debian-cross-container:
# we can however build TCG tests using a non-sid base
riscv64-debian-test-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian11-container']
variables:
NAME: debian-riscv64-test-cross
Expand All @@ -140,21 +140,21 @@ s390x-debian-cross-container:

sh4-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-sh4-cross

sparc64-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-sparc64-cross

tricore-debian-cross-container:
extends: .container_job_template
stage: containers-layer2
stage: containers
needs: ['amd64-debian10-container']
variables:
NAME: debian-tricore-cross
Expand Down
2 changes: 2 additions & 0 deletions .gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
Expand Up @@ -23,6 +23,8 @@ centos-stream-8-x86_64:
- mkdir build
- cd build
- ../scripts/ci/org.centos/stream/8/x86_64/configure
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make -j"$JOBS"
- make NINJA=":" check
|| { cat meson-logs/testlog.txt; exit 1; } ;
- ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
2 changes: 2 additions & 0 deletions .gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml
Expand Up @@ -19,5 +19,7 @@ ubuntu-20.04-aarch32-all:
- mkdir build
- cd build
- ../configure --cross-prefix=arm-linux-gnueabihf-
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
12 changes: 12 additions & 0 deletions .gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
Expand Up @@ -17,9 +17,12 @@ ubuntu-20.04-aarch64-all-linux-static:
- mkdir build
- cd build
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
- make --output-sync -j`nproc --ignore=40` check-tcg V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-all:
needs: []
Expand All @@ -38,8 +41,10 @@ ubuntu-20.04-aarch64-all:
- mkdir build
- cd build
- ../configure --disable-libssh
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-alldbg:
needs: []
Expand All @@ -54,9 +59,11 @@ ubuntu-20.04-aarch64-alldbg:
- mkdir build
- cd build
- ../configure --enable-debug --disable-libssh
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make clean
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-clang:
needs: []
Expand All @@ -75,8 +82,10 @@ ubuntu-20.04-aarch64-clang:
- mkdir build
- cd build
- ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-aarch64-tci:
needs: []
Expand All @@ -95,6 +104,7 @@ ubuntu-20.04-aarch64-tci:
- mkdir build
- cd build
- ../configure --disable-libssh --enable-tcg-interpreter
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`

ubuntu-20.04-aarch64-notcg:
Expand All @@ -114,5 +124,7 @@ ubuntu-20.04-aarch64-notcg:
- mkdir build
- cd build
- ../configure --disable-libssh --disable-tcg
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
12 changes: 12 additions & 0 deletions .gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml
Expand Up @@ -17,9 +17,12 @@ ubuntu-20.04-s390x-all-linux-static:
- mkdir build
- cd build
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
- make --output-sync -j`nproc` check-tcg V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-s390x-all:
needs: []
Expand All @@ -35,8 +38,10 @@ ubuntu-20.04-s390x-all:
- mkdir build
- cd build
- ../configure --disable-libssh
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-s390x-alldbg:
needs: []
Expand All @@ -55,9 +60,11 @@ ubuntu-20.04-s390x-alldbg:
- mkdir build
- cd build
- ../configure --enable-debug --disable-libssh
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make clean
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-s390x-clang:
needs: []
Expand All @@ -76,8 +83,10 @@ ubuntu-20.04-s390x-clang:
- mkdir build
- cd build
- ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-20.04-s390x-tci:
needs: []
Expand All @@ -96,6 +105,7 @@ ubuntu-20.04-s390x-tci:
- mkdir build
- cd build
- ../configure --disable-libssh --enable-tcg-interpreter
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`

ubuntu-20.04-s390x-notcg:
Expand All @@ -115,5 +125,7 @@ ubuntu-20.04-s390x-notcg:
- mkdir build
- cd build
- ../configure --disable-libssh --disable-tcg
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc`
- make --output-sync -j`nproc` check V=1
|| { cat meson-logs/testlog.txt; exit 1; } ;
1 change: 0 additions & 1 deletion .gitlab-ci.d/stages.yml
Expand Up @@ -3,6 +3,5 @@
# - test (for test stages, using build artefacts from a build stage)
stages:
- containers
- containers-layer2
- build
- test
2 changes: 2 additions & 0 deletions .gitlab-ci.d/windows.yml
Expand Up @@ -57,6 +57,7 @@ msys2-64bit:
mingw-w64-x86_64-zstd "
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
- $env:MSYSTEM = 'MINGW64' # Start a 64 bit Mingw environment
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
- .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu
--enable-capstone --without-default-devices'
- .\msys64\usr\bin\bash -lc "sed -i '/^ROMS=/d' build/config-host.mak"
Expand Down Expand Up @@ -89,6 +90,7 @@ msys2-32bit:
mingw-w64-i686-usbredir "
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
- $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinG environment
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
- mkdir output
- cd output
- ..\msys64\usr\bin\bash -lc "../configure --target-list=ppc64-softmmu"
Expand Down
3 changes: 1 addition & 2 deletions docs/devel/qom.rst
Expand Up @@ -292,8 +292,7 @@ in the header file:
.. code-block:: c
:caption: Declaring a simple type
OBJECT_DECLARE_SIMPLE_TYPE(MyDevice, my_device,
MY_DEVICE, DEVICE)
OBJECT_DECLARE_SIMPLE_TYPE(MyDevice, MY_DEVICE)
This is equivalent to the following:

Expand Down
2 changes: 1 addition & 1 deletion include/sysemu/sysemu.h
Expand Up @@ -103,7 +103,7 @@ void qemu_boot_set(const char *boot_order, Error **errp);
bool defaults_enabled(void);

void qemu_init(int argc, char **argv, char **envp);
void qemu_main_loop(void);
int qemu_main_loop(void);
void qemu_cleanup(void);

extern QemuOptsList qemu_legacy_drive_opts;
Expand Down
5 changes: 4 additions & 1 deletion qapi/run-state.json
Expand Up @@ -364,10 +364,13 @@
#
# @shutdown: Shutdown the VM and exit, according to the shutdown action
#
# @exit-failure: Shutdown the VM and exit with nonzero status
# (since 7.1)
#
# Since: 6.0
##
{ 'enum': 'PanicAction',
'data': [ 'pause', 'shutdown', 'none' ] }
'data': [ 'pause', 'shutdown', 'exit-failure', 'none' ] }

##
# @watchdog-set-action:
Expand Down

0 comments on commit 0279d0e

Please sign in to comment.