mirror of https://github.com/xemu-project/xemu.git
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
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# THIS FILE WAS AUTO-GENERATED
|
||||
# ... and then edited to fix py39, pending proper lcitool update.
|
||||
#
|
||||
# $ lcitool variables freebsd-12 qemu
|
||||
#
|
||||
|
@ -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'
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# THIS FILE WAS AUTO-GENERATED
|
||||
# ... and then edited to fix py39, pending proper lcitool update.
|
||||
#
|
||||
# $ lcitool variables freebsd-13 qemu
|
||||
#
|
||||
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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; } ;
|
||||
|
|
|
@ -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: []
|
||||
|
@ -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: []
|
||||
|
@ -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: []
|
||||
|
@ -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: []
|
||||
|
@ -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:
|
||||
|
@ -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; } ;
|
||||
|
|
|
@ -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: []
|
||||
|
@ -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: []
|
||||
|
@ -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: []
|
||||
|
@ -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: []
|
||||
|
@ -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:
|
||||
|
@ -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; } ;
|
||||
|
|
|
@ -3,6 +3,5 @@
|
|||
# - test (for test stages, using build artefacts from a build stage)
|
||||
stages:
|
||||
- containers
|
||||
- containers-layer2
|
||||
- build
|
||||
- test
|
||||
|
|
|
@ -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"
|
||||
|
@ -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"
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -1585,13 +1585,6 @@ SRST
|
|||
Use file as SecureDigital card image.
|
||||
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,
|
||||
"-snapshot write to temporary files instead of disk image files\n",
|
||||
QEMU_ARCH_ALL)
|
||||
|
@ -3684,12 +3677,67 @@ DEFHEADING()
|
|||
|
||||
#endif
|
||||
|
||||
DEFHEADING(Linux/Multiboot boot specific:)
|
||||
DEFHEADING(Boot Image or Kernel specific:)
|
||||
SRST
|
||||
When using these options, you can use a given Linux or Multiboot kernel
|
||||
without installing it in the disk image. It can be useful for easier
|
||||
testing of various kernels.
|
||||
There are broadly 4 ways you can boot a system with QEMU.
|
||||
|
||||
- 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
|
||||
|
||||
|
@ -3729,6 +3777,25 @@ SRST
|
|||
kernel on boot.
|
||||
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(Debug/Expert options:)
|
||||
|
@ -4179,13 +4246,6 @@ SRST
|
|||
To list all the data directories, use ``-L help``.
|
||||
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, \
|
||||
"-enable-kvm enable KVM full virtualization support\n",
|
||||
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 shutdown=poweroff|pause\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 watchdog=reset|shutdown|poweroff|inject-nmi|pause|debug|none\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
|
||||
* call if the memory read fails. Eventually we could use a generic
|
||||
* 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 { \
|
||||
|
@ -498,16 +504,25 @@ void do_common_semihosting(CPUState *cs)
|
|||
GET_ARG(1);
|
||||
GET_ARG(2);
|
||||
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 */
|
||||
if (len < 0 || len >= arg2) {
|
||||
if (len > arg2) {
|
||||
free(s);
|
||||
common_semi_set_ret(cs, -1);
|
||||
break;
|
||||
}
|
||||
p = lock_user(VERIFY_WRITE, arg0, len, 0);
|
||||
if (!p) {
|
||||
free(s);
|
||||
goto do_fault;
|
||||
}
|
||||
memcpy(p, s, len + 1);
|
||||
memcpy(p, s, len);
|
||||
unlock_user(p, arg0, len);
|
||||
free(s);
|
||||
common_semi_set_ret(cs, 0);
|
||||
|
@ -739,10 +754,14 @@ void do_common_semihosting(CPUState *cs)
|
|||
case TARGET_SYS_ELAPSED:
|
||||
elapsed = get_clock() - clock_start;
|
||||
if (sizeof(target_ulong) == 8) {
|
||||
SET_ARG(0, elapsed);
|
||||
if (SET_ARG(0, elapsed)) {
|
||||
goto do_fault;
|
||||
}
|
||||
} else {
|
||||
SET_ARG(0, (uint32_t) elapsed);
|
||||
SET_ARG(1, (uint32_t) (elapsed >> 32));
|
||||
if (SET_ARG(0, (uint32_t) elapsed) ||
|
||||
SET_ARG(1, (uint32_t) (elapsed >> 32))) {
|
||||
goto do_fault;
|
||||
}
|
||||
}
|
||||
common_semi_set_ret(cs, 0);
|
||||
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)
|
||||
{
|
||||
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 {
|
||||
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);
|
||||
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,
|
||||
|
|
|
@ -32,11 +32,13 @@
|
|||
|
||||
int qemu_main(int argc, char **argv, char **envp)
|
||||
{
|
||||
int status;
|
||||
|
||||
qemu_init(argc, argv, envp);
|
||||
qemu_main_loop();
|
||||
status = qemu_main_loop();
|
||||
qemu_cleanup();
|
||||
|
||||
return 0;
|
||||
return status;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_COCOA
|
||||
|
|
|
@ -482,7 +482,8 @@ void qemu_system_guest_panicked(GuestPanicInformation *info)
|
|||
qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE,
|
||||
!!info, info);
|
||||
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,
|
||||
!!info, info);
|
||||
vm_stop(RUN_STATE_GUEST_PANICKED);
|
||||
|
@ -662,7 +663,7 @@ void qemu_system_debug_request(void)
|
|||
qemu_notify_event();
|
||||
}
|
||||
|
||||
static bool main_loop_should_exit(void)
|
||||
static bool main_loop_should_exit(int *status)
|
||||
{
|
||||
RunState r;
|
||||
ShutdownCause request;
|
||||
|
@ -680,6 +681,10 @@ static bool main_loop_should_exit(void)
|
|||
if (shutdown_action == SHUTDOWN_ACTION_PAUSE) {
|
||||
vm_stop(RUN_STATE_SHUTDOWN);
|
||||
} else {
|
||||
if (request == SHUTDOWN_CAUSE_GUEST_PANIC &&
|
||||
panic_action == PANIC_ACTION_EXIT_FAILURE) {
|
||||
*status = EXIT_FAILURE;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -715,12 +720,14 @@ static bool main_loop_should_exit(void)
|
|||
return false;
|
||||
}
|
||||
|
||||
void qemu_main_loop(void)
|
||||
int qemu_main_loop(void)
|
||||
{
|
||||
int status = EXIT_SUCCESS;
|
||||
#ifdef CONFIG_PROFILER
|
||||
int64_t ti;
|
||||
#endif
|
||||
while (!main_loop_should_exit()) {
|
||||
|
||||
while (!main_loop_should_exit(&status)) {
|
||||
#ifdef CONFIG_PROFILER
|
||||
ti = profile_getclock();
|
||||
#endif
|
||||
|
@ -729,6 +736,8 @@ void qemu_main_loop(void)
|
|||
dev_time += profile_getclock() - ti;
|
||||
#endif
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
void qemu_add_exit_notifier(Notifier *notify)
|
||||
|
|
|
@ -21,6 +21,7 @@ RUN apk update && \
|
|||
cdrkit \
|
||||
ceph-dev \
|
||||
clang \
|
||||
cmocka-dev \
|
||||
ctags \
|
||||
curl-dev \
|
||||
cyrus-sasl-dev \
|
||||
|
@ -39,6 +40,7 @@ RUN apk update && \
|
|||
glib-static \
|
||||
gnutls-dev \
|
||||
gtk+3.0-dev \
|
||||
json-c-dev \
|
||||
libaio-dev \
|
||||
libbpf-dev \
|
||||
libcap-ng-dev \
|
||||
|
@ -64,6 +66,7 @@ RUN apk update && \
|
|||
mesa-dev \
|
||||
meson \
|
||||
multipath-tools \
|
||||
musl-dev \
|
||||
ncurses-dev \
|
||||
ndctl-dev \
|
||||
net-tools \
|
||||
|
@ -81,7 +84,6 @@ RUN apk update && \
|
|||
py3-pip \
|
||||
py3-sphinx \
|
||||
py3-sphinx_rtd_theme \
|
||||
py3-virtualenv \
|
||||
py3-yaml \
|
||||
python3 \
|
||||
rpm2cpio \
|
||||
|
|
|
@ -6,11 +6,12 @@
|
|||
|
||||
FROM quay.io/centos/centos:stream8
|
||||
|
||||
RUN dnf update -y && \
|
||||
RUN dnf distro-sync -y && \
|
||||
dnf install 'dnf-command(config-manager)' -y && \
|
||||
dnf config-manager --set-enabled -y powertools && \
|
||||
dnf install -y centos-release-advanced-virtualization && \
|
||||
dnf install -y epel-release && \
|
||||
dnf install -y epel-next-release && \
|
||||
dnf install -y \
|
||||
SDL2-devel \
|
||||
alsa-lib-devel \
|
||||
|
@ -45,6 +46,7 @@ RUN dnf update -y && \
|
|||
gtk3-devel \
|
||||
hostname \
|
||||
jemalloc-devel \
|
||||
json-c-devel \
|
||||
libaio-devel \
|
||||
libasan \
|
||||
libattr-devel \
|
||||
|
@ -60,7 +62,6 @@ RUN dnf update -y && \
|
|||
libgcrypt-devel \
|
||||
libiscsi-devel \
|
||||
libjpeg-devel \
|
||||
json-c-devel \
|
||||
libnfs-devel \
|
||||
libpmem-devel \
|
||||
libpng-devel \
|
||||
|
@ -99,7 +100,6 @@ RUN dnf update -y && \
|
|||
python3-pip \
|
||||
python3-sphinx \
|
||||
python3-sphinx_rtd_theme \
|
||||
python3-virtualenv \
|
||||
rdma-core-devel \
|
||||
rpm \
|
||||
sed \
|
||||
|
|
|
@ -41,6 +41,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev \
|
||||
libcap-ng-dev \
|
||||
libcapstone-dev \
|
||||
libcmocka-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libdaxctl-dev \
|
||||
libdrm-dev \
|
||||
|
@ -59,6 +60,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev \
|
||||
libjemalloc-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libjson-c-dev \
|
||||
liblttng-ust-dev \
|
||||
liblzo2-dev \
|
||||
libncursesw5-dev \
|
||||
|
|
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:arm64 \
|
||||
libcap-ng-dev:arm64 \
|
||||
libcapstone-dev:arm64 \
|
||||
libcmocka-dev:arm64 \
|
||||
libcurl4-gnutls-dev:arm64 \
|
||||
libdaxctl-dev:arm64 \
|
||||
libdrm-dev:arm64 \
|
||||
|
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:arm64 \
|
||||
libjemalloc-dev:arm64 \
|
||||
libjpeg62-turbo-dev:arm64 \
|
||||
libjson-c-dev:arm64 \
|
||||
liblttng-ust-dev:arm64 \
|
||||
liblzo2-dev:arm64 \
|
||||
libncursesw5-dev:arm64 \
|
||||
|
|
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:armel \
|
||||
libcap-ng-dev:armel \
|
||||
libcapstone-dev:armel \
|
||||
libcmocka-dev:armel \
|
||||
libcurl4-gnutls-dev:armel \
|
||||
libdaxctl-dev:armel \
|
||||
libdrm-dev:armel \
|
||||
|
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:armel \
|
||||
libjemalloc-dev:armel \
|
||||
libjpeg62-turbo-dev:armel \
|
||||
libjson-c-dev:armel \
|
||||
liblttng-ust-dev:armel \
|
||||
liblzo2-dev:armel \
|
||||
libncursesw5-dev:armel \
|
||||
|
|
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:armhf \
|
||||
libcap-ng-dev:armhf \
|
||||
libcapstone-dev:armhf \
|
||||
libcmocka-dev:armhf \
|
||||
libcurl4-gnutls-dev:armhf \
|
||||
libdaxctl-dev:armhf \
|
||||
libdrm-dev:armhf \
|
||||
|
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:armhf \
|
||||
libjemalloc-dev:armhf \
|
||||
libjpeg62-turbo-dev:armhf \
|
||||
libjson-c-dev:armhf \
|
||||
liblttng-ust-dev:armhf \
|
||||
liblzo2-dev:armhf \
|
||||
libncursesw5-dev:armhf \
|
||||
|
|
|
@ -83,6 +83,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:mips64el \
|
||||
libcap-ng-dev:mips64el \
|
||||
libcapstone-dev:mips64el \
|
||||
libcmocka-dev:mips64el \
|
||||
libcurl4-gnutls-dev:mips64el \
|
||||
libdaxctl-dev:mips64el \
|
||||
libdrm-dev:mips64el \
|
||||
|
@ -101,6 +102,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:mips64el \
|
||||
libjemalloc-dev:mips64el \
|
||||
libjpeg62-turbo-dev:mips64el \
|
||||
libjson-c-dev:mips64el \
|
||||
liblttng-ust-dev:mips64el \
|
||||
liblzo2-dev:mips64el \
|
||||
libncursesw5-dev:mips64el \
|
||||
|
|
|
@ -83,6 +83,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:mipsel \
|
||||
libcap-ng-dev:mipsel \
|
||||
libcapstone-dev:mipsel \
|
||||
libcmocka-dev:mipsel \
|
||||
libcurl4-gnutls-dev:mipsel \
|
||||
libdaxctl-dev:mipsel \
|
||||
libdrm-dev:mipsel \
|
||||
|
@ -101,6 +102,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:mipsel \
|
||||
libjemalloc-dev:mipsel \
|
||||
libjpeg62-turbo-dev:mipsel \
|
||||
libjson-c-dev:mipsel \
|
||||
liblttng-ust-dev:mipsel \
|
||||
liblzo2-dev:mipsel \
|
||||
libncursesw5-dev:mipsel \
|
||||
|
|
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:ppc64el \
|
||||
libcap-ng-dev:ppc64el \
|
||||
libcapstone-dev:ppc64el \
|
||||
libcmocka-dev:ppc64el \
|
||||
libcurl4-gnutls-dev:ppc64el \
|
||||
libdaxctl-dev:ppc64el \
|
||||
libdrm-dev:ppc64el \
|
||||
|
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:ppc64el \
|
||||
libjemalloc-dev:ppc64el \
|
||||
libjpeg62-turbo-dev:ppc64el \
|
||||
libjson-c-dev:ppc64el \
|
||||
liblttng-ust-dev:ppc64el \
|
||||
liblzo2-dev:ppc64el \
|
||||
libncursesw5-dev:ppc64el \
|
||||
|
|
|
@ -84,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev:s390x \
|
||||
libcap-ng-dev:s390x \
|
||||
libcapstone-dev:s390x \
|
||||
libcmocka-dev:s390x \
|
||||
libcurl4-gnutls-dev:s390x \
|
||||
libdaxctl-dev:s390x \
|
||||
libdrm-dev:s390x \
|
||||
|
@ -102,6 +103,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev:s390x \
|
||||
libjemalloc-dev:s390x \
|
||||
libjpeg62-turbo-dev:s390x \
|
||||
libjson-c-dev:s390x \
|
||||
liblttng-ust-dev:s390x \
|
||||
liblzo2-dev:s390x \
|
||||
libncursesw5-dev:s390x \
|
||||
|
|
|
@ -53,12 +53,14 @@ exec "$@"' > /usr/bin/nosync && \
|
|||
gtk3-devel \
|
||||
hostname \
|
||||
jemalloc-devel \
|
||||
json-c-devel \
|
||||
libaio-devel \
|
||||
libasan \
|
||||
libattr-devel \
|
||||
libbpf-devel \
|
||||
libcacard-devel \
|
||||
libcap-ng-devel \
|
||||
libcmocka-devel \
|
||||
libcurl-devel \
|
||||
libdrm-devel \
|
||||
libepoxy-devel \
|
||||
|
@ -106,7 +108,6 @@ exec "$@"' > /usr/bin/nosync && \
|
|||
python3-pip \
|
||||
python3-sphinx \
|
||||
python3-sphinx_rtd_theme \
|
||||
python3-virtualenv \
|
||||
rdma-core-devel \
|
||||
rpm \
|
||||
sed \
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
# 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
|
||||
|
||||
FROM registry.opensuse.org/opensuse/leap:15.2
|
||||
FROM registry.opensuse.org/opensuse/leap:15.3
|
||||
|
||||
RUN zypper update -y && \
|
||||
zypper install -y \
|
||||
|
@ -44,6 +44,7 @@ RUN zypper update -y && \
|
|||
libbz2-devel \
|
||||
libcacard-devel \
|
||||
libcap-ng-devel \
|
||||
libcmocka-devel \
|
||||
libcurl-devel \
|
||||
libdrm-devel \
|
||||
libepoxy-devel \
|
||||
|
@ -53,6 +54,7 @@ RUN zypper update -y && \
|
|||
libgnutls-devel \
|
||||
libiscsi-devel \
|
||||
libjpeg8-devel \
|
||||
libjson-c-devel \
|
||||
libndctl-devel \
|
||||
libnettle-devel \
|
||||
libnfs-devel \
|
||||
|
@ -94,7 +96,6 @@ RUN zypper update -y && \
|
|||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-sphinx_rtd_theme \
|
||||
python3-virtualenv \
|
||||
python3-wheel \
|
||||
rdma-core-devel \
|
||||
rpm \
|
||||
|
|
|
@ -40,6 +40,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libcacard-dev \
|
||||
libcap-ng-dev \
|
||||
libcapstone-dev \
|
||||
libcmocka-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libdaxctl-dev \
|
||||
libdrm-dev \
|
||||
|
@ -58,6 +59,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
|
|||
libiscsi-dev \
|
||||
libjemalloc-dev \
|
||||
libjpeg-turbo8-dev \
|
||||
libjson-c-dev \
|
||||
liblttng-ust-dev \
|
||||
liblzo2-dev \
|
||||
libncursesw5-dev \
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit f83b916d5efa4bd33fbf4b7ea41bf6d535cc63fb
|
||||
Subproject commit 324355cf62e86fb551408575afb123bac989ac37
|
|
@ -9,6 +9,7 @@ packages:
|
|||
- capstone
|
||||
- ccache
|
||||
- clang
|
||||
- cmocka
|
||||
- column
|
||||
- ctags
|
||||
- cyrus-sasl
|
||||
|
@ -26,15 +27,16 @@ packages:
|
|||
- genisoimage
|
||||
- glib2
|
||||
- glib2-static
|
||||
- glibc-static
|
||||
- glusterfs
|
||||
- gnutls
|
||||
- gtk3
|
||||
- hostname
|
||||
- json-c
|
||||
- libaio
|
||||
- libattr
|
||||
- libasan
|
||||
- libbpf
|
||||
- libc-static
|
||||
- libcacard
|
||||
- libcap-ng
|
||||
- libcurl
|
||||
|
@ -90,7 +92,7 @@ packages:
|
|||
- python3-pip
|
||||
- python3-sphinx
|
||||
- python3-sphinx-rtd-theme
|
||||
- python3-virtualenv
|
||||
- python3-venv
|
||||
- rpm2cpio
|
||||
- sdl2
|
||||
- sdl2-image
|
||||
|
|
|
@ -25,7 +25,7 @@ self_dir = Path(__file__).parent
|
|||
src_dir = self_dir.parent.parent
|
||||
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]
|
||||
|
||||
|
@ -112,7 +112,7 @@ try:
|
|||
generate_dockerfile("debian-amd64", "debian-11",
|
||||
trailer="".join(debian11_extras))
|
||||
generate_dockerfile("fedora", "fedora-35")
|
||||
generate_dockerfile("opensuse-leap", "opensuse-leap-152")
|
||||
generate_dockerfile("opensuse-leap", "opensuse-leap-153")
|
||||
generate_dockerfile("ubuntu2004", "ubuntu-2004",
|
||||
trailer="".join(ubuntu2004_tsanhack))
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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…
Reference in New Issue