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----- Merge tag 'pull-testing-next-290722-1' of https://github.com/stsquad/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>
This commit is contained in:
commit
0279d0e6b5
@ -10,7 +10,7 @@ windows_msys2_task:
|
|||||||
memory: 8G
|
memory: 8G
|
||||||
env:
|
env:
|
||||||
CIRRUS_SHELL: powershell
|
CIRRUS_SHELL: powershell
|
||||||
MSYS: winsymlinks:nativestrict
|
MSYS: winsymlinks:native
|
||||||
MSYSTEM: MINGW64
|
MSYSTEM: MINGW64
|
||||||
MSYS2_URL: https://github.com/msys2/msys2-installer/releases/download/2022-05-03/msys2-base-x86_64-20220503.sfx.exe
|
MSYS2_URL: https://github.com/msys2/msys2-installer/releases/download/2022-05-03/msys2-base-x86_64-20220503.sfx.exe
|
||||||
MSYS2_FINGERPRINT: 0
|
MSYS2_FINGERPRINT: 0
|
||||||
|
@ -32,5 +32,6 @@ build_task:
|
|||||||
- $MAKE -j$(sysctl -n hw.ncpu)
|
- $MAKE -j$(sysctl -n hw.ncpu)
|
||||||
- for TARGET in $TEST_TARGETS ;
|
- for TARGET in $TEST_TARGETS ;
|
||||||
do
|
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
|
done
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
# THIS FILE WAS AUTO-GENERATED
|
||||||
# ... and then edited to fix py39, pending proper lcitool update.
|
|
||||||
#
|
#
|
||||||
# $ lcitool variables freebsd-12 qemu
|
# $ lcitool variables freebsd-12 qemu
|
||||||
#
|
#
|
||||||
@ -12,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
|
|||||||
NINJA='/usr/local/bin/ninja'
|
NINJA='/usr/local/bin/ninja'
|
||||||
PACKAGING_COMMAND='pkg'
|
PACKAGING_COMMAND='pkg'
|
||||||
PIP3='/usr/local/bin/pip-3.8'
|
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=''
|
PYPI_PKGS=''
|
||||||
PYTHON='/usr/local/bin/python3'
|
PYTHON='/usr/local/bin/python3'
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
# THIS FILE WAS AUTO-GENERATED
|
||||||
# ... and then edited to fix py39, pending proper lcitool update.
|
|
||||||
#
|
#
|
||||||
# $ lcitool variables freebsd-13 qemu
|
# $ lcitool variables freebsd-13 qemu
|
||||||
#
|
#
|
||||||
@ -12,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
|
|||||||
NINJA='/usr/local/bin/ninja'
|
NINJA='/usr/local/bin/ninja'
|
||||||
PACKAGING_COMMAND='pkg'
|
PACKAGING_COMMAND='pkg'
|
||||||
PIP3='/usr/local/bin/pip-3.8'
|
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=''
|
PYPI_PKGS=''
|
||||||
PYTHON='/usr/local/bin/python3'
|
PYTHON='/usr/local/bin/python3'
|
||||||
|
@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
|
|||||||
NINJA='/usr/local/bin/ninja'
|
NINJA='/usr/local/bin/ninja'
|
||||||
PACKAGING_COMMAND='brew'
|
PACKAGING_COMMAND='brew'
|
||||||
PIP3='/usr/local/bin/pip3'
|
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'
|
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 virtualenv'
|
PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme'
|
||||||
PYTHON='/usr/local/bin/python3'
|
PYTHON='/usr/local/bin/python3'
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
alpha-debian-cross-container:
|
alpha-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-alpha-cross
|
NAME: debian-alpha-cross
|
||||||
|
|
||||||
amd64-debian-cross-container:
|
amd64-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-amd64-cross
|
NAME: debian-amd64-cross
|
||||||
|
|
||||||
amd64-debian-user-cross-container:
|
amd64-debian-user-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-all-test-cross
|
NAME: debian-all-test-cross
|
||||||
@ -65,21 +65,21 @@ hexagon-cross-container:
|
|||||||
|
|
||||||
hppa-debian-cross-container:
|
hppa-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-hppa-cross
|
NAME: debian-hppa-cross
|
||||||
|
|
||||||
m68k-debian-cross-container:
|
m68k-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-m68k-cross
|
NAME: debian-m68k-cross
|
||||||
|
|
||||||
mips64-debian-cross-container:
|
mips64-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-mips64-cross
|
NAME: debian-mips64-cross
|
||||||
@ -92,7 +92,7 @@ mips64el-debian-cross-container:
|
|||||||
|
|
||||||
mips-debian-cross-container:
|
mips-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-mips-cross
|
NAME: debian-mips-cross
|
||||||
@ -105,7 +105,7 @@ mipsel-debian-cross-container:
|
|||||||
|
|
||||||
powerpc-test-cross-container:
|
powerpc-test-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian11-container']
|
needs: ['amd64-debian11-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-powerpc-test-cross
|
NAME: debian-powerpc-test-cross
|
||||||
@ -127,7 +127,7 @@ riscv64-debian-cross-container:
|
|||||||
# we can however build TCG tests using a non-sid base
|
# we can however build TCG tests using a non-sid base
|
||||||
riscv64-debian-test-cross-container:
|
riscv64-debian-test-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian11-container']
|
needs: ['amd64-debian11-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-riscv64-test-cross
|
NAME: debian-riscv64-test-cross
|
||||||
@ -140,21 +140,21 @@ s390x-debian-cross-container:
|
|||||||
|
|
||||||
sh4-debian-cross-container:
|
sh4-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-sh4-cross
|
NAME: debian-sh4-cross
|
||||||
|
|
||||||
sparc64-debian-cross-container:
|
sparc64-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-sparc64-cross
|
NAME: debian-sparc64-cross
|
||||||
|
|
||||||
tricore-debian-cross-container:
|
tricore-debian-cross-container:
|
||||||
extends: .container_job_template
|
extends: .container_job_template
|
||||||
stage: containers-layer2
|
stage: containers
|
||||||
needs: ['amd64-debian10-container']
|
needs: ['amd64-debian10-container']
|
||||||
variables:
|
variables:
|
||||||
NAME: debian-tricore-cross
|
NAME: debian-tricore-cross
|
||||||
|
@ -23,6 +23,8 @@ centos-stream-8-x86_64:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../scripts/ci/org.centos/stream/8/x86_64/configure
|
- ../scripts/ci/org.centos/stream/8/x86_64/configure
|
||||||
|
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||||
- make -j"$JOBS"
|
- make -j"$JOBS"
|
||||||
- make NINJA=":" check
|
- make NINJA=":" check
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
- ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
|
- ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
|
||||||
|
@ -19,5 +19,7 @@ ubuntu-20.04-aarch32-all:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --cross-prefix=arm-linux-gnueabihf-
|
- ../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`
|
||||||
- make --output-sync -j`nproc --ignore=40` check V=1
|
- make --output-sync -j`nproc --ignore=40` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
@ -17,9 +17,12 @@ ubuntu-20.04-aarch64-all-linux-static:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
- ../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`
|
||||||
- make --output-sync -j`nproc --ignore=40` check V=1
|
- 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
|
- make --output-sync -j`nproc --ignore=40` check-tcg V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-aarch64-all:
|
ubuntu-20.04-aarch64-all:
|
||||||
needs: []
|
needs: []
|
||||||
@ -38,8 +41,10 @@ ubuntu-20.04-aarch64-all:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh
|
- ../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`
|
||||||
- make --output-sync -j`nproc --ignore=40` check V=1
|
- make --output-sync -j`nproc --ignore=40` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-aarch64-alldbg:
|
ubuntu-20.04-aarch64-alldbg:
|
||||||
needs: []
|
needs: []
|
||||||
@ -54,9 +59,11 @@ ubuntu-20.04-aarch64-alldbg:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --enable-debug --disable-libssh
|
- ../configure --enable-debug --disable-libssh
|
||||||
|
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||||
- make clean
|
- make clean
|
||||||
- make --output-sync -j`nproc --ignore=40`
|
- make --output-sync -j`nproc --ignore=40`
|
||||||
- make --output-sync -j`nproc --ignore=40` check V=1
|
- make --output-sync -j`nproc --ignore=40` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-aarch64-clang:
|
ubuntu-20.04-aarch64-clang:
|
||||||
needs: []
|
needs: []
|
||||||
@ -75,8 +82,10 @@ ubuntu-20.04-aarch64-clang:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
|
- ../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`
|
||||||
- make --output-sync -j`nproc --ignore=40` check V=1
|
- make --output-sync -j`nproc --ignore=40` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-aarch64-tci:
|
ubuntu-20.04-aarch64-tci:
|
||||||
needs: []
|
needs: []
|
||||||
@ -95,6 +104,7 @@ ubuntu-20.04-aarch64-tci:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh --enable-tcg-interpreter
|
- ../configure --disable-libssh --enable-tcg-interpreter
|
||||||
|
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||||
- make --output-sync -j`nproc --ignore=40`
|
- make --output-sync -j`nproc --ignore=40`
|
||||||
|
|
||||||
ubuntu-20.04-aarch64-notcg:
|
ubuntu-20.04-aarch64-notcg:
|
||||||
@ -114,5 +124,7 @@ ubuntu-20.04-aarch64-notcg:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh --disable-tcg
|
- ../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`
|
||||||
- make --output-sync -j`nproc --ignore=40` check V=1
|
- make --output-sync -j`nproc --ignore=40` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
@ -17,9 +17,12 @@ ubuntu-20.04-s390x-all-linux-static:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
- ../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`
|
||||||
- make --output-sync -j`nproc` check V=1
|
- make --output-sync -j`nproc` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
- make --output-sync -j`nproc` check-tcg V=1
|
- make --output-sync -j`nproc` check-tcg V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-s390x-all:
|
ubuntu-20.04-s390x-all:
|
||||||
needs: []
|
needs: []
|
||||||
@ -35,8 +38,10 @@ ubuntu-20.04-s390x-all:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh
|
- ../configure --disable-libssh
|
||||||
|
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||||
- make --output-sync -j`nproc`
|
- make --output-sync -j`nproc`
|
||||||
- make --output-sync -j`nproc` check V=1
|
- make --output-sync -j`nproc` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-s390x-alldbg:
|
ubuntu-20.04-s390x-alldbg:
|
||||||
needs: []
|
needs: []
|
||||||
@ -55,9 +60,11 @@ ubuntu-20.04-s390x-alldbg:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --enable-debug --disable-libssh
|
- ../configure --enable-debug --disable-libssh
|
||||||
|
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||||
- make clean
|
- make clean
|
||||||
- make --output-sync -j`nproc`
|
- make --output-sync -j`nproc`
|
||||||
- make --output-sync -j`nproc` check V=1
|
- make --output-sync -j`nproc` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-s390x-clang:
|
ubuntu-20.04-s390x-clang:
|
||||||
needs: []
|
needs: []
|
||||||
@ -76,8 +83,10 @@ ubuntu-20.04-s390x-clang:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
|
- ../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`
|
||||||
- make --output-sync -j`nproc` check V=1
|
- make --output-sync -j`nproc` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
|
||||||
ubuntu-20.04-s390x-tci:
|
ubuntu-20.04-s390x-tci:
|
||||||
needs: []
|
needs: []
|
||||||
@ -96,6 +105,7 @@ ubuntu-20.04-s390x-tci:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh --enable-tcg-interpreter
|
- ../configure --disable-libssh --enable-tcg-interpreter
|
||||||
|
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
|
||||||
- make --output-sync -j`nproc`
|
- make --output-sync -j`nproc`
|
||||||
|
|
||||||
ubuntu-20.04-s390x-notcg:
|
ubuntu-20.04-s390x-notcg:
|
||||||
@ -115,5 +125,7 @@ ubuntu-20.04-s390x-notcg:
|
|||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- ../configure --disable-libssh --disable-tcg
|
- ../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`
|
||||||
- make --output-sync -j`nproc` check V=1
|
- make --output-sync -j`nproc` check V=1
|
||||||
|
|| { cat meson-logs/testlog.txt; exit 1; } ;
|
||||||
|
@ -3,6 +3,5 @@
|
|||||||
# - test (for test stages, using build artefacts from a build stage)
|
# - test (for test stages, using build artefacts from a build stage)
|
||||||
stages:
|
stages:
|
||||||
- containers
|
- containers
|
||||||
- containers-layer2
|
|
||||||
- build
|
- build
|
||||||
- test
|
- test
|
||||||
|
@ -57,6 +57,7 @@ msys2-64bit:
|
|||||||
mingw-w64-x86_64-zstd "
|
mingw-w64-x86_64-zstd "
|
||||||
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
||||||
- $env:MSYSTEM = 'MINGW64' # Start a 64 bit Mingw environment
|
- $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
|
- .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu
|
||||||
--enable-capstone --without-default-devices'
|
--enable-capstone --without-default-devices'
|
||||||
- .\msys64\usr\bin\bash -lc "sed -i '/^ROMS=/d' build/config-host.mak"
|
- .\msys64\usr\bin\bash -lc "sed -i '/^ROMS=/d' build/config-host.mak"
|
||||||
@ -89,6 +90,7 @@ msys2-32bit:
|
|||||||
mingw-w64-i686-usbredir "
|
mingw-w64-i686-usbredir "
|
||||||
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
- $env:CHERE_INVOKING = 'yes' # Preserve the current working directory
|
||||||
- $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinG environment
|
- $env:MSYSTEM = 'MINGW32' # Start a 32-bit MinG environment
|
||||||
|
- $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
|
||||||
- mkdir output
|
- mkdir output
|
||||||
- cd output
|
- cd output
|
||||||
- ..\msys64\usr\bin\bash -lc "../configure --target-list=ppc64-softmmu"
|
- ..\msys64\usr\bin\bash -lc "../configure --target-list=ppc64-softmmu"
|
||||||
|
@ -292,8 +292,7 @@ in the header file:
|
|||||||
.. code-block:: c
|
.. code-block:: c
|
||||||
:caption: Declaring a simple type
|
:caption: Declaring a simple type
|
||||||
|
|
||||||
OBJECT_DECLARE_SIMPLE_TYPE(MyDevice, my_device,
|
OBJECT_DECLARE_SIMPLE_TYPE(MyDevice, MY_DEVICE)
|
||||||
MY_DEVICE, DEVICE)
|
|
||||||
|
|
||||||
This is equivalent to the following:
|
This is equivalent to the following:
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ void qemu_boot_set(const char *boot_order, Error **errp);
|
|||||||
bool defaults_enabled(void);
|
bool defaults_enabled(void);
|
||||||
|
|
||||||
void qemu_init(int argc, char **argv, char **envp);
|
void qemu_init(int argc, char **argv, char **envp);
|
||||||
void qemu_main_loop(void);
|
int qemu_main_loop(void);
|
||||||
void qemu_cleanup(void);
|
void qemu_cleanup(void);
|
||||||
|
|
||||||
extern QemuOptsList qemu_legacy_drive_opts;
|
extern QemuOptsList qemu_legacy_drive_opts;
|
||||||
|
@ -364,10 +364,13 @@
|
|||||||
#
|
#
|
||||||
# @shutdown: Shutdown the VM and exit, according to the shutdown action
|
# @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
|
# Since: 6.0
|
||||||
##
|
##
|
||||||
{ 'enum': 'PanicAction',
|
{ 'enum': 'PanicAction',
|
||||||
'data': [ 'pause', 'shutdown', 'none' ] }
|
'data': [ 'pause', 'shutdown', 'exit-failure', 'none' ] }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @watchdog-set-action:
|
# @watchdog-set-action:
|
||||||
|
@ -1585,13 +1585,6 @@ SRST
|
|||||||
Use file as SecureDigital card image.
|
Use file as SecureDigital card image.
|
||||||
ERST
|
ERST
|
||||||
|
|
||||||
DEF("pflash", HAS_ARG, QEMU_OPTION_pflash,
|
|
||||||
"-pflash file use 'file' as a parallel flash image\n", QEMU_ARCH_ALL)
|
|
||||||
SRST
|
|
||||||
``-pflash file``
|
|
||||||
Use file as a parallel flash image.
|
|
||||||
ERST
|
|
||||||
|
|
||||||
DEF("snapshot", 0, QEMU_OPTION_snapshot,
|
DEF("snapshot", 0, QEMU_OPTION_snapshot,
|
||||||
"-snapshot write to temporary files instead of disk image files\n",
|
"-snapshot write to temporary files instead of disk image files\n",
|
||||||
QEMU_ARCH_ALL)
|
QEMU_ARCH_ALL)
|
||||||
@ -3684,12 +3677,67 @@ DEFHEADING()
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEFHEADING(Linux/Multiboot boot specific:)
|
DEFHEADING(Boot Image or Kernel specific:)
|
||||||
SRST
|
SRST
|
||||||
When using these options, you can use a given Linux or Multiboot kernel
|
There are broadly 4 ways you can boot a system with QEMU.
|
||||||
without installing it in the disk image. It can be useful for easier
|
|
||||||
testing of various kernels.
|
|
||||||
|
|
||||||
|
- specify a firmware and let it control finding a kernel
|
||||||
|
- specify a firmware and pass a hint to the kernel to boot
|
||||||
|
- direct kernel image boot
|
||||||
|
- manually load files into the guest's address space
|
||||||
|
|
||||||
|
The third method is useful for quickly testing kernels but as there is
|
||||||
|
no firmware to pass configuration information to the kernel the
|
||||||
|
hardware must either be probeable, the kernel built for the exact
|
||||||
|
configuration or passed some configuration data (e.g. a DTB blob)
|
||||||
|
which tells the kernel what drivers it needs. This exact details are
|
||||||
|
often hardware specific.
|
||||||
|
|
||||||
|
The final method is the most generic way of loading images into the
|
||||||
|
guest address space and used mostly for ``bare metal`` type
|
||||||
|
development where the reset vectors of the processor are taken into
|
||||||
|
account.
|
||||||
|
|
||||||
|
ERST
|
||||||
|
|
||||||
|
SRST
|
||||||
|
|
||||||
|
For x86 machines and some other architectures ``-bios`` will generally
|
||||||
|
do the right thing with whatever it is given. For other machines the
|
||||||
|
more strict ``-pflash`` option needs an image that is sized for the
|
||||||
|
flash device for the given machine type.
|
||||||
|
|
||||||
|
Please see the :ref:`system-targets-ref` section of the manual for
|
||||||
|
more detailed documentation.
|
||||||
|
|
||||||
|
ERST
|
||||||
|
|
||||||
|
DEF("bios", HAS_ARG, QEMU_OPTION_bios, \
|
||||||
|
"-bios file set the filename for the BIOS\n", QEMU_ARCH_ALL)
|
||||||
|
SRST
|
||||||
|
``-bios file``
|
||||||
|
Set the filename for the BIOS.
|
||||||
|
ERST
|
||||||
|
|
||||||
|
DEF("pflash", HAS_ARG, QEMU_OPTION_pflash,
|
||||||
|
"-pflash file use 'file' as a parallel flash image\n", QEMU_ARCH_ALL)
|
||||||
|
SRST
|
||||||
|
``-pflash file``
|
||||||
|
Use file as a parallel flash image.
|
||||||
|
ERST
|
||||||
|
|
||||||
|
SRST
|
||||||
|
|
||||||
|
The kernel options were designed to work with Linux kernels although
|
||||||
|
other things (like hypervisors) can be packaged up as a kernel
|
||||||
|
executable image. The exact format of a executable image is usually
|
||||||
|
architecture specific.
|
||||||
|
|
||||||
|
The way in which the kernel is started (what address it is loaded at,
|
||||||
|
what if any information is passed to it via CPU registers, the state
|
||||||
|
of the hardware when it is started, and so on) is also architecture
|
||||||
|
specific. Typically it follows the specification laid down by the
|
||||||
|
Linux kernel for how kernels for that architecture must be started.
|
||||||
|
|
||||||
ERST
|
ERST
|
||||||
|
|
||||||
@ -3729,6 +3777,25 @@ SRST
|
|||||||
kernel on boot.
|
kernel on boot.
|
||||||
ERST
|
ERST
|
||||||
|
|
||||||
|
SRST
|
||||||
|
|
||||||
|
Finally you can also manually load images directly into the address
|
||||||
|
space of the guest. This is most useful for developers who already
|
||||||
|
know the layout of their guest and take care to ensure something sane
|
||||||
|
will happen when the reset vector executes.
|
||||||
|
|
||||||
|
The generic loader can be invoked by using the loader device:
|
||||||
|
|
||||||
|
``-device loader,addr=<addr>,data=<data>,data-len=<data-len>[,data-be=<data-be>][,cpu-num=<cpu-num>]``
|
||||||
|
|
||||||
|
there is also the guest loader which operates in a similar way but
|
||||||
|
tweaks the DTB so a hypervisor loaded via ``-kernel`` can find where
|
||||||
|
the guest image is:
|
||||||
|
|
||||||
|
``-device guest-loader,addr=<addr>[,kernel=<path>,[bootargs=<arguments>]][,initrd=<path>]``
|
||||||
|
|
||||||
|
ERST
|
||||||
|
|
||||||
DEFHEADING()
|
DEFHEADING()
|
||||||
|
|
||||||
DEFHEADING(Debug/Expert options:)
|
DEFHEADING(Debug/Expert options:)
|
||||||
@ -4179,13 +4246,6 @@ SRST
|
|||||||
To list all the data directories, use ``-L help``.
|
To list all the data directories, use ``-L help``.
|
||||||
ERST
|
ERST
|
||||||
|
|
||||||
DEF("bios", HAS_ARG, QEMU_OPTION_bios, \
|
|
||||||
"-bios file set the filename for the BIOS\n", QEMU_ARCH_ALL)
|
|
||||||
SRST
|
|
||||||
``-bios file``
|
|
||||||
Set the filename for the BIOS.
|
|
||||||
ERST
|
|
||||||
|
|
||||||
DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, \
|
DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, \
|
||||||
"-enable-kvm enable KVM full virtualization support\n",
|
"-enable-kvm enable KVM full virtualization support\n",
|
||||||
QEMU_ARCH_ARM | QEMU_ARCH_I386 | QEMU_ARCH_MIPS | QEMU_ARCH_PPC |
|
QEMU_ARCH_ARM | QEMU_ARCH_I386 | QEMU_ARCH_MIPS | QEMU_ARCH_PPC |
|
||||||
@ -4239,7 +4299,7 @@ DEF("action", HAS_ARG, QEMU_OPTION_action,
|
|||||||
" action when guest reboots [default=reset]\n"
|
" action when guest reboots [default=reset]\n"
|
||||||
"-action shutdown=poweroff|pause\n"
|
"-action shutdown=poweroff|pause\n"
|
||||||
" action when guest shuts down [default=poweroff]\n"
|
" action when guest shuts down [default=poweroff]\n"
|
||||||
"-action panic=pause|shutdown|none\n"
|
"-action panic=pause|shutdown|exit-failure|none\n"
|
||||||
" action when guest panics [default=shutdown]\n"
|
" action when guest panics [default=shutdown]\n"
|
||||||
"-action watchdog=reset|shutdown|poweroff|inject-nmi|pause|debug|none\n"
|
"-action watchdog=reset|shutdown|poweroff|inject-nmi|pause|debug|none\n"
|
||||||
" action when watchdog fires [default=reset]\n",
|
" action when watchdog fires [default=reset]\n",
|
||||||
|
@ -171,6 +171,12 @@ static LayoutInfo common_semi_find_bases(CPUState *cs)
|
|||||||
* Read the input value from the argument block; fail the semihosting
|
* Read the input value from the argument block; fail the semihosting
|
||||||
* call if the memory read fails. Eventually we could use a generic
|
* call if the memory read fails. Eventually we could use a generic
|
||||||
* CPUState helper function here.
|
* CPUState helper function here.
|
||||||
|
* Note that GET_ARG() handles memory access errors by jumping to
|
||||||
|
* do_fault, so must be used as the first thing done in handling a
|
||||||
|
* semihosting call, to avoid accidentally leaking allocated resources.
|
||||||
|
* SET_ARG(), since it unavoidably happens late, instead returns an
|
||||||
|
* error indication (0 on success, non-0 for error) which the caller
|
||||||
|
* should check.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define GET_ARG(n) do { \
|
#define GET_ARG(n) do { \
|
||||||
@ -498,16 +504,25 @@ void do_common_semihosting(CPUState *cs)
|
|||||||
GET_ARG(1);
|
GET_ARG(1);
|
||||||
GET_ARG(2);
|
GET_ARG(2);
|
||||||
len = asprintf(&s, "/tmp/qemu-%x%02x", getpid(), (int)arg1 & 0xff);
|
len = asprintf(&s, "/tmp/qemu-%x%02x", getpid(), (int)arg1 & 0xff);
|
||||||
|
if (len < 0) {
|
||||||
|
common_semi_set_ret(cs, -1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Allow for trailing NUL */
|
||||||
|
len++;
|
||||||
/* Make sure there's enough space in the buffer */
|
/* Make sure there's enough space in the buffer */
|
||||||
if (len < 0 || len >= arg2) {
|
if (len > arg2) {
|
||||||
|
free(s);
|
||||||
common_semi_set_ret(cs, -1);
|
common_semi_set_ret(cs, -1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
p = lock_user(VERIFY_WRITE, arg0, len, 0);
|
p = lock_user(VERIFY_WRITE, arg0, len, 0);
|
||||||
if (!p) {
|
if (!p) {
|
||||||
|
free(s);
|
||||||
goto do_fault;
|
goto do_fault;
|
||||||
}
|
}
|
||||||
memcpy(p, s, len + 1);
|
memcpy(p, s, len);
|
||||||
unlock_user(p, arg0, len);
|
unlock_user(p, arg0, len);
|
||||||
free(s);
|
free(s);
|
||||||
common_semi_set_ret(cs, 0);
|
common_semi_set_ret(cs, 0);
|
||||||
@ -739,10 +754,14 @@ void do_common_semihosting(CPUState *cs)
|
|||||||
case TARGET_SYS_ELAPSED:
|
case TARGET_SYS_ELAPSED:
|
||||||
elapsed = get_clock() - clock_start;
|
elapsed = get_clock() - clock_start;
|
||||||
if (sizeof(target_ulong) == 8) {
|
if (sizeof(target_ulong) == 8) {
|
||||||
SET_ARG(0, elapsed);
|
if (SET_ARG(0, elapsed)) {
|
||||||
|
goto do_fault;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
SET_ARG(0, (uint32_t) elapsed);
|
if (SET_ARG(0, (uint32_t) elapsed) ||
|
||||||
SET_ARG(1, (uint32_t) (elapsed >> 32));
|
SET_ARG(1, (uint32_t) (elapsed >> 32))) {
|
||||||
|
goto do_fault;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
common_semi_set_ret(cs, 0);
|
common_semi_set_ret(cs, 0);
|
||||||
break;
|
break;
|
||||||
|
@ -111,7 +111,8 @@ int qemu_semihosting_console_read(CPUState *cs, void *buf, int len)
|
|||||||
int qemu_semihosting_console_write(void *buf, int len)
|
int qemu_semihosting_console_write(void *buf, int len)
|
||||||
{
|
{
|
||||||
if (console.chr) {
|
if (console.chr) {
|
||||||
return qemu_chr_write_all(console.chr, (uint8_t *)buf, len);
|
int r = qemu_chr_write_all(console.chr, (uint8_t *)buf, len);
|
||||||
|
return r < 0 ? 0 : r;
|
||||||
} else {
|
} else {
|
||||||
return fwrite(buf, 1, len, stderr);
|
return fwrite(buf, 1, len, stderr);
|
||||||
}
|
}
|
||||||
|
@ -627,7 +627,7 @@ static void console_write(CPUState *cs, gdb_syscall_complete_cb complete,
|
|||||||
}
|
}
|
||||||
ret = qemu_semihosting_console_write(ptr, len);
|
ret = qemu_semihosting_console_write(ptr, len);
|
||||||
complete(cs, ret ? ret : -1, ret ? 0 : EIO);
|
complete(cs, ret ? ret : -1, ret ? 0 : EIO);
|
||||||
unlock_user(ptr, buf, ret);
|
unlock_user(ptr, buf, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void console_fstat(CPUState *cs, gdb_syscall_complete_cb complete,
|
static void console_fstat(CPUState *cs, gdb_syscall_complete_cb complete,
|
||||||
|
@ -32,11 +32,13 @@
|
|||||||
|
|
||||||
int qemu_main(int argc, char **argv, char **envp)
|
int qemu_main(int argc, char **argv, char **envp)
|
||||||
{
|
{
|
||||||
|
int status;
|
||||||
|
|
||||||
qemu_init(argc, argv, envp);
|
qemu_init(argc, argv, envp);
|
||||||
qemu_main_loop();
|
status = qemu_main_loop();
|
||||||
qemu_cleanup();
|
qemu_cleanup();
|
||||||
|
|
||||||
return 0;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_COCOA
|
#ifndef CONFIG_COCOA
|
||||||
|
@ -482,7 +482,8 @@ void qemu_system_guest_panicked(GuestPanicInformation *info)
|
|||||||
qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE,
|
qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE,
|
||||||
!!info, info);
|
!!info, info);
|
||||||
vm_stop(RUN_STATE_GUEST_PANICKED);
|
vm_stop(RUN_STATE_GUEST_PANICKED);
|
||||||
} else if (panic_action == PANIC_ACTION_SHUTDOWN) {
|
} else if (panic_action == PANIC_ACTION_SHUTDOWN ||
|
||||||
|
panic_action == PANIC_ACTION_EXIT_FAILURE) {
|
||||||
qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_POWEROFF,
|
qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_POWEROFF,
|
||||||
!!info, info);
|
!!info, info);
|
||||||
vm_stop(RUN_STATE_GUEST_PANICKED);
|
vm_stop(RUN_STATE_GUEST_PANICKED);
|
||||||
@ -662,7 +663,7 @@ void qemu_system_debug_request(void)
|
|||||||
qemu_notify_event();
|
qemu_notify_event();
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool main_loop_should_exit(void)
|
static bool main_loop_should_exit(int *status)
|
||||||
{
|
{
|
||||||
RunState r;
|
RunState r;
|
||||||
ShutdownCause request;
|
ShutdownCause request;
|
||||||
@ -680,6 +681,10 @@ static bool main_loop_should_exit(void)
|
|||||||
if (shutdown_action == SHUTDOWN_ACTION_PAUSE) {
|
if (shutdown_action == SHUTDOWN_ACTION_PAUSE) {
|
||||||
vm_stop(RUN_STATE_SHUTDOWN);
|
vm_stop(RUN_STATE_SHUTDOWN);
|
||||||
} else {
|
} else {
|
||||||
|
if (request == SHUTDOWN_CAUSE_GUEST_PANIC &&
|
||||||
|
panic_action == PANIC_ACTION_EXIT_FAILURE) {
|
||||||
|
*status = EXIT_FAILURE;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -715,12 +720,14 @@ static bool main_loop_should_exit(void)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void qemu_main_loop(void)
|
int qemu_main_loop(void)
|
||||||
{
|
{
|
||||||
|
int status = EXIT_SUCCESS;
|
||||||
#ifdef CONFIG_PROFILER
|
#ifdef CONFIG_PROFILER
|
||||||
int64_t ti;
|
int64_t ti;
|
||||||
#endif
|
#endif
|
||||||
while (!main_loop_should_exit()) {
|
|
||||||
|
while (!main_loop_should_exit(&status)) {
|
||||||
#ifdef CONFIG_PROFILER
|
#ifdef CONFIG_PROFILER
|
||||||
ti = profile_getclock();
|
ti = profile_getclock();
|
||||||
#endif
|
#endif
|
||||||
@ -729,6 +736,8 @@ void qemu_main_loop(void)
|
|||||||
dev_time += profile_getclock() - ti;
|
dev_time += profile_getclock() - ti;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
void qemu_add_exit_notifier(Notifier *notify)
|
void qemu_add_exit_notifier(Notifier *notify)
|
||||||
|
@ -21,6 +21,7 @@ RUN apk update && \
|
|||||||
cdrkit \
|
cdrkit \
|
||||||
ceph-dev \
|
ceph-dev \
|
||||||
clang \
|
clang \
|
||||||
|
cmocka-dev \
|
||||||
ctags \
|
ctags \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
cyrus-sasl-dev \
|
cyrus-sasl-dev \
|
||||||
@ -39,6 +40,7 @@ RUN apk update && \
|
|||||||
glib-static \
|
glib-static \
|
||||||
gnutls-dev \
|
gnutls-dev \
|
||||||
gtk+3.0-dev \
|
gtk+3.0-dev \
|
||||||
|
json-c-dev \
|
||||||
libaio-dev \
|
libaio-dev \
|
||||||
libbpf-dev \
|
libbpf-dev \
|
||||||
libcap-ng-dev \
|
libcap-ng-dev \
|
||||||
@ -64,6 +66,7 @@ RUN apk update && \
|
|||||||
mesa-dev \
|
mesa-dev \
|
||||||
meson \
|
meson \
|
||||||
multipath-tools \
|
multipath-tools \
|
||||||
|
musl-dev \
|
||||||
ncurses-dev \
|
ncurses-dev \
|
||||||
ndctl-dev \
|
ndctl-dev \
|
||||||
net-tools \
|
net-tools \
|
||||||
@ -81,7 +84,6 @@ RUN apk update && \
|
|||||||
py3-pip \
|
py3-pip \
|
||||||
py3-sphinx \
|
py3-sphinx \
|
||||||
py3-sphinx_rtd_theme \
|
py3-sphinx_rtd_theme \
|
||||||
py3-virtualenv \
|
|
||||||
py3-yaml \
|
py3-yaml \
|
||||||
python3 \
|
python3 \
|
||||||
rpm2cpio \
|
rpm2cpio \
|
||||||
|
@ -6,11 +6,12 @@
|
|||||||
|
|
||||||
FROM quay.io/centos/centos:stream8
|
FROM quay.io/centos/centos:stream8
|
||||||
|
|
||||||
RUN dnf update -y && \
|
RUN dnf distro-sync -y && \
|
||||||
dnf install 'dnf-command(config-manager)' -y && \
|
dnf install 'dnf-command(config-manager)' -y && \
|
||||||
dnf config-manager --set-enabled -y powertools && \
|
dnf config-manager --set-enabled -y powertools && \
|
||||||
dnf install -y centos-release-advanced-virtualization && \
|
dnf install -y centos-release-advanced-virtualization && \
|
||||||
dnf install -y epel-release && \
|
dnf install -y epel-release && \
|
||||||
|
dnf install -y epel-next-release && \
|
||||||
dnf install -y \
|
dnf install -y \
|
||||||
SDL2-devel \
|
SDL2-devel \
|
||||||
alsa-lib-devel \
|
alsa-lib-devel \
|
||||||
@ -45,6 +46,7 @@ RUN dnf update -y && \
|
|||||||
gtk3-devel \
|
gtk3-devel \
|
||||||
hostname \
|
hostname \
|
||||||
jemalloc-devel \
|
jemalloc-devel \
|
||||||
|
json-c-devel \
|
||||||
libaio-devel \
|
libaio-devel \
|
||||||
libasan \
|
libasan \
|
||||||
libattr-devel \
|
libattr-devel \
|
||||||
@ -60,7 +62,6 @@ RUN dnf update -y && \
|
|||||||
libgcrypt-devel \
|
libgcrypt-devel \
|
||||||
libiscsi-devel \
|
libiscsi-devel \
|
||||||
libjpeg-devel \
|
libjpeg-devel \
|
||||||
json-c-devel \
|
|
||||||
libnfs-devel \
|
libnfs-devel \
|
||||||
libpmem-devel \
|
libpmem-devel \
|
||||||
libpng-devel \
|
libpng-devel \
|
||||||
@ -99,7 +100,6 @@ RUN dnf update -y && \
|
|||||||
python3-pip \
|
python3-pip \
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
python3-sphinx_rtd_theme \
|
python3-sphinx_rtd_theme \
|
||||||
python3-virtualenv \
|
|
||||||
rdma-core-devel \
|
rdma-core-devel \
|
||||||
rpm \
|
rpm \
|
||||||
sed \
|
sed \
|
||||||
|
@ -41,6 +41,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev \
|
libcacard-dev \
|
||||||
libcap-ng-dev \
|
libcap-ng-dev \
|
||||||
libcapstone-dev \
|
libcapstone-dev \
|
||||||
|
libcmocka-dev \
|
||||||
libcurl4-gnutls-dev \
|
libcurl4-gnutls-dev \
|
||||||
libdaxctl-dev \
|
libdaxctl-dev \
|
||||||
libdrm-dev \
|
libdrm-dev \
|
||||||
@ -59,6 +60,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev \
|
libiscsi-dev \
|
||||||
libjemalloc-dev \
|
libjemalloc-dev \
|
||||||
libjpeg62-turbo-dev \
|
libjpeg62-turbo-dev \
|
||||||
|
libjson-c-dev \
|
||||||
liblttng-ust-dev \
|
liblttng-ust-dev \
|
||||||
liblzo2-dev \
|
liblzo2-dev \
|
||||||
libncursesw5-dev \
|
libncursesw5-dev \
|
||||||
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:arm64 \
|
libcacard-dev:arm64 \
|
||||||
libcap-ng-dev:arm64 \
|
libcap-ng-dev:arm64 \
|
||||||
libcapstone-dev:arm64 \
|
libcapstone-dev:arm64 \
|
||||||
|
libcmocka-dev:arm64 \
|
||||||
libcurl4-gnutls-dev:arm64 \
|
libcurl4-gnutls-dev:arm64 \
|
||||||
libdaxctl-dev:arm64 \
|
libdaxctl-dev:arm64 \
|
||||||
libdrm-dev:arm64 \
|
libdrm-dev:arm64 \
|
||||||
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:arm64 \
|
libiscsi-dev:arm64 \
|
||||||
libjemalloc-dev:arm64 \
|
libjemalloc-dev:arm64 \
|
||||||
libjpeg62-turbo-dev:arm64 \
|
libjpeg62-turbo-dev:arm64 \
|
||||||
|
libjson-c-dev:arm64 \
|
||||||
liblttng-ust-dev:arm64 \
|
liblttng-ust-dev:arm64 \
|
||||||
liblzo2-dev:arm64 \
|
liblzo2-dev:arm64 \
|
||||||
libncursesw5-dev:arm64 \
|
libncursesw5-dev:arm64 \
|
||||||
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:armel \
|
libcacard-dev:armel \
|
||||||
libcap-ng-dev:armel \
|
libcap-ng-dev:armel \
|
||||||
libcapstone-dev:armel \
|
libcapstone-dev:armel \
|
||||||
|
libcmocka-dev:armel \
|
||||||
libcurl4-gnutls-dev:armel \
|
libcurl4-gnutls-dev:armel \
|
||||||
libdaxctl-dev:armel \
|
libdaxctl-dev:armel \
|
||||||
libdrm-dev:armel \
|
libdrm-dev:armel \
|
||||||
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:armel \
|
libiscsi-dev:armel \
|
||||||
libjemalloc-dev:armel \
|
libjemalloc-dev:armel \
|
||||||
libjpeg62-turbo-dev:armel \
|
libjpeg62-turbo-dev:armel \
|
||||||
|
libjson-c-dev:armel \
|
||||||
liblttng-ust-dev:armel \
|
liblttng-ust-dev:armel \
|
||||||
liblzo2-dev:armel \
|
liblzo2-dev:armel \
|
||||||
libncursesw5-dev:armel \
|
libncursesw5-dev:armel \
|
||||||
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:armhf \
|
libcacard-dev:armhf \
|
||||||
libcap-ng-dev:armhf \
|
libcap-ng-dev:armhf \
|
||||||
libcapstone-dev:armhf \
|
libcapstone-dev:armhf \
|
||||||
|
libcmocka-dev:armhf \
|
||||||
libcurl4-gnutls-dev:armhf \
|
libcurl4-gnutls-dev:armhf \
|
||||||
libdaxctl-dev:armhf \
|
libdaxctl-dev:armhf \
|
||||||
libdrm-dev:armhf \
|
libdrm-dev:armhf \
|
||||||
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:armhf \
|
libiscsi-dev:armhf \
|
||||||
libjemalloc-dev:armhf \
|
libjemalloc-dev:armhf \
|
||||||
libjpeg62-turbo-dev:armhf \
|
libjpeg62-turbo-dev:armhf \
|
||||||
|
libjson-c-dev:armhf \
|
||||||
liblttng-ust-dev:armhf \
|
liblttng-ust-dev:armhf \
|
||||||
liblzo2-dev:armhf \
|
liblzo2-dev:armhf \
|
||||||
libncursesw5-dev:armhf \
|
libncursesw5-dev:armhf \
|
||||||
|
@ -83,6 +83,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:mips64el \
|
libcacard-dev:mips64el \
|
||||||
libcap-ng-dev:mips64el \
|
libcap-ng-dev:mips64el \
|
||||||
libcapstone-dev:mips64el \
|
libcapstone-dev:mips64el \
|
||||||
|
libcmocka-dev:mips64el \
|
||||||
libcurl4-gnutls-dev:mips64el \
|
libcurl4-gnutls-dev:mips64el \
|
||||||
libdaxctl-dev:mips64el \
|
libdaxctl-dev:mips64el \
|
||||||
libdrm-dev:mips64el \
|
libdrm-dev:mips64el \
|
||||||
@ -101,6 +102,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:mips64el \
|
libiscsi-dev:mips64el \
|
||||||
libjemalloc-dev:mips64el \
|
libjemalloc-dev:mips64el \
|
||||||
libjpeg62-turbo-dev:mips64el \
|
libjpeg62-turbo-dev:mips64el \
|
||||||
|
libjson-c-dev:mips64el \
|
||||||
liblttng-ust-dev:mips64el \
|
liblttng-ust-dev:mips64el \
|
||||||
liblzo2-dev:mips64el \
|
liblzo2-dev:mips64el \
|
||||||
libncursesw5-dev:mips64el \
|
libncursesw5-dev:mips64el \
|
||||||
|
@ -83,6 +83,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:mipsel \
|
libcacard-dev:mipsel \
|
||||||
libcap-ng-dev:mipsel \
|
libcap-ng-dev:mipsel \
|
||||||
libcapstone-dev:mipsel \
|
libcapstone-dev:mipsel \
|
||||||
|
libcmocka-dev:mipsel \
|
||||||
libcurl4-gnutls-dev:mipsel \
|
libcurl4-gnutls-dev:mipsel \
|
||||||
libdaxctl-dev:mipsel \
|
libdaxctl-dev:mipsel \
|
||||||
libdrm-dev:mipsel \
|
libdrm-dev:mipsel \
|
||||||
@ -101,6 +102,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:mipsel \
|
libiscsi-dev:mipsel \
|
||||||
libjemalloc-dev:mipsel \
|
libjemalloc-dev:mipsel \
|
||||||
libjpeg62-turbo-dev:mipsel \
|
libjpeg62-turbo-dev:mipsel \
|
||||||
|
libjson-c-dev:mipsel \
|
||||||
liblttng-ust-dev:mipsel \
|
liblttng-ust-dev:mipsel \
|
||||||
liblzo2-dev:mipsel \
|
liblzo2-dev:mipsel \
|
||||||
libncursesw5-dev:mipsel \
|
libncursesw5-dev:mipsel \
|
||||||
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:ppc64el \
|
libcacard-dev:ppc64el \
|
||||||
libcap-ng-dev:ppc64el \
|
libcap-ng-dev:ppc64el \
|
||||||
libcapstone-dev:ppc64el \
|
libcapstone-dev:ppc64el \
|
||||||
|
libcmocka-dev:ppc64el \
|
||||||
libcurl4-gnutls-dev:ppc64el \
|
libcurl4-gnutls-dev:ppc64el \
|
||||||
libdaxctl-dev:ppc64el \
|
libdaxctl-dev:ppc64el \
|
||||||
libdrm-dev:ppc64el \
|
libdrm-dev:ppc64el \
|
||||||
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:ppc64el \
|
libiscsi-dev:ppc64el \
|
||||||
libjemalloc-dev:ppc64el \
|
libjemalloc-dev:ppc64el \
|
||||||
libjpeg62-turbo-dev:ppc64el \
|
libjpeg62-turbo-dev:ppc64el \
|
||||||
|
libjson-c-dev:ppc64el \
|
||||||
liblttng-ust-dev:ppc64el \
|
liblttng-ust-dev:ppc64el \
|
||||||
liblzo2-dev:ppc64el \
|
liblzo2-dev:ppc64el \
|
||||||
libncursesw5-dev:ppc64el \
|
libncursesw5-dev:ppc64el \
|
||||||
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev:s390x \
|
libcacard-dev:s390x \
|
||||||
libcap-ng-dev:s390x \
|
libcap-ng-dev:s390x \
|
||||||
libcapstone-dev:s390x \
|
libcapstone-dev:s390x \
|
||||||
|
libcmocka-dev:s390x \
|
||||||
libcurl4-gnutls-dev:s390x \
|
libcurl4-gnutls-dev:s390x \
|
||||||
libdaxctl-dev:s390x \
|
libdaxctl-dev:s390x \
|
||||||
libdrm-dev:s390x \
|
libdrm-dev:s390x \
|
||||||
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev:s390x \
|
libiscsi-dev:s390x \
|
||||||
libjemalloc-dev:s390x \
|
libjemalloc-dev:s390x \
|
||||||
libjpeg62-turbo-dev:s390x \
|
libjpeg62-turbo-dev:s390x \
|
||||||
|
libjson-c-dev:s390x \
|
||||||
liblttng-ust-dev:s390x \
|
liblttng-ust-dev:s390x \
|
||||||
liblzo2-dev:s390x \
|
liblzo2-dev:s390x \
|
||||||
libncursesw5-dev:s390x \
|
libncursesw5-dev:s390x \
|
||||||
|
@ -53,12 +53,14 @@ exec "$@"' > /usr/bin/nosync && \
|
|||||||
gtk3-devel \
|
gtk3-devel \
|
||||||
hostname \
|
hostname \
|
||||||
jemalloc-devel \
|
jemalloc-devel \
|
||||||
|
json-c-devel \
|
||||||
libaio-devel \
|
libaio-devel \
|
||||||
libasan \
|
libasan \
|
||||||
libattr-devel \
|
libattr-devel \
|
||||||
libbpf-devel \
|
libbpf-devel \
|
||||||
libcacard-devel \
|
libcacard-devel \
|
||||||
libcap-ng-devel \
|
libcap-ng-devel \
|
||||||
|
libcmocka-devel \
|
||||||
libcurl-devel \
|
libcurl-devel \
|
||||||
libdrm-devel \
|
libdrm-devel \
|
||||||
libepoxy-devel \
|
libepoxy-devel \
|
||||||
@ -106,7 +108,6 @@ exec "$@"' > /usr/bin/nosync && \
|
|||||||
python3-pip \
|
python3-pip \
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
python3-sphinx_rtd_theme \
|
python3-sphinx_rtd_theme \
|
||||||
python3-virtualenv \
|
|
||||||
rdma-core-devel \
|
rdma-core-devel \
|
||||||
rpm \
|
rpm \
|
||||||
sed \
|
sed \
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
# THIS FILE WAS AUTO-GENERATED
|
||||||
#
|
#
|
||||||
# $ lcitool dockerfile --layers all opensuse-leap-152 qemu
|
# $ lcitool dockerfile --layers all opensuse-leap-153 qemu
|
||||||
#
|
#
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
# https://gitlab.com/libvirt/libvirt-ci
|
||||||
|
|
||||||
FROM registry.opensuse.org/opensuse/leap:15.2
|
FROM registry.opensuse.org/opensuse/leap:15.3
|
||||||
|
|
||||||
RUN zypper update -y && \
|
RUN zypper update -y && \
|
||||||
zypper install -y \
|
zypper install -y \
|
||||||
@ -44,6 +44,7 @@ RUN zypper update -y && \
|
|||||||
libbz2-devel \
|
libbz2-devel \
|
||||||
libcacard-devel \
|
libcacard-devel \
|
||||||
libcap-ng-devel \
|
libcap-ng-devel \
|
||||||
|
libcmocka-devel \
|
||||||
libcurl-devel \
|
libcurl-devel \
|
||||||
libdrm-devel \
|
libdrm-devel \
|
||||||
libepoxy-devel \
|
libepoxy-devel \
|
||||||
@ -53,6 +54,7 @@ RUN zypper update -y && \
|
|||||||
libgnutls-devel \
|
libgnutls-devel \
|
||||||
libiscsi-devel \
|
libiscsi-devel \
|
||||||
libjpeg8-devel \
|
libjpeg8-devel \
|
||||||
|
libjson-c-devel \
|
||||||
libndctl-devel \
|
libndctl-devel \
|
||||||
libnettle-devel \
|
libnettle-devel \
|
||||||
libnfs-devel \
|
libnfs-devel \
|
||||||
@ -94,7 +96,6 @@ RUN zypper update -y && \
|
|||||||
python3-pip \
|
python3-pip \
|
||||||
python3-setuptools \
|
python3-setuptools \
|
||||||
python3-sphinx_rtd_theme \
|
python3-sphinx_rtd_theme \
|
||||||
python3-virtualenv \
|
|
||||||
python3-wheel \
|
python3-wheel \
|
||||||
rdma-core-devel \
|
rdma-core-devel \
|
||||||
rpm \
|
rpm \
|
||||||
|
@ -40,6 +40,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libcacard-dev \
|
libcacard-dev \
|
||||||
libcap-ng-dev \
|
libcap-ng-dev \
|
||||||
libcapstone-dev \
|
libcapstone-dev \
|
||||||
|
libcmocka-dev \
|
||||||
libcurl4-gnutls-dev \
|
libcurl4-gnutls-dev \
|
||||||
libdaxctl-dev \
|
libdaxctl-dev \
|
||||||
libdrm-dev \
|
libdrm-dev \
|
||||||
@ -58,6 +59,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||||||
libiscsi-dev \
|
libiscsi-dev \
|
||||||
libjemalloc-dev \
|
libjemalloc-dev \
|
||||||
libjpeg-turbo8-dev \
|
libjpeg-turbo8-dev \
|
||||||
|
libjson-c-dev \
|
||||||
liblttng-ust-dev \
|
liblttng-ust-dev \
|
||||||
liblzo2-dev \
|
liblzo2-dev \
|
||||||
libncursesw5-dev \
|
libncursesw5-dev \
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit f83b916d5efa4bd33fbf4b7ea41bf6d535cc63fb
|
Subproject commit 324355cf62e86fb551408575afb123bac989ac37
|
@ -9,6 +9,7 @@ packages:
|
|||||||
- capstone
|
- capstone
|
||||||
- ccache
|
- ccache
|
||||||
- clang
|
- clang
|
||||||
|
- cmocka
|
||||||
- column
|
- column
|
||||||
- ctags
|
- ctags
|
||||||
- cyrus-sasl
|
- cyrus-sasl
|
||||||
@ -26,15 +27,16 @@ packages:
|
|||||||
- genisoimage
|
- genisoimage
|
||||||
- glib2
|
- glib2
|
||||||
- glib2-static
|
- glib2-static
|
||||||
- glibc-static
|
|
||||||
- glusterfs
|
- glusterfs
|
||||||
- gnutls
|
- gnutls
|
||||||
- gtk3
|
- gtk3
|
||||||
- hostname
|
- hostname
|
||||||
|
- json-c
|
||||||
- libaio
|
- libaio
|
||||||
- libattr
|
- libattr
|
||||||
- libasan
|
- libasan
|
||||||
- libbpf
|
- libbpf
|
||||||
|
- libc-static
|
||||||
- libcacard
|
- libcacard
|
||||||
- libcap-ng
|
- libcap-ng
|
||||||
- libcurl
|
- libcurl
|
||||||
@ -90,7 +92,7 @@ packages:
|
|||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-sphinx
|
- python3-sphinx
|
||||||
- python3-sphinx-rtd-theme
|
- python3-sphinx-rtd-theme
|
||||||
- python3-virtualenv
|
- python3-venv
|
||||||
- rpm2cpio
|
- rpm2cpio
|
||||||
- sdl2
|
- sdl2
|
||||||
- sdl2-image
|
- sdl2-image
|
||||||
|
@ -25,7 +25,7 @@ self_dir = Path(__file__).parent
|
|||||||
src_dir = self_dir.parent.parent
|
src_dir = self_dir.parent.parent
|
||||||
dockerfiles_dir = Path(src_dir, "tests", "docker", "dockerfiles")
|
dockerfiles_dir = Path(src_dir, "tests", "docker", "dockerfiles")
|
||||||
|
|
||||||
lcitool_path = Path(self_dir, "libvirt-ci", "lcitool")
|
lcitool_path = Path(self_dir, "libvirt-ci", "bin", "lcitool")
|
||||||
|
|
||||||
lcitool_cmd = [lcitool_path, "--data-dir", self_dir]
|
lcitool_cmd = [lcitool_path, "--data-dir", self_dir]
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ try:
|
|||||||
generate_dockerfile("debian-amd64", "debian-11",
|
generate_dockerfile("debian-amd64", "debian-11",
|
||||||
trailer="".join(debian11_extras))
|
trailer="".join(debian11_extras))
|
||||||
generate_dockerfile("fedora", "fedora-35")
|
generate_dockerfile("fedora", "fedora-35")
|
||||||
generate_dockerfile("opensuse-leap", "opensuse-leap-152")
|
generate_dockerfile("opensuse-leap", "opensuse-leap-153")
|
||||||
generate_dockerfile("ubuntu2004", "ubuntu-2004",
|
generate_dockerfile("ubuntu2004", "ubuntu-2004",
|
||||||
trailer="".join(ubuntu2004_tsanhack))
|
trailer="".join(ubuntu2004_tsanhack))
|
||||||
|
|
||||||
|
9
tests/tcg/s390x/Makefile.softmmu-target
Normal file
9
tests/tcg/s390x/Makefile.softmmu-target
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
|
||||||
|
VPATH+=$(S390X_SRC)
|
||||||
|
QEMU_OPTS=-action panic=exit-failure -kernel
|
||||||
|
|
||||||
|
%: %.S
|
||||||
|
$(CC) -march=z13 -m64 -nostartfiles -static -Wl,-Ttext=0 \
|
||||||
|
-Wl,--build-id=none $< -o $@
|
||||||
|
|
||||||
|
TESTS += unaligned-lowcore
|
19
tests/tcg/s390x/unaligned-lowcore.S
Normal file
19
tests/tcg/s390x/unaligned-lowcore.S
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
.org 0x1D0 /* program new PSW */
|
||||||
|
.quad 0x2000000000000,0 /* disabled wait */
|
||||||
|
.org 0x200 /* lowcore padding */
|
||||||
|
|
||||||
|
.globl _start
|
||||||
|
_start:
|
||||||
|
lctlg %c0,%c0,_c0
|
||||||
|
vst %v0,_unaligned
|
||||||
|
lpswe quiesce_psw
|
||||||
|
|
||||||
|
.align 8
|
||||||
|
quiesce_psw:
|
||||||
|
.quad 0x2000000000000,0xfff /* see is_special_wait_psw() */
|
||||||
|
_c0:
|
||||||
|
.quad 0x10060000 /* lowcore protection, AFP, VX */
|
||||||
|
|
||||||
|
.byte 0
|
||||||
|
_unaligned:
|
||||||
|
.octa 0
|
Loading…
x
Reference in New Issue
Block a user