From nobody Tue Feb 10 00:44:15 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1619211826; cv=none; d=zohomail.com; s=zohoarc; b=R95ibjlL0xRnrtL5QgDq4zoJI7Q+3bQHwzIgipIwbclrSFvFWI3jczRxLQUrSA381hhNzAH0Upx20L+6VzS5s/lPuNyzH1pohgXdeuAXYViAo6CALhO+Hinpa68NAzUUUic+8xr098X2ZrxU3GAQf6hiQYCkQ9SXQpuJqCru9oA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1619211826; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=n1uknO6ZvkHz20iXPnB82zEFCF3Xc0flNyyI4hhwi0E=; b=LV4aVxHg4l4b+/VYMw8o5L3M8UU6oX2bIuvywoLaqkvLqQw8mVI0aQqPc2OrxIDZ8akx0A3JXOIElht069WDRoaOiaMZKTNr2/LUsOdCAJHy7zvO36+fM/kSJ4yD9Ut0/WpuLsJwK5JKW5Ai0VXWkKJc0hne7O83iXfEr2hxld0= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1619211826272590.147080995776; Fri, 23 Apr 2021 14:03:46 -0700 (PDT) Received: from localhost ([::1]:45518 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1la2xl-0006yL-4P for importer@patchew.org; Fri, 23 Apr 2021 17:03:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57950) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1la2tO-0004Bc-PJ; Fri, 23 Apr 2021 16:59:15 -0400 Received: from [201.28.113.2] (port=3941 helo=outlook.eldorado.org.br) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1la2tL-0002OV-5t; Fri, 23 Apr 2021 16:59:13 -0400 Received: from power9a ([10.10.71.235]) by outlook.eldorado.org.br with Microsoft SMTPSVC(8.5.9600.16384); Fri, 23 Apr 2021 17:59:09 -0300 Received: from eldorado.org.br (unknown [10.10.70.45]) by power9a (Postfix) with ESMTP id 5010680139F; Fri, 23 Apr 2021 17:59:09 -0300 (-03) From: matheus.ferst@eldorado.org.br To: qemu-devel@nongnu.org Subject: [PATCH v3 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests Date: Fri, 23 Apr 2021 17:57:56 -0300 Message-Id: <20210423205757.1752480-2-matheus.ferst@eldorado.org.br> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210423205757.1752480-1-matheus.ferst@eldorado.org.br> References: <20210423205757.1752480-1-matheus.ferst@eldorado.org.br> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-OriginalArrivalTime: 23 Apr 2021 20:59:09.0737 (UTC) FILETIME=[81A08190:01D73883] X-Host-Lookup-Failed: Reverse DNS lookup failed for 201.28.113.2 (failed) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=201.28.113.2; envelope-from=matheus.ferst@eldorado.org.br; helo=outlook.eldorado.org.br X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Matheus Ferst , gustavo.romero@protonmail.com, f4bug@amsat.org, qemu-ppc@nongnu.org, bruno.larsen@eldorado.org.br, alex.bennee@linaro.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Matheus Ferst A newer compiler is needed to build tests for Power10 instructions. As done for arm64 on c729a99d2701, a new '-test-cross' image is created for ppc64 and ppc64le. As done on 936fda4d771f, a test for compiler support is added to verify that the toolchain in use has '-mpower10'. Finally, Unused images (docker-power-cross and docker-ppc64-cross) are removed. Signed-off-by: Matheus Ferst --- .gitlab-ci.d/containers.yml | 13 +++--------- tests/docker/Makefile.include | 5 ++--- .../dockerfiles/debian-powerpc-cross.docker | 12 ----------- .../debian-powerpc-test-cross.docker | 17 ++++++++++++++++ .../dockerfiles/debian-ppc64-cross.docker | 11 ---------- tests/tcg/configure.sh | 20 +++++++++---------- 6 files changed, 32 insertions(+), 46 deletions(-) delete mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.dock= er delete mode 100644 tests/docker/dockerfiles/debian-ppc64-cross.docker diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index 33e4046e23..325191627d 100644 --- a/.gitlab-ci.d/containers.yml +++ b/.gitlab-ci.d/containers.yml @@ -144,19 +144,12 @@ mipsel-debian-cross-container: variables: NAME: debian-mipsel-cross =20 -powerpc-debian-cross-container: +powerpc-test-debian-cross-container: <<: *container_job_definition stage: containers-layer2 - needs: ['amd64-debian10-container'] - variables: - NAME: debian-powerpc-cross - -ppc64-debian-cross-container: - <<: *container_job_definition - stage: containers-layer2 - needs: ['amd64-debian10-container'] + needs: ['amd64-debian11-container'] variables: - NAME: debian-ppc64-cross + NAME: debian-powerpc-test-cross =20 ppc64el-debian-cross-container: <<: *container_job_definition diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 9f464cb92c..3b692d67d7 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -140,8 +140,6 @@ docker-image-debian-mips-cross: docker-image-debian10 docker-image-debian-mips64-cross: docker-image-debian10 docker-image-debian-mips64el-cross: docker-image-debian10 docker-image-debian-mipsel-cross: docker-image-debian10 -docker-image-debian-powerpc-cross: docker-image-debian10 -docker-image-debian-ppc64-cross: docker-image-debian10 docker-image-debian-ppc64el-cross: docker-image-debian10 docker-image-debian-riscv64-cross: docker-image-debian10 docker-image-debian-s390x-cross: docker-image-debian10 @@ -152,13 +150,14 @@ docker-image-debian-sparc64-cross: docker-image-debia= n10 docker-image-debian-tricore-cross: docker-image-debian10 docker-image-debian-all-test-cross: docker-image-debian10 docker-image-debian-arm64-test-cross: docker-image-debian11 +docker-image-debian-powerpc-test-cross: docker-image-debian11 =20 # These images may be good enough for building tests but not for test buil= ds DOCKER_PARTIAL_IMAGES +=3D debian-alpha-cross DOCKER_PARTIAL_IMAGES +=3D debian-arm64-test-cross +DOCKER_PARTIAL_IMAGES +=3D debian-powerpc-test-cross DOCKER_PARTIAL_IMAGES +=3D debian-hppa-cross DOCKER_PARTIAL_IMAGES +=3D debian-m68k-cross debian-mips64-cross -DOCKER_PARTIAL_IMAGES +=3D debian-powerpc-cross debian-ppc64-cross DOCKER_PARTIAL_IMAGES +=3D debian-riscv64-cross DOCKER_PARTIAL_IMAGES +=3D debian-sh4-cross debian-sparc64-cross DOCKER_PARTIAL_IMAGES +=3D debian-tricore-cross diff --git a/tests/docker/dockerfiles/debian-powerpc-cross.docker b/tests/d= ocker/dockerfiles/debian-powerpc-cross.docker deleted file mode 100644 index 07e1789650..0000000000 --- a/tests/docker/dockerfiles/debian-powerpc-cross.docker +++ /dev/null @@ -1,12 +0,0 @@ -# -# Docker powerpc cross-compiler target -# -# This docker target builds on the debian Buster base image. -# -FROM qemu/debian10 - -RUN apt update && \ - DEBIAN_FRONTEND=3Dnoninteractive eatmydata \ - apt install -y --no-install-recommends \ - gcc-powerpc-linux-gnu \ - libc6-dev-powerpc-cross diff --git a/tests/docker/dockerfiles/debian-powerpc-test-cross.docker b/te= sts/docker/dockerfiles/debian-powerpc-test-cross.docker new file mode 100644 index 0000000000..36b336f709 --- /dev/null +++ b/tests/docker/dockerfiles/debian-powerpc-test-cross.docker @@ -0,0 +1,17 @@ +# +# Docker powerpc/ppc64/ppc64le cross-compiler target +# +# This docker target builds on the debian Bullseye base image. +# +FROM qemu/debian11 + +RUN apt update && \ + DEBIAN_FRONTEND=3Dnoninteractive eatmydata \ + apt install -y --no-install-recommends \ + gcc-powerpc-linux-gnu \ + libc6-dev-powerpc-cross \ + gcc-10-powerpc64-linux-gnu \ + libc6-dev-ppc64-cross \ + gcc-10-powerpc64le-linux-gnu \ + libc6-dev-ppc64el-cross + diff --git a/tests/docker/dockerfiles/debian-ppc64-cross.docker b/tests/doc= ker/dockerfiles/debian-ppc64-cross.docker deleted file mode 100644 index 8efe68874e..0000000000 --- a/tests/docker/dockerfiles/debian-ppc64-cross.docker +++ /dev/null @@ -1,11 +0,0 @@ -# -# Docker ppc64 cross-compiler target -# -# This docker target builds on the debian Buster base image. -FROM qemu/debian10 - -RUN apt update && \ - DEBIAN_FRONTEND=3Dnoninteractive eatmydata \ - apt install -y --no-install-recommends \ - gcc-powerpc64-linux-gnu \ - libc6-dev-ppc64-cross diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh index fa1a4261a4..c859b618de 100755 --- a/tests/tcg/configure.sh +++ b/tests/tcg/configure.sh @@ -165,18 +165,14 @@ for target in $target_list; do ;; ppc-*|ppc64abi32-*) container_hosts=3Dx86_64 - container_image=3Ddebian-powerpc-cross - container_cross_cc=3Dpowerpc-linux-gnu-gcc + container_image=3Ddebian-powerpc-test-cross + container_cross_cc=3Dpowerpc-linux-gnu-gcc-10 ;; - ppc64-*) + ppc64-*|ppc64le-*) container_hosts=3Dx86_64 - container_image=3Ddebian-ppc64-cross - container_cross_cc=3Dpowerpc64-linux-gnu-gcc - ;; - ppc64le-*) - container_hosts=3Dx86_64 - container_image=3Ddebian-ppc64el-cross - container_cross_cc=3Dpowerpc64le-linux-gnu-gcc + container_image=3Ddebian-powerpc-test-cross + container_cross_cc=3D${target%%-*}-linux-gnu-gcc-10 + container_cross_cc=3Dpowerpc${container_cross_cc#ppc} ;; riscv64-*) container_hosts=3Dx86_64 @@ -280,6 +276,10 @@ for target in $target_list; do -mpower8-vector -o $TMPE $TMPC; then echo "CROSS_CC_HAS_POWER8_VECTOR=3Dy" >> $config_target_mak fi + if do_compiler "$target_compiler" $target_compiler_cflags \ + -mpower10 -o $TMPE $TMPC; then + echo "CROSS_CC_HAS_POWER10=3Dy" >> $config_target_mak + fi ;; i386-linux-user) if do_compiler "$target_compiler" $target_compiler_cflags \ --=20 2.25.1 From nobody Tue Feb 10 00:44:15 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1619212100; cv=none; d=zohomail.com; s=zohoarc; b=aX7iVj+ARsHPAqFUXYJ9SfqNLdeMoT5M3hQI2m81qJ2rB9/phBPx1FsIaF0U+8mgvTmVR9Hp9WJXIemJQhF9SdDxNRV9OY/7UFAMgFp62Lf4gZQjUDN2qBID1yQX9d9hK6n58OKwOzTnCcYqc9FDlaaDRadzybA7EFY2zftl1nA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1619212100; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=XjQqfxRXLrffcNZe16abKWHRwSnaXNhQgynpFSaHjpM=; b=BcRM/HY01synZkB0GYMz+jW4139/Y3qFepGfjrLZbRXdUUAe6TTapfz+ovfPT/zJFxwTAlN/jBuypaxNf4XU+sPxFCdFJra0xBAPT9P+bfnsnllOol4E0QEoPGrc6Sui222DbRVgdGmPz0w0/clBp3eOB6Cc7gnpujIL3vyFEDY= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1619212100920978.460040652228; Fri, 23 Apr 2021 14:08:20 -0700 (PDT) Received: from localhost ([::1]:54878 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1la32A-0002Ul-CC for importer@patchew.org; Fri, 23 Apr 2021 17:08:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57998) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1la2tf-0004GB-Ly; Fri, 23 Apr 2021 16:59:31 -0400 Received: from [201.28.113.2] (port=39564 helo=outlook.eldorado.org.br) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1la2ta-0002VD-Rn; Fri, 23 Apr 2021 16:59:28 -0400 Received: from power9a ([10.10.71.235]) by outlook.eldorado.org.br with Microsoft SMTPSVC(8.5.9600.16384); Fri, 23 Apr 2021 17:59:22 -0300 Received: from eldorado.org.br (unknown [10.10.70.45]) by power9a (Postfix) with ESMTP id 9F15B80139F; Fri, 23 Apr 2021 17:59:22 -0300 (-03) From: matheus.ferst@eldorado.org.br To: qemu-devel@nongnu.org Subject: [PATCH v3 2/2] tests/tcg/ppc64le: tests for brh/brw/brd Date: Fri, 23 Apr 2021 17:57:57 -0300 Message-Id: <20210423205757.1752480-3-matheus.ferst@eldorado.org.br> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210423205757.1752480-1-matheus.ferst@eldorado.org.br> References: <20210423205757.1752480-1-matheus.ferst@eldorado.org.br> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-OriginalArrivalTime: 23 Apr 2021 20:59:23.0036 (UTC) FILETIME=[898DC5C0:01D73883] X-Host-Lookup-Failed: Reverse DNS lookup failed for 201.28.113.2 (failed) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=201.28.113.2; envelope-from=matheus.ferst@eldorado.org.br; helo=outlook.eldorado.org.br X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fabiano Rosas , Matheus Ferst , gustavo.romero@protonmail.com, f4bug@amsat.org, qemu-ppc@nongnu.org, bruno.larsen@eldorado.org.br, alex.bennee@linaro.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Matheus Ferst Tests for Byte-Reverse Halfword, Word and Doubleword Signed-off-by: Matheus Ferst Tested-by: Fabiano Rosas --- tests/tcg/ppc64/Makefile.target | 7 +++++++ tests/tcg/ppc64le/Makefile.target | 7 +++++++ tests/tcg/ppc64le/byte_reverse.c | 21 +++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 tests/tcg/ppc64le/byte_reverse.c diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.tar= get index 0c6a4585fc..55c690c8ad 100644 --- a/tests/tcg/ppc64/Makefile.target +++ b/tests/tcg/ppc64/Makefile.target @@ -10,4 +10,11 @@ PPC64_TESTS=3Dbcdsub endif bcdsub: CFLAGS +=3D -mpower8-vector =20 +ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),) +POWER10_TESTS=3Dbyte_reverse +RUN_POWER10_TESTS=3D$(patsubst %, run-%, $(POWER10_TESTS)) +$(RUN_POWER10_TESTS): QEMU_OPTS+=3D-cpu POWER10 +PPC64_TESTS +=3D $(POWER10_TESTS) +endif + TESTS +=3D $(PPC64_TESTS) diff --git a/tests/tcg/ppc64le/Makefile.target b/tests/tcg/ppc64le/Makefile= .target index 1acfcff94a..517d290b1a 100644 --- a/tests/tcg/ppc64le/Makefile.target +++ b/tests/tcg/ppc64le/Makefile.target @@ -9,4 +9,11 @@ PPC64LE_TESTS=3Dbcdsub endif bcdsub: CFLAGS +=3D -mpower8-vector =20 +ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),) +POWER10_TESTS=3Dbyte_reverse +RUN_POWER10_TESTS=3D$(patsubst %, run-%, $(POWER10_TESTS)) +$(RUN_POWER10_TESTS): QEMU_OPTS+=3D-cpu POWER10 +PPC64LE_TESTS +=3D $(POWER10_TESTS) +endif + TESTS +=3D $(PPC64LE_TESTS) diff --git a/tests/tcg/ppc64le/byte_reverse.c b/tests/tcg/ppc64le/byte_reve= rse.c new file mode 100644 index 0000000000..53b76fc2e2 --- /dev/null +++ b/tests/tcg/ppc64le/byte_reverse.c @@ -0,0 +1,21 @@ +#include + +int main(void) +{ + unsigned long var; + + var =3D 0xFEDCBA9876543210; + asm("brh %0, %0" : "+r"(var)); + assert(var =3D=3D 0xDCFE98BA54761032); + + var =3D 0xFEDCBA9876543210; + asm("brw %0, %0" : "+r"(var)); + assert(var =3D=3D 0x98BADCFE10325476); + + var =3D 0xFEDCBA9876543210; + asm("brd %0, %0" : "+r"(var)); + assert(var =3D=3D 0x1032547698BADCFE); + + return 0; +} + --=20 2.25.1