Skip to content

Commit ba782cb

Browse files
authored
Update SymQEMU to v8.2.1 (#48)
Merge with QEMU version v8.2.1 Also added : - Symbolic handling for `movcond`. - Updated moved - Minor fixes
2 parents a6b298f + 736b682 commit ba782cb

File tree

2,643 files changed

+126240
-59502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,643 files changed

+126240
-59502
lines changed

.gitlab-ci.d/base.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ variables:
6868

6969
#############################################################
7070
# Stage 2: fine tune execution of jobs in specific scenarios
71-
# where the catch all logic is inapprorpaite
71+
# where the catch all logic is inappropriate
7272
#############################################################
7373

7474
# Optional jobs should not be run unless manually triggered

.gitlab-ci.d/buildtest-template.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22
extends: .base_job_template
33
stage: build
44
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
5+
cache:
6+
paths:
7+
- ccache
8+
key: "$CI_JOB_NAME"
9+
when: always
510
before_script:
611
- JOBS=$(expr $(nproc) + 1)
712
script:
13+
- export CCACHE_BASEDIR="$(pwd)"
14+
- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
15+
- export CCACHE_MAXSIZE="500M"
16+
- export PATH="$CCACHE_WRAPPERSDIR:$PATH"
817
- mkdir build
918
- cd build
19+
- ccache --zero-stats
1020
- ../configure --enable-werror --disable-docs --enable-fdt=system
1121
${TARGETS:+--target-list="$TARGETS"}
1222
$CONFIGURE_ARGS ||
@@ -20,6 +30,7 @@
2030
then
2131
make -j"$JOBS" $MAKE_CHECK_ARGS ;
2232
fi
33+
- ccache --show-stats
2334

2435
# We jump some hoops in common_test_job_template to avoid
2536
# rebuilding all the object files we skip in the artifacts

.gitlab-ci.d/buildtest.yml

Lines changed: 84 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ avocado-system-alpine:
3030
variables:
3131
IMAGE: alpine
3232
MAKE_CHECK_ARGS: check-avocado
33+
AVOCADO_TAGS: arch:avr arch:loongarch64 arch:mips64 arch:mipsel
3334

3435
build-system-ubuntu:
3536
extends:
@@ -40,8 +41,7 @@ build-system-ubuntu:
4041
variables:
4142
IMAGE: ubuntu2204
4243
CONFIGURE_ARGS: --enable-docs
43-
TARGETS: alpha-softmmu cris-softmmu hppa-softmmu
44-
microblazeel-softmmu mips64el-softmmu
44+
TARGETS: alpha-softmmu microblaze-softmmu mips64el-softmmu
4545
MAKE_CHECK_ARGS: check-build
4646

4747
check-system-ubuntu:
@@ -61,6 +61,7 @@ avocado-system-ubuntu:
6161
variables:
6262
IMAGE: ubuntu2204
6363
MAKE_CHECK_ARGS: check-avocado
64+
AVOCADO_TAGS: arch:alpha arch:microblaze arch:mips64el
6465

6566
build-system-debian:
6667
extends:
@@ -69,10 +70,10 @@ build-system-debian:
6970
needs:
7071
job: amd64-debian-container
7172
variables:
72-
IMAGE: debian-amd64
73+
IMAGE: debian
7374
CONFIGURE_ARGS: --with-coroutine=sigaltstack
7475
TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
75-
sparc-softmmu xtensaeb-softmmu
76+
sparc-softmmu xtensa-softmmu
7677
MAKE_CHECK_ARGS: check-build
7778

7879
check-system-debian:
@@ -81,7 +82,7 @@ check-system-debian:
8182
- job: build-system-debian
8283
artifacts: true
8384
variables:
84-
IMAGE: debian-amd64
85+
IMAGE: debian
8586
MAKE_CHECK_ARGS: check
8687

8788
avocado-system-debian:
@@ -90,20 +91,21 @@ avocado-system-debian:
9091
- job: build-system-debian
9192
artifacts: true
9293
variables:
93-
IMAGE: debian-amd64
94+
IMAGE: debian
9495
MAKE_CHECK_ARGS: check-avocado
96+
AVOCADO_TAGS: arch:arm arch:i386 arch:riscv64 arch:sh4 arch:sparc arch:xtensa
9597

9698
crash-test-debian:
9799
extends: .native_test_job_template
98100
needs:
99101
- job: build-system-debian
100102
artifacts: true
101103
variables:
102-
IMAGE: debian-amd64
104+
IMAGE: debian
103105
script:
104106
- cd build
105107
- make NINJA=":" check-venv
106-
- tests/venv/bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386
108+
- pyvenv/bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386
107109

108110
build-system-fedora:
109111
extends:
@@ -114,7 +116,7 @@ build-system-fedora:
114116
variables:
115117
IMAGE: fedora
116118
CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs
117-
TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu
119+
TARGETS: microblaze-softmmu mips-softmmu
118120
xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
119121
MAKE_CHECK_ARGS: check-build
120122

@@ -135,6 +137,8 @@ avocado-system-fedora:
135137
variables:
136138
IMAGE: fedora
137139
MAKE_CHECK_ARGS: check-avocado
140+
AVOCADO_TAGS: arch:microblaze arch:mips arch:xtensa arch:m68k
141+
arch:riscv32 arch:ppc arch:sparc64
138142

139143
crash-test-fedora:
140144
extends: .native_test_job_template
@@ -146,8 +150,8 @@ crash-test-fedora:
146150
script:
147151
- cd build
148152
- make NINJA=":" check-venv
149-
- tests/venv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
150-
- tests/venv/bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32
153+
- pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
154+
- pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32
151155

152156
build-system-centos:
153157
extends:
@@ -180,6 +184,8 @@ avocado-system-centos:
180184
variables:
181185
IMAGE: centos8
182186
MAKE_CHECK_ARGS: check-avocado
187+
AVOCADO_TAGS: arch:ppc64 arch:or1k arch:390x arch:x86_64 arch:rx
188+
arch:sh4 arch:nios2
183189

184190
build-system-opensuse:
185191
extends:
@@ -209,7 +215,38 @@ avocado-system-opensuse:
209215
variables:
210216
IMAGE: opensuse-leap
211217
MAKE_CHECK_ARGS: check-avocado
218+
AVOCADO_TAGS: arch:s390x arch:x86_64 arch:aarch64
212219

220+
#
221+
# Flaky tests. We don't run these by default and they are allow fail
222+
# but often the CI system is the only way to trigger the failures.
223+
#
224+
225+
build-system-flaky:
226+
extends:
227+
- .native_build_job_template
228+
- .native_build_artifact_template
229+
needs:
230+
job: amd64-debian-container
231+
variables:
232+
IMAGE: debian
233+
QEMU_JOB_OPTIONAL: 1
234+
TARGETS: aarch64-softmmu arm-softmmu mips64el-softmmu
235+
ppc64-softmmu rx-softmmu s390x-softmmu sh4-softmmu x86_64-softmmu
236+
MAKE_CHECK_ARGS: check-build
237+
238+
avocado-system-flaky:
239+
extends: .avocado_test_job_template
240+
needs:
241+
- job: build-system-flaky
242+
artifacts: true
243+
allow_failure: true
244+
variables:
245+
IMAGE: debian
246+
MAKE_CHECK_ARGS: check-avocado
247+
QEMU_JOB_OPTIONAL: 1
248+
QEMU_TEST_FLAKY_TESTS: 1
249+
AVOCADO_TAGS: flaky
213250

214251
# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
215252
# the configure script. The container doesn't contain Xen headers so
@@ -249,6 +286,7 @@ build-user:
249286
variables:
250287
IMAGE: debian-all-test-cross
251288
CONFIGURE_ARGS: --disable-tools --disable-system
289+
--target-list-exclude=alpha-linux-user,sh4-linux-user
252290
MAKE_CHECK_ARGS: check-tcg
253291

254292
build-user-static:
@@ -258,6 +296,18 @@ build-user-static:
258296
variables:
259297
IMAGE: debian-all-test-cross
260298
CONFIGURE_ARGS: --disable-tools --disable-system --static
299+
--target-list-exclude=alpha-linux-user,sh4-linux-user
300+
MAKE_CHECK_ARGS: check-tcg
301+
302+
# targets stuck on older compilers
303+
build-legacy:
304+
extends: .native_build_job_template
305+
needs:
306+
job: amd64-debian-legacy-cross-container
307+
variables:
308+
IMAGE: debian-legacy-test-cross
309+
TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
310+
CONFIGURE_ARGS: --disable-tools
261311
MAKE_CHECK_ARGS: check-tcg
262312

263313
build-user-hexagon:
@@ -270,15 +320,28 @@ build-user-hexagon:
270320
CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg
271321
MAKE_CHECK_ARGS: check-tcg
272322

273-
# Only build the softmmu targets we have check-tcg tests for
323+
# Build the softmmu targets we have check-tcg tests and compilers in
324+
# our omnibus all-test-cross container. Those targets that haven't got
325+
# Debian cross compiler support need to use special containers.
274326
build-some-softmmu:
275327
extends: .native_build_job_template
276328
needs:
277329
job: amd64-debian-user-cross-container
278330
variables:
279331
IMAGE: debian-all-test-cross
280332
CONFIGURE_ARGS: --disable-tools --enable-debug
281-
TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
333+
TARGETS: arm-softmmu aarch64-softmmu i386-softmmu riscv64-softmmu
334+
s390x-softmmu x86_64-softmmu
335+
MAKE_CHECK_ARGS: check-tcg
336+
337+
build-loongarch64:
338+
extends: .native_build_job_template
339+
needs:
340+
job: loongarch-debian-cross-container
341+
variables:
342+
IMAGE: debian-loongarch-cross
343+
CONFIGURE_ARGS: --disable-tools --enable-debug
344+
TARGETS: loongarch64-linux-user loongarch64-softmmu
282345
MAKE_CHECK_ARGS: check-tcg
283346

284347
# We build tricore in a very minimal tricore only container
@@ -311,7 +374,7 @@ clang-user:
311374
variables:
312375
IMAGE: debian-all-test-cross
313376
CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
314-
--target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
377+
--target-list-exclude=alpha-linux-user,microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
315378
--extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
316379
MAKE_CHECK_ARGS: check-unit check-tcg
317380

@@ -498,7 +561,7 @@ build-tci:
498561
variables:
499562
IMAGE: debian-all-test-cross
500563
script:
501-
- TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64"
564+
- TARGETS="aarch64 arm hppa m68k microblaze ppc64 s390x x86_64"
502565
- mkdir build
503566
- cd build
504567
- ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc
@@ -556,7 +619,7 @@ build-tools-and-docs-debian:
556619
# when running on 'master' we use pre-existing container
557620
optional: true
558621
variables:
559-
IMAGE: debian-amd64
622+
IMAGE: debian
560623
MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
561624
CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
562625
QEMU_JOB_PUBLISH: 1
@@ -576,15 +639,18 @@ build-tools-and-docs-debian:
576639
# of what topic branch they're currently using
577640
pages:
578641
extends: .base_job_template
579-
image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:$QEMU_CI_CONTAINER_TAG
642+
image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
580643
stage: test
581644
needs:
582645
- job: build-tools-and-docs-debian
583646
script:
584647
- mkdir -p public
585648
# HTML-ised source tree
586649
- make gtags
587-
- htags -anT --tree-view=filetree -m qemu_init
650+
# We unset variables to work around a bug in some htags versions
651+
# which causes it to fail when the environment is large
652+
- CI_COMMIT_MESSAGE= CI_COMMIT_TAG_MESSAGE= htags
653+
-anT --tree-view=filetree -m qemu_init
588654
-t "Welcome to the QEMU sourcecode"
589655
- mv HTML public/src
590656
# Project documentation

.gitlab-ci.d/cirrus.yml

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
stage: build
1616
image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
1717
needs: []
18+
# 20 mins larger than "timeout_in" in cirrus/build.yml
19+
# as there's often a 5-10 minute delay before Cirrus CI
20+
# actually starts the task
1821
timeout: 80m
19-
allow_failure: true
2022
script:
2123
- source .gitlab-ci.d/cirrus/$NAME.vars
2224
- sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
@@ -50,20 +52,20 @@ x64-freebsd-13-build:
5052
NAME: freebsd-13
5153
CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
5254
CIRRUS_VM_IMAGE_SELECTOR: image_family
53-
CIRRUS_VM_IMAGE_NAME: freebsd-13-1
55+
CIRRUS_VM_IMAGE_NAME: freebsd-13-2
5456
CIRRUS_VM_CPUS: 8
5557
CIRRUS_VM_RAM: 8G
5658
UPDATE_COMMAND: pkg update; pkg upgrade -y
5759
INSTALL_COMMAND: pkg install -y
5860
TEST_TARGETS: check
5961

60-
aarch64-macos-12-base-build:
62+
aarch64-macos-13-base-build:
6163
extends: .cirrus_build_job
6264
variables:
63-
NAME: macos-12
65+
NAME: macos-13
6466
CIRRUS_VM_INSTANCE_TYPE: macos_instance
6567
CIRRUS_VM_IMAGE_SELECTOR: image
66-
CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-monterey-base:latest
68+
CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-ventura-base:latest
6769
CIRRUS_VM_CPUS: 12
6870
CIRRUS_VM_RAM: 24G
6971
UPDATE_COMMAND: brew update
@@ -72,6 +74,22 @@ aarch64-macos-12-base-build:
7274
PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
7375
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
7476

77+
aarch64-macos-14-base-build:
78+
extends: .cirrus_build_job
79+
variables:
80+
NAME: macos-14
81+
CIRRUS_VM_INSTANCE_TYPE: macos_instance
82+
CIRRUS_VM_IMAGE_SELECTOR: image
83+
CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-sonoma-base:latest
84+
CIRRUS_VM_CPUS: 12
85+
CIRRUS_VM_RAM: 24G
86+
UPDATE_COMMAND: brew update
87+
INSTALL_COMMAND: brew install
88+
PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin
89+
PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
90+
TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
91+
QEMU_JOB_OPTIONAL: 1
92+
7593

7694
# The following jobs run VM-based tests via KVM on a Linux-based Cirrus-CI job
7795
.cirrus_kvm_job:

.gitlab-ci.d/cirrus/build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ env:
1616
TEST_TARGETS: "@TEST_TARGETS@"
1717

1818
build_task:
19+
# A little shorter than GitLab timeout in ../cirrus.yml
20+
timeout_in: 60m
1921
install_script:
2022
- @UPDATE_COMMAND@
2123
- @INSTALL_COMMAND@ @PKGS@

.gitlab-ci.d/cirrus/freebsd-13.vars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
1111
NINJA='/usr/local/bin/ninja'
1212
PACKAGING_COMMAND='pkg'
1313
PIP3='/usr/local/bin/pip-3.8'
14-
PKGS='alsa-lib bash bison bzip2 ca_root_nss capstone4 ccache cmocka ctags curl cyrus-sasl dbus diffutils dtc flex fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson mtools ncurses nettle ninja opencv pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy sndio socat spice-protocol tesseract usbredir virglrenderer vte3 xorriso zstd'
14+
PKGS='alsa-lib bash bison bzip2 ca_root_nss capstone4 ccache cmocka ctags curl cyrus-sasl dbus diffutils dtc flex fusefs-libs3 gettext git glib gmake gnutls gsed gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson mtools ncurses nettle ninja opencv pixman pkgconf png py39-numpy py39-pillow py39-pip py39-sphinx py39-sphinx_rtd_theme py39-tomli py39-yaml python3 rpm2cpio sdl2 sdl2_image snappy sndio socat spice-protocol tesseract usbredir virglrenderer vte3 xorriso zstd'
1515
PYPI_PKGS=''
1616
PYTHON='/usr/local/bin/python3'
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# THIS FILE WAS AUTO-GENERATED
22
#
3-
# $ lcitool variables macos-12 qemu
3+
# $ lcitool variables macos-13 qemu
44
#
55
# https://gitlab.com/libvirt/libvirt-ci
66

@@ -11,6 +11,6 @@ MAKE='/opt/homebrew/bin/gmake'
1111
NINJA='/opt/homebrew/bin/ninja'
1212
PACKAGING_COMMAND='brew'
1313
PIP3='/opt/homebrew/bin/pip3'
14-
PKGS='bash bc bison bzip2 capstone ccache cmocka ctags curl dbus diffutils dtc flex 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 mtools ncurses nettle ninja pixman pkg-config python3 rpm2cpio sdl2 sdl2_image snappy socat sparse spice-protocol tesseract usbredir vde vte3 xorriso zlib zstd'
15-
PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme'
14+
PKGS='bash bc bison bzip2 capstone ccache cmocka ctags curl dbus diffutils dtc flex 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 mtools ncurses nettle ninja pixman pkg-config python3 rpm2cpio sdl2 sdl2_image snappy socat sparse spice-protocol swtpm tesseract usbredir vde vte3 xorriso zlib zstd'
15+
PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme tomli'
1616
PYTHON='/opt/homebrew/bin/python3'

0 commit comments

Comments
 (0)