Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2…
Browse files Browse the repository at this point in the history
…020-05-28' into staging

Fixes and improvements for the gitlab-CI:
- Build with other images instead of the broken Debian containers
- Fix building with the latest version of Clang (at least wrt. to
  the gitlab-CI pipeline)
- Add Philippe, Alex and Wainer to the Gitlab-CI section in MAINTAINERS

# gpg: Signature made Thu 28 May 2020 10:16:15 BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2020-05-28:
  gitlab-ci: Determine the number of jobs dynamically
  gitlab-ci: Do not use the standard container images from gitlab
  gitlab-ci: Move edk2 and opensbi YAML files to .gitlab-ci.d folder
  GitLab CI: avoid calling before_scripts on unintended jobs
  gitlab-ci: Remove flex/bison packages
  MAINTAINERS: Add Philippe, Alex and Wainer to the Gitlab-CI section
  linux-user: limit check to HOST_LONG_BITS < TARGET_ABI_BITS

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
pm215 committed May 28, 2020
2 parents 87023dc + 0016afa commit a20ab81
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 23 deletions.
File renamed without changes.
File renamed without changes.
67 changes: 45 additions & 22 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
include:
- local: '/.gitlab-ci-edk2.yml'
- local: '/.gitlab-ci-opensbi.yml'
- local: '/.gitlab-ci.d/edk2.yml'
- local: '/.gitlab-ci.d/opensbi.yml'

before_script:
- apt-get update -qq
- apt-get install -y -qq flex bison libglib2.0-dev libpixman-1-dev genisoimage
.update_apt_template: &before_script_apt
before_script:
- apt-get update -qq
- apt-get install -y -qq git gcc libglib2.0-dev libpixman-1-dev make
genisoimage
- JOBS=$(expr $(nproc) + 1)

.update_dnf_template: &before_script_dnf
before_script:
- dnf update -y
- dnf install -y bzip2 diffutils gcc git genisoimage findutils glib2-devel
make python3 perl-podlators perl-Test-Harness pixman-devel zlib-devel
- JOBS=$(expr $(nproc) + 1)

build-system1:
image: ubuntu:19.10
<<: *before_script_apt
script:
- apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdeplug-dev
Expand All @@ -15,23 +27,27 @@ build-system1:
- ../configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu
mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu"
- make -j2
- make -j2 check
- make -j"$JOBS"
- make -j"$JOBS" check

build-system2:
image: fedora:latest
<<: *before_script_dnf
script:
- apt-get install -y -qq libsdl2-dev libgcrypt-dev libbrlapi-dev libaio-dev
libfdt-dev liblzo2-dev librdmacm-dev libibverbs-dev libibumad-dev
libzstd-dev
- yum install -y SDL2-devel libgcrypt-devel brlapi-devel libaio-devel
libfdt-devel lzo-devel librdmacm-devel libibverbs-devel libibumad-devel
libzstd-devel
- mkdir build
- cd build
- ../configure --enable-werror --target-list="tricore-softmmu unicore32-softmmu
microblaze-softmmu mips-softmmu riscv32-softmmu s390x-softmmu sh4-softmmu
sparc64-softmmu x86_64-softmmu xtensa-softmmu nios2-softmmu or1k-softmmu"
- make -j2
- make -j2 check
- make -j"$JOBS"
- make -j"$JOBS" check

build-disabled:
image: fedora:latest
<<: *before_script_dnf
script:
- mkdir build
- cd build
Expand All @@ -42,16 +58,18 @@ build-disabled:
--disable-qom-cast-debug --disable-spice --disable-vhost-vsock
--disable-vhost-net --disable-vhost-crypto --disable-vhost-user
--target-list="i386-softmmu ppc64-softmmu mips64-softmmu i386-linux-user"
- make -j2
- make -j2 check-qtest SPEED=slow
- make -j"$JOBS"
- make -j"$JOBS" check-qtest SPEED=slow

build-tcg-disabled:
image: centos:8
<<: *before_script_dnf
script:
- apt-get install -y -qq clang libgtk-3-dev libusb-dev
- dnf install -y clang gtk3-devel libusbx-devel libgcrypt-devel
- mkdir build
- cd build
- ../configure --cc=clang --enable-werror --disable-tcg --audio-drv-list=""
- make -j2
- make -j"$JOBS"
- make check-unit
- make check-qapi-schema
- cd tests/qemu-iotests/
Expand All @@ -64,34 +82,39 @@ build-tcg-disabled:
260 261 262 263 264 270 272 273 277 279

build-user:
<<: *before_script_apt
script:
- mkdir build
- cd build
- ../configure --enable-werror --disable-system --disable-guest-agent
--disable-capstone --disable-slirp --disable-fdt
- make -j2
- make -j"$JOBS"
- make run-tcg-tests-i386-linux-user run-tcg-tests-x86_64-linux-user

build-clang:
image: fedora:latest
<<: *before_script_dnf
script:
- apt-get install -y -qq clang libsdl2-dev libattr1-dev libcap-ng-dev
xfslibs-dev libiscsi-dev libnfs-dev libseccomp-dev gnutls-dev librbd-dev
- yum install -y clang SDL2-devel libattr-devel libcap-ng-devel xfsprogs-devel
libiscsi-devel libnfs-devel libseccomp-devel gnutls-devel librbd-devel
- mkdir build
- cd build
- ../configure --cc=clang --cxx=clang++ --enable-werror
--target-list="alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-user"
- make -j2
- make -j2 check
- make -j"$JOBS"
- make -j"$JOBS" check

build-tci:
image: centos:8
<<: *before_script_dnf
script:
- TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64"
- mkdir build
- cd build
- ../configure --enable-tcg-interpreter
--target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
- make -j2
- make -j"$JOBS"
- make run-tcg-tests-x86_64-softmmu
- make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
- for tg in $TARGETS ; do
Expand Down
5 changes: 4 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2542,7 +2542,7 @@ F: roms/edk2
F: roms/edk2-*
F: tests/data/uefi-boot-images/
F: tests/uefi-test-tools/
F: .gitlab-ci-edk2.yml
F: .gitlab-ci.d/edk2.yml
F: .gitlab-ci.d/edk2/

Usermode Emulation
Expand Down Expand Up @@ -2901,6 +2901,9 @@ W: https://cirrus-ci.com/github/qemu/qemu

GitLab Continuous Integration
M: Thomas Huth <thuth@redhat.com>
M: Philippe Mathieu-Daudé <philmd@redhat.com>
M: Alex Bennée <alex.bennee@linaro.org>
R: Wainer dos Santos Moschetta <wainersm@redhat.com>
S: Maintained
F: .gitlab-ci.yml

Expand Down
2 changes: 2 additions & 0 deletions linux-user/elfload.c
Original file line number Diff line number Diff line change
Expand Up @@ -2073,12 +2073,14 @@ static void pgb_have_guest_base(const char *image_name, abi_ulong guest_loaddr,
exit(EXIT_FAILURE);
}
} else {
#if HOST_LONG_BITS < TARGET_ABI_BITS
if ((guest_hiaddr - guest_base) > ~(uintptr_t)0) {
error_report("%s: requires more virtual address space "
"than the host can provide (0x%" PRIx64 ")",
image_name, (uint64_t)guest_hiaddr - guest_base);
exit(EXIT_FAILURE);
}
#endif
}

/*
Expand Down

0 comments on commit a20ab81

Please sign in to comment.