From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178780747343469.44410688364792; Wed, 26 Aug 2026 22:11:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSNf-0002VK-Pw; Thu, 27 Aug 2026 01:10:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSNb-0002Tt-Pb for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:23 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSNa-00040u-At for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:23 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-3965d3d9ab8so1768543a91.3 for ; Wed, 26 Aug 2026 22:10:21 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807421; x=1788412221; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=m8Kte4PTJGY69G7A8K62LLjGu3iDEpCuzO0dR9OmEVQ=; b=FJIInTNh2TP8GWwmEZmr8Kt5gbFPIL1Q752KUzWt6TVfmz+Rw0uoUrJGDwsprIPztz z5aIVhp43MxLxPaiMBLEL1BJclY7+Ed/p/09qBpHQY230cldqvBkskpZ6ajqbnqiktjA I8u0RzFiY9oiVFgJx50Cl3DNo38HMJy86dWfxPvM30qxDxDGnjl9H2RiOzFywGd2DfRV ErBfV9KjUOCW++c6ofhAYqBK4TNVlFmrdtOICUEV0i9LavdriLqSHNJZlI4M6vc8rgO+ VnHDIMPEN0nz8gbx19aRUKk8BaMWnsnVTbgVuumM4y7kIseqKThV60A8uMK6ARwQECf0 RMZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807421; x=1788412221; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=m8Kte4PTJGY69G7A8K62LLjGu3iDEpCuzO0dR9OmEVQ=; b=ikns3ECd6AdvQ6XIVUr3IKya2wNvXq3ocNkSp2e3EOjKiA3yGoT00nDsn/IY5qYN9O aV4q3FcGEiztr/ARZCydZ8BjnXRR8AgUV3SFeffP4EDykMQ89kK1SU0krpBIPw3H5vlO WQKmykfPWBbThYzWjDQfKoWX7Yy+HVqaBN1G+oSENTg6VHHJuICSdeQoKb43qJp2gY8q EvK0htBI22RbOMxtWhxN78JLWMkkzFhqiUv0PVT4y3nCiCSIhHpqPOyOXIROqtGC/lKF bEfd79Q9mw55eflcSvZIF2FJ1zLJ87luFjoEyUH94dzPwjuC+7InNtq+why0hgyq4ccv QA6w== X-Forwarded-Encrypted: i=1; AHgh+Ro5BRxeHosblbK5uXQZj24YfXkncspGE7JKGkZMh2FHeCN47HKY/5OtCnnsL4tNOkGmOkMf2R8uZoBe@nongnu.org X-Gm-Message-State: AFuF++lvzHTCrJUMTYInhkJfvc9rq1zQ4ysSmK24RA92ym7i7Sb+jltk gdZlKokf1cfGl8x31aSg70FBxh9ax1D5x+mQiicmdoIShvc8eeOkBFr7 X-Gm-Gg: AR+sD10mVeq1qx6ucjQCkin3KIx23OWuYYVI/TWUeZzf5kahgBEj58Gt7L3p57e0ecv MP9MpaBz3DQ0P9x75qmNNjhJUq86QgVE4gKN047+MACqOr3wSsUywvqcZAWFb2kC5YKlNPp2obA NthbWMJgF+mAvvslg/VCvqAqj8BbTOkT+jqNsEn6XP9Xw8sDovtCSrmGzERmrBRYyYwZR/L91IV Mz8BIMTiG6bqgcupUkL7yMzV9Bg0lcOg/hCGg/OnprxaLcJNFl+HHk4MycQ32Zrh00csRSLjCII 2GCADNjgMzbAGKQdeh9ulpHE1+Tmy0WtfW16J5/XNdLzsXgCzM03xFUsnT6+dyQVyDZwDcwaXQN hlx4AoYHjKvsOrOoGfCvva7RMCkG7rm71TecDX09Pq/u4SXI/2aGEt/EqJtFiiCAirUaKy7b6ib Lq36ciLI0X0veepN+kMOZNJwD1JM/c3a5H5OPNayngHO0IlUe4WUxXygCnQX0trHSgZie5OQDZa R9aKusLxs0C15LcuTPfDQbmZD9DxwNYECV6zLAeawv4sBjM6lU5Eeeu8Zf3fmhB6fWqst4O6oU7 HpcgoGrsiBlmbFYDKBc+ X-Received: by 2002:a17:90b:2b4c:b0:38e:97f0:aa4b with SMTP id 98e67ed59e1d1-3966d4592fdmr26918579a91.13.1787807420908; Wed, 26 Aug 2026 22:10:20 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 01/12] tests/tcg/riscv64: Include stdint.h in semicall.h Date: Thu, 27 Aug 2026 14:39:40 +0930 Message-ID: <20260827050953.67184-2-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102c.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807476040158500 Content-Type: text/plain; charset="utf-8" semicall.h uses uintptr_t. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/semicall.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/tcg/riscv64/semicall.h b/tests/tcg/riscv64/semicall.h index 11d0650cb06c..2fdd322af91f 100644 --- a/tests/tcg/riscv64/semicall.h +++ b/tests/tcg/riscv64/semicall.h @@ -6,6 +6,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later */ +#include =20 uintptr_t __semi_call(uintptr_t type, uintptr_t arg0) { --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178780759365682.38541721940635; Wed, 26 Aug 2026 22:13:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSNm-0002aE-Lo; Thu, 27 Aug 2026 01:10:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSNj-0002Ym-GG for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:31 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSNg-00042T-Sz for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:31 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2ceab75934dso21397565ad.2 for ; Wed, 26 Aug 2026 22:10:28 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807427; x=1788412227; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5bkCYeMhO7/zC3uMA+VZFpZtFUWR2ZdudiB4U3VtuDk=; b=C+VFqoSJx6ySmnz0hGIs9tEavgHwK5algRgh3gVPwdmg90stCx/m5uyZtIlggQLrlU RZC+6EvcbCJ/wtCckrynkLhVf5laCuJcrZ70M9Am9qnDZXBciK+HVFegnuybonXsylvv dyAWuyoPn1jQarw/jQYGF294MER+lEeve1Cav19nuQQJ2QQhGByQEz9eyfRyyR7XFh+e 2GKH2Nf0wakedQ1bmxm7mn82jRFLflOnJiIA1x4rQNNiiZP5KQYZqnGsp1JHHgnlJJMW lii5PDNulC+u8kOGw6XAZbuME860QOAztej+2D6MIP477lMuHCCJ1ziWdw1Aup//hCy9 cUVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807427; x=1788412227; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=5bkCYeMhO7/zC3uMA+VZFpZtFUWR2ZdudiB4U3VtuDk=; b=ABPUkWbIRoguiV5ql22eghffhKXblQoFgcuWOUBCBO5C038y2YuY07BZkFiqkgD1Y2 DZ5iz9SZLx2ANegn0l1RGMwxQocXnSA9iry8fTme1pZb0l6qmWJNe5nndexrWN0q7/S5 9PRwSZdtZ2tnZ9gKdwbmsVh35GArv92inu9daIQ8tcjSyRBhN+PByTNDh6DqfdNxxkMg XFQByhUOwMi94dI/o8skxsvzGiHVyC/aaqeNIBUnAIU0u2Fj2O22aC823sbJJCSIAJD6 TewXlnkW2I+HdFlS4jyEUh/myMmLRELF/yZLjj2J9NWaE/+sELADMPZPqczklfLTinOQ 398A== X-Forwarded-Encrypted: i=1; AHgh+RqshEK4lSE1rpWAMaoy1O3zQoipyOQGwRTXuIQNsj/pVFIE9xiE9lOLTPxcKeGrHQ3tXgfaTtW8EmLY@nongnu.org X-Gm-Message-State: AFuF++lzo7K7uvsnijuFRWZePq17DJutapFTZaldVtKOO36jLm3sJerg eXpPmDOQ1pr6tK7V6gOIf13pi8xpHz0RtLH/gH1bBDoSL9p6LsCZfpnn X-Gm-Gg: AR+sD12NwYlFmKXDWRs6KTYJ8TU5Ko0Wx3+fgt4dltZJky2uJ/jouwyik/z1nqNJldj AJgf/NOozmzhWMEdPIvmvfMU/KINWANGcXWl5ctz7cxXMu4kZx+vw9GJ66Qy5I2h+Wwvl6/6lfm AIRmoOnQ+EYhqdCJC7A173yFp9RsaspNofK75F1dDuMM0pk01cfFibmXXedbZS2gaqvC0yYBfLA FROGDRP6pCaUgNSSGvWOQSwKE4zbLFwn0OuZiREd2IFdsGsioksQKoqfoSPNSBdsidnktiqspUe mTbq18G0Xs5/mT8FX7nwxheVZs8W+QTe1HB7Bchb+Z8oDUmbULiEqXAC6ty4eF8XoLm+VE1BIml ouJYSkoOTFZgxQGiV0to4iRcf+GErEIPnIAcSkOIar+9Jy0AFXYp9Vx0kBYk4fHxvgiEbnuRAYN uYi8Xy1vjUzCJpCg08NyKVx+ig7VDiAgOGRu8q9sHy53y6hFnkzZsZH28dPgRAxrUT45DzNJ39x o+4rFwyAIu5sbMHhLrOQOF9uL7XzUqbftJO+j2XjjaVuNwyb79XN7UIIHCBse6c1oQcGaXkMpBW 3FZNLO2fOvWgfLXkBxzvCIFeVcnOcag= X-Received: by 2002:a17:90b:4acc:b0:396:5c22:b1f1 with SMTP id 98e67ed59e1d1-3966d413283mr24086293a91.8.1787807427473; Wed, 26 Aug 2026 22:10:27 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 02/12] tests/tcg/riscv64: Clean up semicall.h inline asm Date: Thu, 27 Aug 2026 14:39:41 +0930 Message-ID: <20260827050953.67184-3-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=joel.stan@gmail.com; helo=mail-pl1-x635.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807594371158500 Content-Type: text/plain; charset="utf-8" Make __semi_call static inline so semicall.h can be included more than once in a program. Use .option push/pop rather than leaving norvc set for the rest of the file. Set the constraints for the asm block. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/semicall.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/tcg/riscv64/semicall.h b/tests/tcg/riscv64/semicall.h index 2fdd322af91f..34e87332de44 100644 --- a/tests/tcg/riscv64/semicall.h +++ b/tests/tcg/riscv64/semicall.h @@ -8,16 +8,19 @@ */ #include =20 -uintptr_t __semi_call(uintptr_t type, uintptr_t arg0) +static inline uintptr_t __semi_call(uintptr_t type, uintptr_t arg0) { register uintptr_t t asm("a0") =3D type; register uintptr_t a0 asm("a1") =3D arg0; - asm(".option norvc\n\t" + asm(".option push\n\t" + ".option norvc\n\t" ".balign 16\n\t" "slli zero, zero, 0x1f\n\t" "ebreak\n\t" "srai zero, zero, 0x7\n\t" - : "=3Dr" (t) - : "r" (t), "r" (a0)); + ".option pop\n\t" + : "+r" (t) /* Output: read as input, written as return va= lue */ + : "r" (a0) /* Input: arg0 */ + : "memory"); /* Clobber: may modify memory, depending on ty= pe */ return t; } --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807550072378.3640529955085; Wed, 26 Aug 2026 22:12:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSNr-0002bm-3v; Thu, 27 Aug 2026 01:10:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSNp-0002b1-MT for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:37 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSNm-00043m-M3 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:37 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-38dfe910e9dso1490513a91.3 for ; Wed, 26 Aug 2026 22:10:34 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807433; x=1788412233; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=vh4dj4cz7gBkDt8LT9ZzL10T8leVWvoTLVZlSAppwZk=; b=nKrjF2CmxV6/J4vzLD/eZEMk8OKrylIn77HQeL2ErRBC54UyiiUwyOVN71/mM+laf5 PcTshddp5Ju68GpEzGCuhQML2ELMz4Xfm521Rul+2jM/MEmElzHEB9PujfMQtu82Unf6 tGv3eCHDtzTwCPe5Q/elX4p6rL27ZD4hXVHYMLQnKEKf+5WRQeOD9GQWFcedzLQD26LJ Y1bS8VPwmeXv+virFE7kpD227MnRhKD6+nR3vqHazqLRev0zWlbsfnn4Mqmvm72OQZg2 /n5OygOHW4bf05jey8z/CeO/aX6UZVesOLLRVN6AeM7yFItAGmdxdblHUZZrMd+B0vmT TfDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807433; x=1788412233; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=vh4dj4cz7gBkDt8LT9ZzL10T8leVWvoTLVZlSAppwZk=; b=MBnHdtBv9NfgUHT2X+U+XzHUcHW9yE4vwRYcef8FWO634QKThRS+enwCHQwGqhvV54 IhtG4d3xcbD8/KLKM9niOOjWERqRnMtjMtHk3nWctgYtzqao0gIU6h32/vYq5brbKvQ4 vtYrXlaIipdwS/0t5HXYA72K19XOQ9KAJY4s3oEl6BgvDiYm3FFRnj8ONtm35vDJ7xPi /EOtV21I8h2fw7UWE4QKF+pf7h7k9FswAq5oLzorhAlt+/uSoEsytmZat5RZwHYl5OP+ qFDdga/9JuUbzv5NdgmZVl3laERTL6KXLb2zJzU3pg4D4TMYpCVKjx1sF+nIiKngnaJM oWeQ== X-Forwarded-Encrypted: i=1; AHgh+RrHB75P9PS+BM8GyNhTMHTh8ROOxBCXrzg3ADvbMUa2sV8WWTEcbhUzzB44VWlttaoKdD+XmBelswET@nongnu.org X-Gm-Message-State: AFuF++mK1UQ5YlzVb3jqcE6hLo3f4dkRcmFYZD77bwVQ4Xk5POEmJUPf PsimkTGFPxW/YtIiwYZcp8j3MWslnpWRhKGUI/Wkx8uTowSX0LJiIlSx X-Gm-Gg: AR+sD12sTWxihoF4w9Wk7Ep7YRc9GH3zs7+wa6fALByWgFc2PlG7b60DuC71WaMjw1z tVsLmIB2PErF7vIzlz/72Gb6f0gYHb9y0/oyFUIzD0Md5QmVZobCQvvsUmT1OiJk+6mbEBWys1U b1iGdWgSRCAj4hhbS2BmFmUfm0LtIfLW5ywpE5IT9a8kxhAF8o9MnbiMjosD4tTASotjmHUwWDa q/DWI8yel/v4loRyBogPYyf1m3MZ9t/Y6HLkQ/UpRutk463Q+3rfFWikkqdf+dinHWIerjiCloQ VYznTsQQdipbG69+bcPWQi0A8mi52FLtnrvGQEyUDZbhOGP0zjeo6hApUsYc7CotwQapaBxv3cC 7SW30tUFhuDBKUXh4WTE9bkTagO+D7qsqsaF5FHkcCmMJcSVVwLIi/wjHpmSDHSitr+B1FntXyG UFurZ/plfWTDS30qkVKhe+oGCJ0/zMsMOVMV7EhgWXoL1U7cxyR5vWP+eD7AOCGtZou5Xj2IwRY 5sa7AqKwwdbKdXZ14SsTwc89LglHIccbyjcp27EliHgCekn4mVvOypaJveuM6Vk/BmL4QIXM/Td pey9XyX2mFriURKNvYNA X-Received: by 2002:a17:90b:4a50:b0:392:b509:b1a5 with SMTP id 98e67ed59e1d1-3966d48c3e9mr22557303a91.14.1787807433348; Wed, 26 Aug 2026 22:10:33 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 03/12] tests/tcg/riscv64: Boot semihost tests with -bios none -kernel Date: Thu, 27 Aug 2026 14:39:42 +0930 Message-ID: <20260827050953.67184-4-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807552260158500 Content-Type: text/plain; charset="utf-8" Loading tests should conflict with the opensbi ROM, however the generic loader writes through the CPU address space which bypasses the ROM overlap check. Instead of depending on this happy accident, set -bios none to skip loading opensbi. This frees up the address space to load the test with -kernel, required by a future change that uses the same rules to run the multiarch tests for riscv64. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/Makefile.softmmu-target | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index 6a219c306c43..562ac9b0e0fb 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -14,36 +14,36 @@ CFLAGS +=3D -g -Og %: %.o $(LINK_SCRIPT) $(LD) $(LDFLAGS) $< -o $@ =20 -QEMU_OPTS +=3D -M virt -display none -semihosting -device loader,file=3D +QEMU_OPTS +=3D -M virt -display none -bios none -semihosting -kernel =20 EXTRA_RUNS +=3D run-issue1060 run-issue1060: issue1060 - $(call run-test, $<, $(QEMU) $(QEMU_OPTS)$<) + $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-test-mepc-masking run-test-mepc-masking: test-mepc-masking - $(call run-test, $<, $(QEMU) $(QEMU_OPTS)$<) + $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-test-minstret-ecall run-test-minstret-ecall: test-minstret-ecall - $(call run-test, $<, $(QEMU) -icount shift=3D1 $(QEMU_OPTS)$<) + $(call run-test, $<, $(QEMU) -icount shift=3D1 $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-plugin-doubletrap run-plugin-doubletrap: doubletrap $(call run-test, $<, \ $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS)$<) + $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-plugin-interruptedmemory run-plugin-interruptedmemory: interruptedmemory $(call run-test, $<, \ $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS)$<) + $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-test-crc32 comma:=3D , run-test-crc32: test-crc32 - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)xlrbr=3Dtrue $(QEMU_OPTS)$<) + $(call run-test, $<, $(QEMU) -cpu rv64$(comma)xlrbr=3Dtrue $(QEMU_OPTS) $= <) =20 # Zicclsm: misaligned load/store support. Assemble one source twice: the # default build expects every misaligned access to succeed (zicclsm=3Dtrue= ), @@ -61,11 +61,11 @@ test-zicclsm-off: test-zicclsm.S $(LINK_SCRIPT) =20 EXTRA_RUNS +=3D run-test-zicclsm run-test-zicclsm: test-zicclsm - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)v=3Dtrue$(comma)zfh=3Dtrue$= (comma)zicclsm=3Dtrue $(QEMU_OPTS)$<) + $(call run-test, $<, $(QEMU) -cpu rv64$(comma)v=3Dtrue$(comma)zfh=3Dtrue$= (comma)zicclsm=3Dtrue $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-test-zicclsm-off run-test-zicclsm-off: test-zicclsm-off - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)v=3Dtrue$(comma)zfh=3Dtrue$= (comma)zicclsm=3Dfalse $(QEMU_OPTS)$<) + $(call run-test, $<, $(QEMU) -cpu rv64$(comma)v=3Dtrue$(comma)zfh=3Dtrue$= (comma)zicclsm=3Dfalse $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-test-misa-w run-test-misa-w: test-misa-w --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807462940519.8626702809722; Wed, 26 Aug 2026 22:11:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSNw-0002fS-US; Thu, 27 Aug 2026 01:10:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSNv-0002e4-9V for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:43 -0400 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSNs-00044t-MC for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:43 -0400 Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-cbedbaba5fdso224856a12.0 for ; Wed, 26 Aug 2026 22:10:40 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807439; x=1788412239; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NK/DHlEW6EIk2cf6PmuhEA3oo9/juwtu7TT1AMLm/g0=; b=MN+PJrckJmToPiqCxsohwOw3lBpS5sIcJky5xGhi/Mpb9R3X/U3TBHdRVJjbB6+wLf zkQTLfdW38KjMbv86kEsaC8YvWoCDxBiKvfT4BFSRXUDzGhQP8L/NpjZmEoJOi11YCJl fV9kq4VK0Rq5c52LELAsTnFac8MXjXWHgn/e7rROyecQBySLecYiTIZm0Oqd6f81iFkC BaPOc6LHr5ejW2hZl5pbTKtM5xKFAW0f7Q0SA71guWyJIZqGrASchGhGyt1xRERphaE8 btwB/EGm6uaL7L654ZTr1MA/vJt5Z3oRZvEVg2UCF2G29KdLSqkT9+pIuwPg4ALvYcUh XHjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807439; x=1788412239; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=NK/DHlEW6EIk2cf6PmuhEA3oo9/juwtu7TT1AMLm/g0=; b=pM44pKFxY15g5k2kKEije/tKcZgNDKTEAR+J4NazHr3PMZ64yt+vsEb0Q8fOnwZ9W7 d3QnprBdExA2bIkCQgXQ7OlcPU5bNmr4ll8PDMuqSlIsEEi3O/HJoaNRNHFCVypsZ5Mh 8GjcbT2FxUATR45FXj+XiJ3WLyhgzw5bPr7E+Qpslcx601GPJu76RhcBOsNbygy/K0zH aD9g2wAirTeC6okdUVC0lq+UwmhsbMGBLoTg5Yp4c9FUjaKBRvg+xzxkR8Y+Z+3usQ4r bRRfO3yjUFMEQ9tIdi3wDbJYatzaz4aHoPLyqaNYxug07a4C0tNsBVk/yhuxktOkAuzf pWiA== X-Forwarded-Encrypted: i=1; AHgh+RryTKEzCYHLBG6IDXGAkNF+/HCPBbD8rc1v3wJNWqQQFAkwlN1jAWQRMzvWWJ71kmkrol2IVK6zhb9G@nongnu.org X-Gm-Message-State: AFuF++kpmAoXbqbx3fnrhdS7JIB2E8wdVybjY1t/amDn9u72bo9z8X5z 0CUdbH7pgtZBkyrqWhNKNeLq0LDjuhfRtRWVA1ZqGQP1mYhXRYDGCRz9 X-Gm-Gg: AR+sD11MRJgwFDn0qOH8MckDz7R3jQtJj6toNXNGwQmImavod4fwSekMScJBj8QlDuz XKZjT4nUf5YJrEfdd2VuLz2Gvqpiiy/LRkses63XqyWuRrVHAATvs+QXr3f1bc2uw/aclSTTtRt HuF1aNYpbBfpCZSbrq1woWnId8QCstKl+XgejH4QuCo5VgP47GPxRRaw4Wv8OMdEH65AcgKhxQw iDQB6B0FAippzLLCx0+6HispmXxUQkB12nSLi/G1bWrNsBxrhFD4se84Ux1vrP1afIymA/1LK45 +XBY/Yk+sXj2yMkfD2ZmxrOToRtLwLufyVFclkPGm6yaVysKMoj5NKZ4kpv4Jdc4fFqIDqBHvhL hpQbbLwYbj7/GN0GMEMXEU7lMS1p6wb2y9MEHhUq1cR7g66bqTWi4ANvQ3+9wwk18rHuJLKADe1 zA8L2FhWD6xA7iNsw4hKJs908hi1gqSJVMpJ+qANNExnSSl8bQz67Bz8ech0UER8c+uMVzzDj8f JNguo5L8SEwqC9zeRaKmgEv5N9wjf5kILb8HapoF05pGbQAVmbpZWOzLG0ubiEMaGxgBNMPt1YZ 2MafKi4otyDHCtetqdu4 X-Received: by 2002:a17:90b:3b4b:b0:381:11eb:d78e with SMTP id 98e67ed59e1d1-3966d8b6295mr25121340a91.14.1787807439137; Wed, 26 Aug 2026 22:10:39 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 04/12] tests/tcg/riscv64: Update semihosting linker script Date: Thu, 27 Aug 2026 14:39:43 +0930 Message-ID: <20260827050953.67184-5-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=joel.stan@gmail.com; helo=mail-pg1-x52d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807468283158500 Content-Type: text/plain; charset="utf-8" Keep the tests at the start of RAM but bound them with a MEMORY region, and use this to define __stack_top, which the multiarch system test boot code will use. Add more sections generated by the test binaries so they are placed explicitly. Split text and data into separate rx/rw regions, instead of one rwx region to avoid binutils warnings. A -kernel boot jumps to the lowest loaded address rather than the ELF entry point, so _start must be first in .text. Use a .text._start input section to make that explicit. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/semihost.ld | 47 +++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/tests/tcg/riscv64/semihost.ld b/tests/tcg/riscv64/semihost.ld index a59cc56b289a..eff3701e4a19 100644 --- a/tests/tcg/riscv64/semihost.ld +++ b/tests/tcg/riscv64/semihost.ld @@ -1,21 +1,46 @@ +/* + * Linker script for the RISC-V system tests + * SPDX-License-Identifier: GPL-2.0-or-later + */ + ENTRY(_start) =20 +MEMORY +{ + /* + * Virt machine, RAM starts at 2GB + * + * Separate sections for executable and writable data to avoid linker + * warnings. + */ + TXT (rx) : ORIGIN =3D 0x80000000, LENGTH =3D 2M + DAT (rw) : ORIGIN =3D 0x80000000 + 2M, LENGTH =3D 2M +} + SECTIONS { - /* virt machine, RAM starts at 2gb */ - . =3D 0x80000000; .text : { + *(.text._start) *(.text) - } + } > TXT + .rodata : { - *(.rodata) - } - /* align r/w section to next 2mb */ - . =3D ALIGN(1 << 21); + *(.rodata .rodata.*) + *(.eh_frame) + } > TXT + + .got : { + *(.got .got.plt) + } > DAT + .data : { - *(.data) - } + *(.data .data.* .sdata .sdata.*) + } > DAT + .bss : { - *(.bss) - } + *(.bss .bss.* .sbss .sbss.*) + } > DAT + + /* Stack grows down from the end of the data region */ + __stack_top =3D ORIGIN(DAT) + LENGTH(DAT); } --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807482604306.4695688030017; Wed, 26 Aug 2026 22:11:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSO2-0002iU-7g; Thu, 27 Aug 2026 01:10:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSO0-0002gJ-Bx for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:48 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSNy-00046D-EH for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:48 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-38e42560ebcso1715683a91.1 for ; Wed, 26 Aug 2026 22:10:46 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807445; x=1788412245; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Joidts5BLCkEz7fojZ/OWB99swVN9xOZwsIzW5vlcdM=; b=msYNNOGlTMe/8hQMjLdXCH1rIM2VnKZnjZAcyoMd4LmrWiijaX3ICBFqMJlv9cwgTe VYgKzvwHOZ2Eeq7Jf9er2wBfr025xKS53qOY/QEBMJpa8DiNodxRIKDGk0XY01JqNdL6 czVK88TXpMM0nTCjZgTfMOwT2ZbbTbAKaBt/28vemppIqkaFe6y8mg+HN/5763lZJueb 7RG9WRFUevLfrZycAfvD8OoglruczJktTaIE6hdu4G+QSOrnoftz4DsFnHtKLSffuVMJ EEYZ7qvecBZ5+LXdj8am/rwevSbL7p/mlkgiRhO08tjkgM4Tbi7sVF7yVa3Sxu8daNWT sE3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807445; x=1788412245; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Joidts5BLCkEz7fojZ/OWB99swVN9xOZwsIzW5vlcdM=; b=jRGOZL0oaeifHUXBTIaf9YLu+AuRfn+l8eVcm1TQs2wwnGF2TUIiX4G1loCkEvEIhP usThXK+EaeLDgjC/Ahl8wI0oG8UAHb10WjeqZr4eJkI/PFrkkR+RKQaKXmSDVArhhZf9 6zGSxvgSiHz0VvUYCGWpdLBT3NFNVqwRF+x2BtI0DG1N9UhY3bCh5/rHInzk+PK1Xa39 SLpdsN2+uvs4naQ8xeq8IMjZlnpfQXFbudz0OoQGrbttuvWkWWrk6jzoeYn/zc4xs3QF DsqSEDybXEb0Qu6XibmMPzdNw4ixrPqbl8hlZkWV/OeTWoFkRI8fAMKnAtqxdSR0+ghz +Ipw== X-Forwarded-Encrypted: i=1; AHgh+RqdSxEbGcvCDswahLgORmZ+parCygEPyF+Tgd4MqffKHU10mAJ6lx24OFvTrMgR1+7EZMfOtuAE+RZ+@nongnu.org X-Gm-Message-State: AFuF++ksPE83hSD9aFtgzEOKb0xS7fszLZPepg+kFp/X1gdspWRGh2HB TDtbW4zmP5hWnNNw1pMUCY53w32ZBiTiwIY/BtKHZavGkxe9XIPzAkFN X-Gm-Gg: AR+sD11bI1xnxpICpfnVEkULu7vz8jbb3YdftRbkJ8/V6MGfQe9M0J393wGvroorI/b 6Aa9ejZqvMGdGljkwSH1LSgUyTeFRsRe3gnViV/RU/bs5PvCQkCfNRPbItzLUu3IIwP5nOEeC05 U7y+9m50ilmxqHEpvBzQ+ld3/c3fn17Ut7xG4iI4ATmnpSbOu2nx7c5iv0wLygdtxECmCOYUyH9 5QglMDXPmK1VhICPJ/s7AaNSz2ni1y9bb2huNn8h1TKK3JjcS0LkIx1VnVbG/Sr0tinFRrc75aT AllGbTScjmRsrkjzTvCMfxr0Moqb289QM/f4+eXtqEAdbEGEUNv+Y1e2tyCIEamg+j4xnu68jwn Ab3Sgsssb7NK0PeSgARCustPSNjBzoeeD10plTX8gWmBhEENOfLFthQkrp93iCY3sKCG2wgT6TV DaPa38qfp3XSdjCqVA1lF0BoUsraZHYe0LHgj/5pFCAImTcLEsV6iBfufY8wSuJt6k4Byqz9uMO 6Q86vbIKCydfcJAGflQRgpLcekUt3+tm/Uao+7dBGzWPcvyYyt8ANahDMztxuKQOQlgO/jC3SlK osqzAUwDoRg5ZhrK6ZxS X-Received: by 2002:a17:90b:1dce:b0:366:10f1:3d91 with SMTP id 98e67ed59e1d1-3966d13eb80mr25058039a91.1.1787807445036; Wed, 26 Aug 2026 22:10:45 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 05/12] tests/tcg/riscv64: Rework rules for semihost tests Date: Thu, 27 Aug 2026 14:39:44 +0930 Message-ID: <20260827050953.67184-6-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102c.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807483991158500 Content-Type: text/plain; charset="utf-8" Rework the makefile so the semihost tests can share run rules, with individual tests overwriting QEMU_CPU or providing more options via QEMU_EXTRA. The program output now comes from the test framework's output chardev instead of stdout, but there is no functional change as none of the tests use semihosting putc. Add quiet-command to the compile and link rules so builds print CC/LD lines like the run rules. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/Makefile.softmmu-target | 94 +++++++++++------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index 562ac9b0e0fb..f2850a194084 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -9,67 +9,67 @@ LINK_SCRIPT =3D $(TEST_SRC)/semihost.ld LDFLAGS =3D -T $(LINK_SCRIPT) CFLAGS +=3D -g -Og =20 +# Used by riscv64 tcg tests and shared 'multiarch' tests +QEMU_CPU =3D rv64 +QEMU_BASE_MACHINE =3D -M virt -cpu $(QEMU_CPU) -display none -bios none +QEMU_BASE_ARGS =3D -semihosting-config enable=3Don,chardev=3Doutput +QEMU_OPTS +=3D $(QEMU_BASE_MACHINE) $(QEMU_EXTRA) $(QEMU_BASE_ARGS) -kernel + +# These tests provide _start and use semihosting directly. +# -kernel entry point is the lowest loaded address, not the ELF entry +# point, so _start must remain first in .text. +RISCV64_TESTS =3D issue1060 test-mepc-masking test-minstret-ecall \ + doubletrap interruptedmemory test-crc32 \ + test-zicclsm test-zicclsm-off test-misa-w + +# -Wl,--noexecstack to avoid linker warnings for .S files %.o: %.S - $(CC) $(CFLAGS) $< -Wa,--noexecstack -c -o $@ -%: %.o $(LINK_SCRIPT) - $(LD) $(LDFLAGS) $< -o $@ + $(call quiet-command, \ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -Wa$(COMMA)--noexecstack -c -o $@, C= C, $@) =20 -QEMU_OPTS +=3D -M virt -display none -bios none -semihosting -kernel +%.o: %.c + $(call quiet-command, \ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -c -o $@, CC, $@) =20 -EXTRA_RUNS +=3D run-issue1060 -run-issue1060: issue1060 - $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<) +$(RISCV64_TESTS): %: %.o $(LINK_SCRIPT) + $(call quiet-command, $(LD) -T $(LINK_SCRIPT) $< -o $@, LD, $@) =20 -EXTRA_RUNS +=3D run-test-mepc-masking -run-test-mepc-masking: test-mepc-masking - $(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<) +TESTS +=3D issue1060 test-mepc-masking test-minstret-ecall test-crc32 \ + test-misa-w test-zicclsm test-zicclsm-off =20 -EXTRA_RUNS +=3D run-test-minstret-ecall -run-test-minstret-ecall: test-minstret-ecall - $(call run-test, $<, $(QEMU) -icount shift=3D1 $(QEMU_OPTS) $<) +# Tests can provide a custom kernel command line here +run-test-minstret-ecall: QEMU_EXTRA =3D -icount shift=3D1 +run-test-crc32: QEMU_CPU =3D rv64,xlrbr=3Dtrue +run-test-misa-w: QEMU_CPU =3D rv64,x-misa-w=3Dtrue,c=3Dtrue,v=3Dtrue +run-test-zicclsm: QEMU_CPU =3D rv64,v=3Dtrue,zfh=3Dtrue,zicclsm=3Dtrue +run-test-zicclsm-off: QEMU_CPU =3D rv64,v=3Dtrue,zfh=3Dtrue,zicclsm=3Dfalse + +# Zicclsm: misaligned load/store support. Assemble one source twice: the +# default build expects every misaligned access to succeed (zicclsm=3Dtrue= ), +# the -DZICCLSM_DISABLED build expects every one to trap (zicclsm=3Dfalse). +test-zicclsm.o test-zicclsm-off.o: CFLAGS +=3D -march=3Drv64gcv_zfh +test-zicclsm-off.o: CFLAGS +=3D -DZICCLSM_DISABLED +test-zicclsm-off.o: test-zicclsm.S + $(call quiet-command, \ + $(CC) $(CFLAGS) $< -Wa$(COMMA)--noexecstack -c -o $@, CC, $@) =20 EXTRA_RUNS +=3D run-plugin-doubletrap run-plugin-doubletrap: doubletrap $(call run-test, $<, \ - $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS) $<) + $(QEMU) -monitor none -display none \ + -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ + -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ + $(QEMU_OPTS) $<) =20 EXTRA_RUNS +=3D run-plugin-interruptedmemory run-plugin-interruptedmemory: interruptedmemory $(call run-test, $<, \ - $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS) $<) - -EXTRA_RUNS +=3D run-test-crc32 -comma:=3D , -run-test-crc32: test-crc32 - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)xlrbr=3Dtrue $(QEMU_OPTS) $= <) - -# Zicclsm: misaligned load/store support. Assemble one source twice: the -# default build expects every misaligned access to succeed (zicclsm=3Dtrue= ), -# the -DZICCLSM_DISABLED build expects every one to trap (zicclsm=3Dfalse). -ZICCLSM_MARCH =3D -march=3Drv64gcv_zfh -CLEANFILES +=3D test-zicclsm test-zicclsm-off - -test-zicclsm: test-zicclsm.S $(LINK_SCRIPT) - $(CC) $(CFLAGS) $(ZICCLSM_MARCH) $< -Wa,--noexecstack -c -o test-zicclsm.o - $(LD) $(LDFLAGS) test-zicclsm.o -o $@ - -test-zicclsm-off: test-zicclsm.S $(LINK_SCRIPT) - $(CC) $(CFLAGS) $(ZICCLSM_MARCH) -DZICCLSM_DISABLED $< -Wa,--noexecstack = -c -o test-zicclsm-off.o - $(LD) $(LDFLAGS) test-zicclsm-off.o -o $@ - -EXTRA_RUNS +=3D run-test-zicclsm -run-test-zicclsm: test-zicclsm - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)v=3Dtrue$(comma)zfh=3Dtrue$= (comma)zicclsm=3Dtrue $(QEMU_OPTS) $<) - -EXTRA_RUNS +=3D run-test-zicclsm-off -run-test-zicclsm-off: test-zicclsm-off - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)v=3Dtrue$(comma)zfh=3Dtrue$= (comma)zicclsm=3Dfalse $(QEMU_OPTS) $<) + $(QEMU) -monitor none -display none \ + -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ + -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ + $(QEMU_OPTS) $<) =20 -EXTRA_RUNS +=3D run-test-misa-w -run-test-misa-w: test-misa-w - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)x-misa-w=3Dtrue$(comma)c=3D= true$(comma)v=3Dtrue $(QEMU_OPTS)$<) +CLEANFILES +=3D interruptedmemory doubletrap =20 # We don't currently support the multiarch system tests undefine MULTIARCH_TESTS --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807474920362.4347654731605; Wed, 26 Aug 2026 22:11:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSO9-0002o1-3m; Thu, 27 Aug 2026 01:10:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSO7-0002l3-Dp for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:55 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSO4-00047a-HO for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:55 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-38dfe7eb825so1634133a91.0 for ; Wed, 26 Aug 2026 22:10:52 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807451; x=1788412251; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=H3JPY4jlJyqqJXUD7/t3iwMSegC7rW8M+Jxwt7XCKQo=; b=Y2u1fXWp0uRUb0/n1Mcw6zxj9jxjP6ov8nvwEWgJaYrbFN7IO0CCd/aZk0CDCuvh+9 3Qo1bi83BRO4gd03beP12+S2kqKjYJE72yuZGvzgbqNLtxGAExVE9FTetwfrOHcADl7o /qn9N19WEfp0RYLMpyypCY8VqeKnIiiwN2XJZ59HAGS0sE3h/xt9kpuWeUM20nYbL9Ig Rwy8LMtnVXseLtUZc3TxYiG9f/ZM/tHQCcybaYxesA4l5bLTIbR4mJXZlkzS21kTiSOh jx0udSUc5C/CBOvD8fpNOOEoYZKzQZXwFltofR6lm5U8ywrQMSRUFjSzTtuGjV34KUQ9 rFmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807451; x=1788412251; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=H3JPY4jlJyqqJXUD7/t3iwMSegC7rW8M+Jxwt7XCKQo=; b=D+EHEZ1L0nbzoVP4nxjG24HAoiaho+1Vc31gyHQFzrcfiNT5iZNIZBR8R4nT8czEtf ddMf/QDKQPBomqqbnIjOlekQjj/3yZWJAJyKFEQ3hM7G2BfU1wg4QMzVUhMZeGR9Jsmj JAgfbTYnp1HXCfdlC9jRa60wCt/dIEzNkllLO24+jCzeGVHOTYfvjycFIYQ6kyVNcl0B tHlz/c/K5O7y0HVfle+4wgiAv/YJec3lOv7yrG9K9LQC391gM71t+09ySL+Dg7O60u5y tkZElLAymMGTinkkM5c1XiLq3LxcAaD9UbdGtEqyNPTlVd3rcj96opF1lcj7s2pV9SEL H2PA== X-Forwarded-Encrypted: i=1; AHgh+RrKcqmBIDgAogqpoe1asDLfF/SyyjDDF02teLWKlT0sxDKHhOIVZRfzdJECf6DEDz20KMJ/wB6m2FB/@nongnu.org X-Gm-Message-State: AFuF++k/awJm9Y1ryNas5hk0Pjzpt/Ix2V7CTJugzR4zAKDOoJLdbVuC 48VSgwqvJMKII4TVC1bpHuGK8zafyDTceaah2Hn/yMV2t2ez/n2n0slg X-Gm-Gg: AR+sD12IIgI9hsr6peKTs1Apo8RtMcatoS+jdX5UCMKrZl03fsrENm+R5SHsR1Pga0r 87QlNXumn0tsjJmsfYg9hsr5cr52PUpgqI0b5EIPxCQ+TLRE6L2mN9KrGb2rGcovISwLsoio+wq UlejyvHTAsuU9VT1yH3xtg4Sd/j3dn/CqdPVlOqDpMUJunG7aq1uFBJE7gO1Kumv4e8dsWQsUPC 83eFgAFuvO+hqvEKwit48s6eeEXZoznCUIjEqD4A9Lqp9e24I3Bfc90+wEfEPTDgU6a4+VjAHty f7ba+/rl1M/pxNhyuN5F5XYIqQ1VhQxHTxuYLbImlhwX2jNXN6MdF61if/0CuqY9WlbPKJYjBFs 8pjiidV7FomYtwqOY45vRgmNLR2TCMLWVTbCbp55FzG15PYQeESNBmLP6VWNTniy1Y3Cdbagfdp FbHdKk7+g7+WkWx7RetPWozEvB1GwOLoEOD2eXgil8fpPyv5DZGlXWUyhtxa1NVjx2qnPUCmPT5 zfxuTcZ9foKZpWz5tbSAQnWw3YXNQeKCV0abCyGE+bkfZ8uEG5uzwnP51mOLnE4AchN2VR5j8WI DFtg5Q0OTHjx3uFJXrWw X-Received: by 2002:a17:90b:2604:b0:38e:ad9d:1151 with SMTP id 98e67ed59e1d1-3966d18ec9dmr25886586a91.4.1787807450883; Wed, 26 Aug 2026 22:10:50 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 06/12] tests/tcg/riscv64: Enable multiarch system tests Date: Thu, 27 Aug 2026 14:39:45 +0930 Message-ID: <20260827050953.67184-7-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807476107158500 Content-Type: text/plain; charset="utf-8" Add the boot code and semihosting helpers needed to run the multiarch system tests on riscv64, and add riscv64 to MULTIARCH_SOFTMMU_TARGETS. The aarch64 makefile was used as a guide for the make rules. boot.S does not clear bss as the libmem plugin test would count the stores and fail with a mismatch. Instead the BSS is described as PT_LOAD, so the QEMU ELF loader fills the region with zero, the same as aarch64 and loongarch64. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/system.c | 30 +++++++++++++++++ tests/tcg/Makefile.target | 2 +- tests/tcg/riscv64/Makefile.softmmu-target | 40 ++++++++++++----------- tests/tcg/riscv64/boot.S | 23 +++++++++++++ 4 files changed, 75 insertions(+), 20 deletions(-) create mode 100644 tests/tcg/riscv64/system.c create mode 100644 tests/tcg/riscv64/boot.S diff --git a/tests/tcg/riscv64/system.c b/tests/tcg/riscv64/system.c new file mode 100644 index 000000000000..08196a540f96 --- /dev/null +++ b/tests/tcg/riscv64/system.c @@ -0,0 +1,30 @@ +/* + * RISC-V semihosting support for multiarch test suite + * + * Copyright 2026 Tenstorrent USA Inc + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "semicall.h" + +#define SYS_WRITEC 0x3 +#define SYS_EXIT 0x18 + +#define ADP_Stopped_ApplicationExit 0x20026 + +void __sys_outc(char c) +{ + __semi_call(SYS_WRITEC, (uintptr_t)&c); +} + +void _exit(int code) +{ + const uintptr_t args[2] =3D { ADP_Stopped_ApplicationExit, (uintptr_t)= code }; + + __semi_call(SYS_EXIT, (uintptr_t)args); + + /* Hang if QEMU fails to exit */ + while (1) { + asm volatile("wfi"); + } +} diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target index 1b83824ff4e7..d4dd0fec650d 100644 --- a/tests/tcg/Makefile.target +++ b/tests/tcg/Makefile.target @@ -129,7 +129,7 @@ else EXTRA_CFLAGS +=3D -ffreestanding -fno-stack-protector =20 # We skip the multiarch tests if the target hasn't provided a boot.S -MULTIARCH_SOFTMMU_TARGETS =3D i386 alpha aarch64 arm loongarch64 s390x x86= _64 +MULTIARCH_SOFTMMU_TARGETS =3D i386 alpha aarch64 arm loongarch64 s390x x86= _64 riscv64 =20 ifneq ($(filter $(TARGET_NAME),$(MULTIARCH_SOFTMMU_TARGETS)),) -include $(SRC_PATH)/tests/tcg/minilib/Makefile.target diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index f2850a194084..82e8fe2664b0 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -5,9 +5,11 @@ TEST_SRC =3D $(SRC_PATH)/tests/tcg/riscv64 VPATH +=3D $(TEST_SRC) =20 +CRT_OBJS =3D boot.o system.o + LINK_SCRIPT =3D $(TEST_SRC)/semihost.ld -LDFLAGS =3D -T $(LINK_SCRIPT) -CFLAGS +=3D -g -Og +LDFLAGS =3D -Wl,-T$(LINK_SCRIPT) -static -nostdlib $(MINILIB_OBJS) -lgcc +CFLAGS +=3D -g -Og $(MINILIB_INC) =20 # Used by riscv64 tcg tests and shared 'multiarch' tests QEMU_CPU =3D rv64 @@ -53,23 +55,23 @@ test-zicclsm-off.o: test-zicclsm.S $(call quiet-command, \ $(CC) $(CFLAGS) $< -Wa$(COMMA)--noexecstack -c -o $@, CC, $@) =20 -EXTRA_RUNS +=3D run-plugin-doubletrap -run-plugin-doubletrap: doubletrap - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS) $<) - -EXTRA_RUNS +=3D run-plugin-interruptedmemory -run-plugin-interruptedmemory: interruptedmemory - $(call run-test, $<, \ - $(QEMU) -monitor none -display none \ - -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ - -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS) $<) +ifeq ($(CONFIG_PLUGIN),y) +EXTRA_RUNS_WITH_PLUGIN +=3D run-plugin-doubletrap-with-libdiscons.so \ + run-plugin-interruptedmemory-with-libdiscons.so +endif =20 CLEANFILES +=3D interruptedmemory doubletrap =20 -# We don't currently support the multiarch system tests -undefine MULTIARCH_TESTS +# Multiarch tests +TESTS +=3D $(MULTIARCH_TESTS) +EXTRA_RUNS +=3D $(MULTIARCH_RUNS) + +.PRECIOUS: $(CRT_OBJS) + +# Build and link the multiarch tests +%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) + $(call quiet-command, \ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) $(CRT_OBJS), CC, $@) + +# Default is zicclsm=3Dtrue, so misaligned accesses must work +memory: private CFLAGS +=3D -DCHECK_UNALIGNED=3D1 diff --git a/tests/tcg/riscv64/boot.S b/tests/tcg/riscv64/boot.S new file mode 100644 index 000000000000..b403549345a1 --- /dev/null +++ b/tests/tcg/riscv64/boot.S @@ -0,0 +1,23 @@ +/* + * RISC-V boot code for multiarch test suite + * + * Copyright 2026 Tenstorrent USA Inc + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define MSTATUS_VS 0x00000600 +#define MSTATUS_FS 0x00006000 + +.section .text._start + .global _start + .type _start, @function +_start: + /* Enable FPU and vector unit */ + li t0, (MSTATUS_FS | MSTATUS_VS) + csrs mstatus, t0 + la sp, __stack_top + call main + +exit: + /* exit with main()'s return code */ + call _exit --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807463560966.852835815813; Wed, 26 Aug 2026 22:11:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSOD-0002yv-Cn; Thu, 27 Aug 2026 01:11:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSOB-0002wi-Q0 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:59 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSOA-00048o-1D for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:10:59 -0400 Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-3964dfb5a69so1800126a91.1 for ; Wed, 26 Aug 2026 22:10:57 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807457; x=1788412257; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=0gZE6drI4G2uqSpEewl+0fUTFIgcDNV+tI0N/a53trk=; b=WGIDxJwsFYm0VbnaBrtURmXXKDg6ZHTmxNVfvZ63FUlzGr1IX8keGQ1Zh1GnzhSIYh Yt8bpP0NqUJJOJIW5p79R0gp7SohLXNCI6OS9PXOOgYjSpHwwDaqTetPz2/SInweZU63 5IfJ8ZmJ7ZiLLZikku1e/ac7d1ljlKZLtyRs0LvjENUgMA72yQiWRWBwudHLODX/Hecx SbYu8TPEkaQdIb+R9AQe7HNuVb98fK9JKbpBHWWP2rE8JKFIIaKq6mgk4H8WkUzR2HNB h5oQFWeuzG+KidEOytj/Sz5TAMPiTSWkrkrvXnf16xaMyqxatEYd+QoU+qlubaEw2z+n LrJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807457; x=1788412257; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0gZE6drI4G2uqSpEewl+0fUTFIgcDNV+tI0N/a53trk=; b=sP78C5VQSNdmVzZn95EmNOtZjkRXD6mn3Fe5pvf2nCFqUZkpmsQ3hbwYVizoqSa4AG LHmU+yvAtQWdhBr6JwJ+6WVBot0VxuGX/XR2tt29tPgE7YQbDzSD04fpWP9vp9IQ5Pq3 xDOy3xhrfUpWuZNs8xVMOtbVo2UznLl9BjkrVIzabzU+yV3uublJAGuwatvQ+hRA0jfA IclpUPYuunEBilraT0VH+K7/3RljgotvXuL3Q0V+qcwavliTPu9YFC8LUA3Qer85qwCm 9LFQrI9z1blmi3Hszvc4H/9Quhp5DOt73FVcm+PasdYIPaEeB0gfsWDDwP8Xy4epq89S fWJA== X-Forwarded-Encrypted: i=1; AHgh+RrSBtNcgYV467AfBiiKuBttahT/T5Kphv/fZSl+pQG340VaXd/XFFfd+UcsH9DNX8o/jG/uPh296NoL@nongnu.org X-Gm-Message-State: AFuF++nFBKKp5Jv9TcRKGM0MJek0XvzpKwVPYGaLfO+MbEr799JmSuFY 7vBDdxylipMYbB/6CyUzmHWormxqIOaiz4GP3Y+xcbG2g4libL6ORf2U X-Gm-Gg: AR+sD13VKD+2Rx09r71ZKc0ougmgx+DLSphBpyBHycnHZ71akGz19JeeGfV9jsypPsH tzB2ExDwsf3N5jc6LB6a1MdaOF0bSILyxdrV0LtllOJpncTMcSci2Abx5dk+O0kQBJQvhtVUMuv me0DoHnKyrnkrv1zd7PHDm7Zt7eueRSXVzsPC/9WONZleOXogCiiquRp2AjaAn1N7kQOqN2DNjd xO+cii+9yZqa4n0VZyZlDZm3fOF02I/liUFL0Re9n00WpCC+9rqQhDOpJy7my86UF/DnCyIySeA 9Qi7QfpBINtvlcWMfvsy9qWlxjtRlcguN+mq9b1InPtDNbRBeuikFtdqadtq+qwQau+S2aJtKAN o6Bk2zucWgaw4mxDcihqiDZBzQZZp9BdZBKDlOZxvtxc9Nt6/oy4KMTu++ZG/e5bP1kxSSYEm1s kSIXbsGydTCNmvEPlaAXHOVayWELfE1UNgvH9RCNCoQMuztNM9ZTqGOCKNIcm2ACkdD8NQT0z4I 3pEwGlXSFHM3oUEdQ1TeBBF7PWyv+fq50VfDueciKWpkEQzx8XjL5u+ODRD+4GbpNjDlx3mbkcE 856A9JW8bpJCbTlwXQzQ X-Received: by 2002:a17:90b:2792:b0:395:4290:46e0 with SMTP id 98e67ed59e1d1-3966d20cd6fmr25206321a91.5.1787807456662; Wed, 26 Aug 2026 22:10:56 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 07/12] tests/tcg/riscv64: Enable memory record and replay test Date: Thu, 27 Aug 2026 14:39:46 +0930 Message-ID: <20260827050953.67184-8-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102f.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807468474158500 Content-Type: text/plain; charset="utf-8" Run the memory test under icount record and replay, copied from aarch64. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/Makefile.softmmu-target | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index 82e8fe2664b0..3f2a8ed16142 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -75,3 +75,22 @@ EXTRA_RUNS +=3D $(MULTIARCH_RUNS) =20 # Default is zicclsm=3Dtrue, so misaligned accesses must work memory: private CFLAGS +=3D -DCHECK_UNALIGNED=3D1 + +# Simple Record/Replay Test +.PHONY: memory-record +run-memory-record: memory-record memory + $(call run-test, $<, \ + $(QEMU) -monitor none \ + -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ + -icount shift=3D5$(COMMA)rr=3Drecord$(COMMA)rrfile=3Drecord.bin \ + $(QEMU_OPTS) memory) + +.PHONY: memory-replay +run-memory-replay: memory-replay run-memory-record + $(call run-test, $<, \ + $(QEMU) -monitor none \ + -chardev file$(COMMA)path=3D$<.out$(COMMA)id=3Doutput \ + -icount shift=3D5$(COMMA)rr=3Dreplay$(COMMA)rrfile=3Drecord.bin \ + $(QEMU_OPTS) memory) + +EXTRA_RUNS +=3D run-memory-replay --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807490682432.0932863400009; Wed, 26 Aug 2026 22:11:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSOK-00038i-2j; Thu, 27 Aug 2026 01:11:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSOI-00037M-JV for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:06 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSOF-0004A6-UU for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:06 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2d530328efbso3210845ad.0 for ; Wed, 26 Aug 2026 22:11:03 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.10.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807462; x=1788412262; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=0rPIO/eJ4fCcyXhjl8aHWuRIEQEoWUmTA8VQtKKUv40=; b=n2Lyj2rZXnhOCRDT/rYsGgsRP8Vg2zFrx1UkAtmTGvMONU8fxYTbW5LvUgU0DEPZgp yd1NGM3adHzHfWaeDntlMnsNrNmTQwVxcbDy4VwBVirpxS15ZKwSX93AG5kicp1XHY4L 3JXqFwuV7ooohhOTY8BiA/RSsZZNOU7BNd9kXqUalUnSmyCc7d0odRsNxnnvJHtxtHT4 UePvb/9LZjr9/Skn9HbZjMQd35/sPkdsPuq82i+6pLXI472kfj+X0QHxg1Yn6j4nylcd IxPusnRwcPhT3Z1dkd+4aueNZ028gD4alJBXAm1nfZ0/Q9pxAioVjE/WTNdDXg58uOSO abJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807462; x=1788412262; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0rPIO/eJ4fCcyXhjl8aHWuRIEQEoWUmTA8VQtKKUv40=; b=TfQAjnpQC8XQebLCyn/R1ywoDYubCZ+XNZJ/sGPuG1/vvUHiXFopX9uv5phx4eihxd VLU3D0sg71m3S2t9t6oiX266lQxIEn8DLlEceEwMzxo7ykb8ec0Sc91EKUSM3mMcukqy E+2uGoNvc8SoMeaCWtUdvVG+/enZii7LvZqDfZhjzTvquGZmUmd0FBPy6yCyPpt+iHLx nDOmwmNqEgnOXJwScw79xkHsBWg8CHidVuflyoOA157P8Aj8MjFBttb+d3RKb5+MZGwN WcWoAjr4ooxrxJZ/Y/iySfU59b6t0gwMFb/q5dYaF/IB0OYw3VmjOfRIoXXRuIfKMnVg /wSA== X-Forwarded-Encrypted: i=1; AHgh+RouBN0vdBpsrExsjKTySr3tTDYlQshsvmlpD/0My4dZKsLy3C7WpCtf0F/7CsHKOS7BoUj+D0L/SoZ0@nongnu.org X-Gm-Message-State: AFuF++kLiYB3RO6ngq7JUx3Yv1GRs6b8JNjBLl41jymO3RiU5HMghfNY fZVt5ltY66CHqwUGR7ROtbB5JicgOHy1kO3JoX92JCv4mMasqOv0ojwB X-Gm-Gg: AR+sD112B9LYC8K+n8h1Oc6w8dubnV5d2oplKmzajv6ji97cGS8qLU2sHoiQ3hR5yxC BmDitJw6oEvujAieuytciwU2vE5UGPImzd6znrZCEjl2Ee2t/foumdQDLv+vEMIV/9uRkOY0kp1 aOXHSmIFxee/UP/hVT2/PlHkn9/VbeAZqIjJwfofxb6z5kaGZ3zud79kBeTQ1x58EKi3PphpyDG jGe+hEtvB7q/XzQZDwfUFM/G4Hwy1N7jpBv+IrGl3zxvkvifWAUcNmRFRNoFHM3uM9Wt/azqRN2 FOYBp1agCCywxdgJe8Pj4NGR/ZpF8CjtRY33GVRg3HUtP/kAm/jPGDOELNJxdOylHn6Xhn2Uq12 f2bSmCUmKlCjC/FA8fl/e2MlEhu/muZcda+RAJE8CkXh4eQktn2t6zk3OYoz4E4VK99poHh5VwP 49BPtCV2zdbzmaSj1+2I/Go335fIcaYRxEZ3ppx7v93UJTljJg3YbmS6Igd1UYknsD3ST3RdfXl SycMaqrlgoc22rSHPaViGjT6eUUwh5oJkeh7cXBZ36oYqhCwHYiRzNpN25Ec4Lg6Yk5CQoRmSGr wxG0nDTd3noLDNfoUywO X-Received: by 2002:a17:90b:3cc3:b0:393:194d:5366 with SMTP id 98e67ed59e1d1-3966d85de70mr26456394a91.10.1787807462371; Wed, 26 Aug 2026 22:11:02 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 08/12] tests/tcg/aarch64: Don't leak memory-sve CFLAGS Date: Thu, 27 Aug 2026 14:39:47 +0930 Message-ID: <20260827050953.67184-9-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62a; envelope-from=joel.stan@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807492044158500 Content-Type: text/plain; charset="utf-8" The CFLAGS are added to prerequisites, so if memory-sve causes a build of printf.o and boot.o, they will be compiled with -march=3Darmv8.1-a+sve -O3, and the executables that link printf.o and boot.o after that will also get SVE instructions. https://www.gnu.org/software/make/manual/html_node/Suppressing-Inheritance.= html By marking the rule 'private' printf.o and boot.o won't be built with SVE, which avoids SVE for other binaries, and is okay for the memory-sve case. Signed-off-by: Joel Stanley Acked-by: Alistair Francis --- tests/tcg/aarch64/Makefile.softmmu-target | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/= Makefile.softmmu-target index 3f30be6c5d63..196a2afa50ee 100644 --- a/tests/tcg/aarch64/Makefile.softmmu-target +++ b/tests/tcg/aarch64/Makefile.softmmu-target @@ -51,7 +51,7 @@ memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 memory-sve: memory.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) boot.o =20 -memory-sve: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 -march=3Darmv8.1-a+sve -O3 +memory-sve: private CFLAGS+=3D-DCHECK_UNALIGNED=3D1 -march=3Darmv8.1-a+sve= -O3 =20 gpc-test: gpc-test.c $(LINK_SCRIPT) vector_log_boot.o $(MINILIB_OBJS) $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) vector_log_boot.o --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807535834257.71384904253784; Wed, 26 Aug 2026 22:12:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSOQ-0003Ye-84; Thu, 27 Aug 2026 01:11:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSOO-0003J0-1G for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:12 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSOL-0004BW-SS for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:11 -0400 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-38e07ebd263so1455468a91.1 for ; Wed, 26 Aug 2026 22:11:09 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.11.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807468; x=1788412268; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7MocgzezO4mcFVyQD9N6vjeWFD6TnB7x7CFs1bu2VXk=; b=aoXg35RJWN6JfqFcXcLCDzKBzWFPBn3WyhT/E4my3emL0yg2vr+f87WVKRpwbIVT/j 8gwNIYdkUuVBO5ZwLbUPtoTgTgQEhRWhP1qw8p87Pbf79ijBmRCz2jgytaozaaqiU2Er glZfVRRJ1Bm5+vsvwbazlWq/Qlr6JuKZyot6XsZPPKKFhoq1N01iBPrAaQpnWVv8H2FL aYtpuphbXvtTgb43srjAEF+NLqt8SF6+cKA4XuCrfUCw1sEvHMXa87o2gftIRr94o1/9 DeTNx4AO/Z4u5cteMRds+CBKn3XpjxfqHZFvSJJwF4rxc7/npWl/EYRbApbp6VwQzgmH 2R3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807468; x=1788412268; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7MocgzezO4mcFVyQD9N6vjeWFD6TnB7x7CFs1bu2VXk=; b=DxPsP3sooWZWc5wB0XkLyMniL2xYqfodJKUs+SJeJmsathEWgZHy8+pfiIzMrNR//I ag+iiw6PaDDVjeskaSUY+REIBnMIgM4tLglwlcjw6BrdNan10fyZyQnqeDB2tazzkGQA ZTFQPjyB7eJayU1o6N0cqrBWxu8rU1ZmOnGMrigv/vN+rMdGEmrZRrIahAVTf3faaTWv mo285um7tSSd3WYjAV04YLgIP5CmBER+Kh1HyLOCBtB3VfQzLW48uzpdb9qJuFasqL8P RwssYJ390xaHs83uSuJA1s+JNCqUFFpYrhiPUuOG88iu0JNC9k8dPOrduFKwTOFjfI8w HZwQ== X-Forwarded-Encrypted: i=1; AHgh+Rp1jXJk7jECdhgMxxiHgO0f2MSZowH+N5p1QW/taddeOY3PziJJRQ4lytTg4o7Vpsa8DM1M4Ojs6ex5@nongnu.org X-Gm-Message-State: AFuF++mGg2E+VM6mdT/IN+Qm+vo5i1VE1ex4XyqL2uLjTAD8ncEmbC+t LLR1KM7Yw8T7uezNeOWMW/ek9e/oD/LcwUxaBXV/M217rUQeGzVGQTo6 X-Gm-Gg: AR+sD12YgVj6fZ5+tWiEsYco0hcc4x+CGXQ9H84B4Ofvl3R5CKO3FIXegrf5P4cYDAn iDh+koRaJzPAvDJOOS4eHM4pjr0FEOS4grD8PhgOulvytD+9eUknsF6BEH85hh482+ULPKbkfGl Ve33mnOrr1oXc9jemk/mp4UXJQQxeBfAK8zMdzKf1cJTMr6Ng9rrgt7/fxJpa9eA4mLC4+YsmSX pGEYtH2m2aH6BuiOXgq42cXXRbUjNmBidhZgNyhYsCNz8vA/GENWpitMNVzX5EQjRKhbf7TdZk1 Mr4GmXrfidr6FxSk1HH5dPkMuQ/c7ujbUlAdXNdDnLdAO1x2bljkxuuthL+Pz77Snt65eBjERVp AjR1NCJauSWFHivixhZjrW0x3hqJuCX2F0o2sEA7yRoSc8rwmhiozRnENYTdMpdIWVdPOWrzydV Lwz3Vx6moK6VO6EbV31/bEs00L/NzK4udCMGa41wnV49JXKz8KP1MtzhhI8UqF7JK8mOR5iQPHx liI7De2AHvc4/ti8YEHpq9pyo3v90yzpNLAgifOs1hieXWS6vuL9ulzfFletARQ3f0AMlBUri84 AvgPhQ7TFh0te+pucnicNw== X-Received: by 2002:a17:90b:54cb:b0:380:f389:447b with SMTP id 98e67ed59e1d1-3966d40becdmr26287538a91.11.1787807468439; Wed, 26 Aug 2026 22:11:08 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 09/12] tests/tcg/multiarch: Fix vectorisation of memory test Date: Thu, 27 Aug 2026 14:39:48 +0930 Message-ID: <20260827050953.67184-10-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x1029.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807536385158500 Content-Type: text/plain; charset="utf-8" Compilers are not able to vectorise the load and store loops. Building with -fopt-info-vec-missed with gcc 16.1: missed: statement clobbers memory: ml_printf ("."); This can be fixed by doing the printf after the loops. Also, autovectorisation doesn't like more than one if statement in the loop: missed: not vectorized: unsupported control flow in loop. By combining them into ternary statements and one if, the loops are able to be vectorised with both loads and stores. The trade off is the dots are gone, and the tests no longer report fine grained miscompares. A failure does report the number of bad elements in a failing test loop. Signed-off-by: Joel Stanley Acked-by: Alex Benn=C3=A9e Acked-by: Alistair Francis --- tests/tcg/multiarch/system/memory.c | 113 ++++++++++++---------------- 1 file changed, 50 insertions(+), 63 deletions(-) diff --git a/tests/tcg/multiarch/system/memory.c b/tests/tcg/multiarch/syst= em/memory.c index 7508f6b916d0..6eeb738343ab 100644 --- a/tests/tcg/multiarch/system/memory.c +++ b/tests/tcg/multiarch/system/memory.c @@ -42,9 +42,6 @@ static void pdot(int count, bool write) } else { test_read_count++; } - if (count % 128 =3D=3D 0) { - ml_printf("."); - } } =20 /* @@ -77,7 +74,6 @@ static void init_test_data_u8(int unused_offset) *ptr++ =3D BYTE_NEXT(count); pdot(i, true); } - ml_printf("done %d @ %p\n", i, ptr); } =20 @@ -127,7 +123,6 @@ static void reset_start_data(int offset) *ptr++ =3D 0; pdot(i, true); } - ml_printf("done %d @ %p\n", i, ptr); } =20 @@ -203,7 +198,7 @@ static void init_test_data_u64(int offset) static bool read_test_data_u16(int offset) { uint16_t word, *ptr =3D (uint16_t *)&test_data[offset]; - int i; + int i, bad =3D 0; const int max =3D (TEST_SIZE - offset) / sizeof(word); =20 ml_printf("Reading u16 from %#lx (offset %d):", ptr, offset); @@ -214,12 +209,13 @@ static bool read_test_data_u16(int offset) high =3D (word >> 8) & 0xff; low =3D word & 0xff; if (high < low && high !=3D 0) { - ml_printf("Error %d < %d\n", high, low); - return false; - } else { - pdot(i, false); + bad++; } - + } + test_read_count +=3D max; + if (bad) { + ml_printf("Error: %d bad u16 words\n", bad); + return false; } ml_printf("done %d @ %p\n", i, ptr); return true; @@ -228,7 +224,7 @@ static bool read_test_data_u16(int offset) static bool read_test_data_u32(int offset) { uint32_t word, *ptr =3D (uint32_t *)&test_data[offset]; - int i; + int i, bad =3D 0; const int max =3D (TEST_SIZE - offset) / sizeof(word); =20 ml_printf("Reading u32 from %#lx (offset %d):", ptr, offset); @@ -247,21 +243,18 @@ static bool read_test_data_u32(int offset) zeros +=3D (b2 =3D=3D 0 ? 1 : 0); zeros +=3D (b3 =3D=3D 0 ? 1 : 0); zeros +=3D (b4 =3D=3D 0 ? 1 : 0); - if (zeros > 1) { - ml_printf("Error @ %p, more zeros than expected: %d, %d, %d, %= d", - ptr - 1, b1, b2, b3, b4); - return false; - } - - if ((b1 < b2 && b1 !=3D 0) || + if (zeros > 1 || + (b1 < b2 && b1 !=3D 0) || (b2 < b3 && b2 !=3D 0) || (b3 < b4 && b3 !=3D 0)) { - ml_printf("Error %d, %d, %d, %d", b1, b2, b3, b4); - return false; - } else { - pdot(i, false); + bad++; } } + test_read_count +=3D max; + if (bad) { + ml_printf("Error: %d bad u32 words\n", bad); + return false; + } ml_printf("done %d @ %p\n", i, ptr); return true; } @@ -270,7 +263,7 @@ static bool read_test_data_u32(int offset) static bool read_test_data_u64(int offset) { uint64_t word, *ptr =3D (uint64_t *)&test_data[offset]; - int i; + int i, bad =3D 0; const int max =3D (TEST_SIZE - offset) / sizeof(word); =20 ml_printf("Reading u64 from %#lx (offset %d):", ptr, offset); @@ -297,26 +290,22 @@ static bool read_test_data_u64(int offset) zeros +=3D (b6 =3D=3D 0 ? 1 : 0); zeros +=3D (b7 =3D=3D 0 ? 1 : 0); zeros +=3D (b8 =3D=3D 0 ? 1 : 0); - if (zeros > 1) { - ml_printf("Error @ %p, more zeros than expected: %d, %d, %d, %= d, %d, %d, %d, %d", - ptr - 1, b1, b2, b3, b4, b5, b6, b7, b8); - return false; - } - - if ((b1 < b2 && b1 !=3D 0) || + if (zeros > 1 || + (b1 < b2 && b1 !=3D 0) || (b2 < b3 && b2 !=3D 0) || (b3 < b4 && b3 !=3D 0) || (b4 < b5 && b4 !=3D 0) || (b5 < b6 && b5 !=3D 0) || (b6 < b7 && b6 !=3D 0) || (b7 < b8 && b7 !=3D 0)) { - ml_printf("Error %d, %d, %d, %d, %d, %d, %d, %d", - b1, b2, b3, b4, b5, b6, b7, b8); - return false; - } else { - pdot(i, false); + bad++; } } + test_read_count +=3D max; + if (bad) { + ml_printf("Error: %d bad u64 words\n", bad); + return false; + } ml_printf("done %d @ %p\n", i, ptr); return true; } @@ -374,28 +363,26 @@ static bool do_unsigned_test(init_ufn fn) static bool read_test_data_s8(int offset, bool neg_first) { int8_t *ptr =3D (int8_t *)&test_data[offset]; - int i; + int i, bad =3D 0; const int max =3D (TEST_SIZE - offset) / 2; =20 ml_printf("Reading s8 pairs from %#lx (offset %d):", ptr, offset); =20 for (i =3D 0; i < max; i++) { int16_t first, second; - bool ok; first =3D *ptr++; second =3D *ptr++; =20 - if (neg_first && first < 0 && second > 0) { - pdot(i, false); - pdot(i, false); - } else if (!neg_first && first > 0 && second < 0) { - pdot(i, false); - pdot(i, false); - } else { - ml_printf("Error %d %c %d\n", first, neg_first ? '<' : '>', se= cond); - return false; + if (!(neg_first ? (first < 0 && second > 0) + : (first > 0 && second < 0))) { + bad++; } } + test_read_count +=3D max * 2; + if (bad) { + ml_printf("Error: %d bad s8 pairs\n", bad); + return false; + } ml_printf("done %d @ %p\n", i * 2, ptr); return true; } @@ -403,7 +390,7 @@ static bool read_test_data_s8(int offset, bool neg_firs= t) static bool read_test_data_s16(int offset, bool neg_first) { int16_t *ptr =3D (int16_t *)&test_data[offset]; - int i; + int i, bad =3D 0; const int max =3D (TEST_SIZE - offset) / (sizeof(*ptr)); =20 ml_printf("Reading s16 from %#lx (offset %d, %s):", ptr, @@ -420,15 +407,15 @@ static bool read_test_data_s16(int offset, bool neg_f= irst) for (i =3D 0; i < max; i++) { int32_t data =3D *ptr++; =20 - if (neg_first && data < 0) { - pdot(i, false); - } else if (!neg_first && data > 0) { - pdot(i, false); - } else { - ml_printf("Error %d %c 0\n", data, neg_first ? '<' : '>'); - return false; + if (!(neg_first ? data < 0 : data > 0)) { + bad++; } } + test_read_count +=3D max; + if (bad) { + ml_printf("Error: %d bad s16 words\n", bad); + return false; + } ml_printf("done %d @ %p\n", i, ptr); return true; } @@ -436,7 +423,7 @@ static bool read_test_data_s16(int offset, bool neg_fir= st) static bool read_test_data_s32(int offset, bool neg_first) { int32_t *ptr =3D (int32_t *)&test_data[offset]; - int i; + int i, bad =3D 0; const int max =3D (TEST_SIZE - offset) / (sizeof(int32_t)); =20 ml_printf("Reading s32 from %#lx (offset %d, %s):", @@ -453,15 +440,15 @@ static bool read_test_data_s32(int offset, bool neg_f= irst) for (i =3D 0; i < max; i++) { int64_t data =3D *ptr++; =20 - if (neg_first && data < 0) { - pdot(i, false); - } else if (!neg_first && data > 0) { - pdot(i, false); - } else { - ml_printf("Error %d %c 0\n", data, neg_first ? '<' : '>'); - return false; + if (!(neg_first ? data < 0 : data > 0)) { + bad++; } } + test_read_count +=3D max; + if (bad) { + ml_printf("Error: %d bad s32 words\n", bad); + return false; + } ml_printf("done %d @ %p\n", i, ptr); return true; } --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807519041248.91024419098187; Wed, 26 Aug 2026 22:11:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSOV-000406-FL; Thu, 27 Aug 2026 01:11:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSOT-0003uC-5B for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:17 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSOR-0004Cc-H0 for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:16 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-38dc69c74b8so2142984a91.0 for ; Wed, 26 Aug 2026 22:11:15 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.11.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807474; x=1788412274; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=c0YS6jznp++FiM/vCZWCrH/hv2wY1w+aZ3YBUBkwkEI=; b=hcvWiW/+1ViWGzjR79HEO2O8E4SzPuuiHsRHJabmG3VVc5ww1KXKxANMM1HSLjQC59 LXidZvgfILN2xkg7OlIC0UpDp1l4d9r6KvSn7sga/VoxrCJNLw6AA4s03n53gvix/OOy 8j18Ww4eFwpIVlW7DdjIeYjbEm3oK2lDWaq6f+2ZrB2oZM4X9MeRT/nbep6Ih3i6mc+F 3RvS0fYj6Y2FuvbyKNAgP/DSk+UeZzXu/ZnrvE9aqQJOOeBAXZwHEi9W9SRvfUj6tqzz 3VRXba3JlorJ6rVITMqc9FKhCxpzWcOmg5If2BExoHTkjysm8rZYNqJqUH9ohQMn8STr F3YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807474; x=1788412274; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=c0YS6jznp++FiM/vCZWCrH/hv2wY1w+aZ3YBUBkwkEI=; b=UXozHAFaPDwlwDF1UU2RwOwayOeXGWFxAqrg1D0WbCMfsOE/9TgM6I560E3SQq2bca JPTQTj5eV03+UVf7TQy2bwSOB+RaO8xxI0e4P5poHDKcBAy4/Odq8n1izJwMAkj+C0KL kYfnINEs3c+jQIDyezi+Q2NLkGyMimwjk1i4HU22BdHKagPImT6bpno9EV7ypGLyuIg9 x5hMeSM2dgKQ3wJDiX1atFx6UmR0H4VwVrKOmut1c/0fm9o7yLUOd30IF2+M2WLJ1VuM Gk/f3COjVh+DkLeQ1BK8L/U1Uz9PMxNHkch3y8XGF3xxFgTI7/z6hQJ3PHaWgzGB/X/O mNuA== X-Forwarded-Encrypted: i=1; AHgh+Ro/4BtzJ3Q9IjtiSkUeoXZiCuATTbeGL9L9EuZPrzp3uqHEyVLOPdv+Eiskvb+Y5DsVOWEsMSV5l1lR@nongnu.org X-Gm-Message-State: AFuF++lswZHCqRrT/272wAefVQlLTMJp5PBT1NPski3kWhOiTOSS0+AM FLLiVZbHLkLS160zU8dGWJZ7AcY8w0M2kEDZ6FfPFUM2CmFQLVo5d/3U X-Gm-Gg: AR+sD13MuMOe7PHsjgd82a3OiA11cIMK/11T1EvN2QERmNumwz91nrfy5Wg8/4dNL7b UODTPssbm0O/QQ0oYnIBgYMDG1Onsz0y4s2TIdbkc1rR4RDGlPRoqoQxTnbHG5RqDdwoJWkmFw9 awGL17fx6jMQTkku3ekSAt0n5ZLle8BS3x+sdBotgvvi76ReV5n2EwMD3z5VfbY0TEWuCFCJxJx /7G/dSqXA8swY8Gy4UR0t6u5TCoIzGfXhMHXNP7Kew9KeNLw3OzVbrsXm/QLq5IJ91svpvhbM0t /EQLwkRPzXk6dTgxJ7fhW8kmzwB+xkWCF5A8LebMCbj4ylxBXbG6DECx0CEavUCSxXaC8qKPFxl o7z/3mVJuKFgpprABGbVTd3EJxcdpeGE7CcVNWXILBdS9sSpL+K/b2O49rb7+52cqV1pKP+PvYS D4GTBp15RE/AcppDolILyLEWcnWWgD+FkjRh1EZ+IADFzHKfABpY3J0G2ONPA07bkhbR0jwEby/ mVlq9PSPFqHFBfAnFLsdCxh+y6EgWCQpyQe1QNBYIp3f+BiiUxEK/0gLFvDZEAt1YVEt9t3eiyh l9rVxvfVJtPdOKemTdy3 X-Received: by 2002:a17:90b:3cc3:b0:38f:18f9:785 with SMTP id 98e67ed59e1d1-3966d20cde1mr26855588a91.8.1787807474185; Wed, 26 Aug 2026 22:11:14 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 10/12] tests/tcg/riscv64: Enable vectorised memory test Date: Thu, 27 Aug 2026 14:39:49 +0930 Message-ID: <20260827050953.67184-11-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807520267158500 Content-Type: text/plain; charset="utf-8" Build memory.c a second time with -march=3Drv64gcv -O3, similar to aarch64's memory-sve, so the memory test checks RVV loads and stores, including across page boundaries. Run it under -cpu rv64,v=3Dtrue. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/riscv64/Makefile.softmmu-target | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index 3f2a8ed16142..301a6e6e5700 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -76,6 +76,14 @@ EXTRA_RUNS +=3D $(MULTIARCH_RUNS) # Default is zicclsm=3Dtrue, so misaligned accesses must work memory: private CFLAGS +=3D -DCHECK_UNALIGNED=3D1 =20 +memory-rvv: memory.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) + $(call quiet-command, \ + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) $(CRT_OBJS), CC, $@) +memory-rvv: private CFLAGS +=3D -DCHECK_UNALIGNED=3D1 -march=3Drv64gcv -O3 +run-memory-rvv: QEMU_CPU =3D rv64,v=3Dtrue + +TESTS +=3D memory-rvv + # Simple Record/Replay Test .PHONY: memory-record run-memory-record: memory-record memory --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807564634635.5168528711034; Wed, 26 Aug 2026 22:12:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSOn-0004SA-Sp; Thu, 27 Aug 2026 01:11:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSOa-00047A-5y for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:25 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSOX-0004EJ-JI for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:23 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-c9d1fff21edso1207264a12.1 for ; Wed, 26 Aug 2026 22:11:21 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.11.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:11:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807480; x=1788412280; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=g7qPAmD5Uc4zNc8vOsv1rG83nWMR8s88x8LyK/YSuMs=; b=WWVaQ+3lyeyiCh2Yh4OK2Acdftkixg2hOcG7CO2+9Apb6gDQHKBktr+zRwZ/chSKJF 5aqrbLHHbDK6E0AvtFHt2sGpMIpR7+XQzc4IA57wxPMoEFe9BFnwbYnyNyG+k+BOYpVU vsH4pjqkakV64baW7un0TQsiIAQrs8q4I463fYL0GY5LvGX53yvDORQlvl3VQm7M/ARr ImvjhU15p5CGLzrNtUfCTJDF/z5MltLOM4GSVaM6x0gDdPU11A5KNyuBde/CRnTxOF7m Wq56VRTjlaviCTepF8WX+wLrXvPBlJzkmk81h4/FjHt8ZyHoy065UOtFpvWpKkvK7iu/ 9jFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807480; x=1788412280; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=g7qPAmD5Uc4zNc8vOsv1rG83nWMR8s88x8LyK/YSuMs=; b=Rzy4s0lPXfyf8r41bsUUGv5oyInPCXJm0WnQqGM+fJGPRJ/YjRpdPlou3YO03T+9yW eJzp9LixP6tXSziwbLI/hTNKblXpa5vMDGUEGOoZcq9fCDr7ghDypXoBoq7d3EF3JemG SXepTllpWfJP3JhQWt6hjH7hpBaGATOp9pnzE/0JCy4xC5D6zCAK0fh3/myD0Cd9DUJS mh/HapguugS5/N2Cs8cnf4zzU+9bbInEz7J/ssNJq8IhYbr2qmyhtzc4dmNEjwiBUHTG YJtSdMfLBsjeagyTezfjv5JiKqTc64xcX8uj0dZ7Dj4v5qELez0GZtNcVmxowhd/C5/i Yyvw== X-Forwarded-Encrypted: i=1; AHgh+Rq2teXgt0UWlP6i0tUya6b6yqlM8VrRUB8TOzd3FFIsBXOubUeD9Oeaxbas11ZJWdYWDM6BXqr7WiU9@nongnu.org X-Gm-Message-State: AFuF++kks5XEAG4XL6kMCHQ6BMq3uTAzt/v1OoeYQXiKIuapWojBm0Sv RZw/XwUAhP7AfkiVGw6OrfHNpuJJ9PDcThDOcei2XgtdkfBm9qF2ERkZ X-Gm-Gg: AR+sD13qjd+cTwGDth41x8QojzFY+77UlpW3HL24+XttYoaPUXhYv3/U8d7iyMaT7S6 nvDq/WcVBWbI0OHQCVAAK9FOK4rxzKkdl5QapcAhwra5fspL9+XnBgqQRPwP9LYG7P5/A589rEg 8vE+1Hvu1PN9qZT8js/X7UtcElkTME3nDEsAWlzEbBp3LiuBxPAK2P/vN5RbcK9AO39Tm5XyNrr j9thnaVTQ++LdztsDBIYGJ7hJC6UMOzmw+R923TrSfzlxNYnNfEoITskv4oEJihy5/TdWVIpEs4 Dm+lnQsNV75wargueGPrH458S0Xd+Cu4Drab75A3kzM4BG3E4jqPq16/w9tLxDVdeudV32FjuI0 WY85OrZqibVkKfo1bApIP/Q4rtb0SzfXzkmIfV5pnRUA0e+cktzOLnTDJZBgfclpzP59zu6RcpF QKDqio6u1ID9h3lJc1VYCUI0UVnnee+E7qvVVrKjZCGtnIsiNfZ29UBfFSXfUWbUnU3ESbq5QJw Vg536PaYI2Xw7yPleNjppQWQlKJyk4IvnWQ/D0vRZHYz1KRDZmsaTs0Kww+Iylg3FsQ1YcNaYV2 8511UF98GnyXuKGCzOc7 X-Received: by 2002:a17:90b:5828:b0:395:4de4:92be with SMTP id 98e67ed59e1d1-3966d486840mr26426950a91.13.1787807480024; Wed, 26 Aug 2026 22:11:20 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 11/12] configure: Provide OBJDUMP to the tcg tests Date: Thu, 27 Aug 2026 14:39:50 +0930 Message-ID: <20260827050953.67184-12-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=joel.stan@gmail.com; helo=mail-pg1-x52a.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807566330158500 Content-Type: text/plain; charset="utf-8" Probe for a cross objdump alongside the other binutils and add OBJDUMP to tests/tcg config-target.mak so test makefiles can inspect the binaries they build. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- configure | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/configure b/configure index 56158cd95f7b..b82a43018563 100755 --- a/configure +++ b/configure @@ -318,6 +318,7 @@ as=3D"${AS-${cross_prefix}as}" ccas=3D"${CCAS-$cc}" dlltool=3D"${DLLTOOL-${cross_prefix}dlltool}" objcopy=3D"${OBJCOPY-${cross_prefix}objcopy}" +objdump=3D"${OBJDUMP-${cross_prefix}objdump}" ld=3D"${LD-${cross_prefix}ld}" ranlib=3D"${RANLIB-${cross_prefix}ranlib}" nm=3D"${NM-${cross_prefix}nm}" @@ -1384,6 +1385,7 @@ probe_target_compiler() { container_cross_ld=3D container_cross_nm=3D container_cross_objcopy=3D + container_cross_objdump=3D container_cross_ranlib=3D container_cross_strip=3D =20 @@ -1489,6 +1491,7 @@ probe_target_compiler() { : ${container_cross_ld:=3D${container_cross_prefix}ld} : ${container_cross_nm:=3D${container_cross_prefix}nm} : ${container_cross_objcopy:=3D${container_cross_prefix}objcopy} + : ${container_cross_objdump:=3D${container_cross_prefix}objdump} : ${container_cross_ranlib:=3D${container_cross_prefix}ranlib} : ${container_cross_strip:=3D${container_cross_prefix}strip} done @@ -1517,6 +1520,7 @@ probe_target_compiler() { target_ld=3D$ld target_nm=3D$nm target_objcopy=3D$objcopy + target_objdump=3D$objdump target_ranlib=3D$ranlib target_strip=3D$strip ;; @@ -1535,6 +1539,7 @@ probe_target_compiler() { compute_target_variable $target_arch target_ld ld compute_target_variable $target_arch target_nm nm compute_target_variable $target_arch target_objcopy objcopy + compute_target_variable $target_arch target_objdump objdump compute_target_variable $target_arch target_ranlib ranlib compute_target_variable $target_arch target_strip strip ;; @@ -1596,6 +1601,7 @@ probe_target_compiler() { target_ld=3D target_nm=3D target_objcopy=3D + target_objdump=3D target_ranlib=3D target_strip=3D fi @@ -1617,6 +1623,7 @@ write_target_makefile() { echo "LD=3D$docker_py cc --cc $container_cross_ld -i qemu/$container_i= mage -s $source_path --" echo "NM=3D$docker_py cc --cc $container_cross_nm -i qemu/$container_i= mage -s $source_path --" echo "OBJCOPY=3D$docker_py cc --cc $container_cross_objcopy -i qemu/$c= ontainer_image -s $source_path --" + echo "OBJDUMP=3D$docker_py cc --cc $container_cross_objdump -i qemu/$c= ontainer_image -s $source_path --" echo "RANLIB=3D$docker_py cc --cc $container_cross_ranlib -i qemu/$con= tainer_image -s $source_path --" echo "STRIP=3D$docker_py cc --cc $container_cross_strip -i qemu/$conta= iner_image -s $source_path --" else @@ -1639,6 +1646,9 @@ write_target_makefile() { if test -n "$target_objcopy"; then echo "OBJCOPY=3D$target_objcopy" fi + if test -n "$target_objdump"; then + echo "OBJDUMP=3D$target_objdump" + fi if test -n "$target_ranlib"; then echo "RANLIB=3D$target_ranlib" fi @@ -1998,6 +2008,7 @@ preserve_env LD_LIBRARY_PATH preserve_env NM preserve_env OBJCFLAGS preserve_env OBJCOPY +preserve_env OBJDUMP preserve_env PATH preserve_env PKG_CONFIG preserve_env PKG_CONFIG_LIBDIR --=20 2.47.3 From nobody Sat Sep 26 21:37:19 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787807580016541.9775337015114; Wed, 26 Aug 2026 22:13:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wzSP5-0004qf-KD; Thu, 27 Aug 2026 01:11:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wzSOf-0004DH-Bu for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:29 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wzSOd-0004FW-AY for qemu-devel@nongnu.org; Thu, 27 Aug 2026 01:11:28 -0400 Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-3964dfb5b9aso2372621a91.1 for ; Wed, 26 Aug 2026 22:11:26 -0700 (PDT) Received: from donnager-debian.. ([180.150.112.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39670599275sm2210473a91.0.2026.08.26.22.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 22:11:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787807486; x=1788412286; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=JSgAqHr1NOvqwxx08subUkX/lMIs5ZKn3UbhmDEC214=; b=NvvKn5L451EcW4L8TxNKXt8wOex5MBmOWhSX6b3BFl3q7b/HjxBgnCc4CaHklM9tJ0 byCZSB4KXyGvZDArdHEZCRRuX8gx6nwBon4U0xSpITagDg9naM0lVvZABTORBBINL456 rMahcfWEnVqnRCXS+Q1oiV+3OilQoOuunY/JKmWPtvCwEVhwadvQmLtdvs0yUPribTdS +oavZzU/E7ycJ6JfEL3OdeM/EB5+S4FJnEqs5pANChunETvmhpY/JKVZAzhzVPvGTdn+ N8GJbCym5JZ2DkFSnP1v9OsoQO8KcjxEEtd1I+BPmejbhKr2hhNfyICtu5g6xTkjXtBe VHRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787807486; x=1788412286; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=JSgAqHr1NOvqwxx08subUkX/lMIs5ZKn3UbhmDEC214=; b=IgcoCkP6b2NDhDdcG0dxoZHJhhNGAudk98hS6VFKxsL5PhtjctfKYA9R6o81Mig4z7 1KsH+MHIB1RrPdhgzETZ3dLS7ZuqSrgO7VirzFq6h87aic4JxE6+fM+dbVwTcE4ajNIk O+zmzit300N8sL9S/w/pt9Rt9hxGWmXIkDTScdozaSaFywNJKErcjssVQuyFQEAND4pU YvfJRGnhNX3SVJnvqp2y6M2+SUgkRij8deOgKqSR3bvXPLSyOBEnoL4OKdfQcCbpdOlb wgRBhXkmFJwkOlmXg4oazi5845l/P8lzgVLST917iQq0COkN00cTmoPVNxaTkTVHDG8W tKSA== X-Forwarded-Encrypted: i=1; AHgh+RqLvrKB6XIyTpxxuyOn7sY5ZFEa2aNOdRjQdZrWDFwKqch3E/jzI7BjgBWwNS7wZuydkgOvMYx7GRwS@nongnu.org X-Gm-Message-State: AFuF++lmZMomJzEMq8l62DeCdABUMQnlHlyBrBkCerBnRsQyF23TDlb7 K4QmhIBnTdKBmjsOeNwWH8i+yir486uzkQGBkWd8FQq45W4pw4Kd/8MC X-Gm-Gg: AR+sD107YQiwBwU7WF0VjgUTieTJRyEl9TV04YGlKJgYqVLdQeEYSKb+LMZfmxF5FyB LoJWF/g0DLOqOmCMj3sUkvNlXiAF1iXIOUWDI9k8hwzz0zLXhrL8IkIAj24fKmW3OvwuiUBNvKz j+86lUU5eyVwRQCU2O33VQnA6BvFCmGc1jFlYuFTBm4j0c/59ZXDhzbxEwoIf0l3e5SQMH0iXEX xP+t6VW8fGZ0q6TwECx8N1BUeuGpKL/GEZSymhxcw1g/8oauMTUYq5FiUCt13j9KsLOJhkszQmY yu6ZeQT3Jik61mqrT/MMn1SLCEFI87yERQuZH/RXLAefelYEPJt1aiP0btNHJXddr3P+MKXbenj 2QF45RUBSMPtxNSJ6FigSBVDx+yztO/tF5RN9CygM5tXN1rA0WcoAnJSAUGUHXWhlVqt4blBPUO dbtZYMTkMJOuNE618S3MLa0/mwltfw/ZitV/hlbnPvNKBPyRu80cLpmzQYpAbukvYFeX5/0yheW J8oJcaFalXvR59LDJcX4KFi0/o+wAp9EigpvFxNqCudqKMBIYdBzjtgreuoNJPMXG05ftK4zYaC 7z0QSur9YXufOqylzE4g X-Received: by 2002:a17:90b:586d:b0:396:4cbf:45bc with SMTP id 98e67ed59e1d1-3966d491c45mr26485905a91.16.1787807485965; Wed, 26 Aug 2026 22:11:25 -0700 (PDT) From: Joel Stanley To: Alistair Francis , Daniel Henrique Barboza , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Paolo Bonzini Cc: Peter Maydell , Weiwei Li , Liu Zhiwei , Chao Liu , Nicholas Piggin , Anirudh Srinivasan , Michael Ellerman , Portia Stephens , qemu-riscv@nongnu.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [PATCH 12/12] tests/tcg: Check vector memory tests contain vector ops Date: Thu, 27 Aug 2026 14:39:51 +0930 Message-ID: <20260827050953.67184-13-joel@jms.id.au> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260827050953.67184-1-joel@jms.id.au> References: <20260827050953.67184-1-joel@jms.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1036; envelope-from=joel.stan@gmail.com; helo=mail-pj1-x1036.google.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787807580329158500 Content-Type: text/plain; charset="utf-8" Disassemble the tests and count the SVE or RVV memory access. Delete the binary when the check fails otherwise a subsequent run will not run the check and silently succeed. CHECK memory-rvv contains 7 vector loads and 7 stores CHECK memory-sve contains 20 vector loads and 17 stores This is a coarse check and could be improved by checking specific functions, and using something more precise than an opcode grep. However, it would have caught the bug fixed in "tests/tcg/multiarch: Fix vectorisation of memory test", which makes it worthwhile. Skipped when no cross objdump was found. Signed-off-by: Joel Stanley Reviewed-by: Alistair Francis --- tests/tcg/Makefile.target | 8 ++++++++ tests/tcg/aarch64/Makefile.softmmu-target | 1 + tests/tcg/riscv64/Makefile.softmmu-target | 1 + 3 files changed, 10 insertions(+) diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target index d4dd0fec650d..a5b694d2f21c 100644 --- a/tests/tcg/Makefile.target +++ b/tests/tcg/Makefile.target @@ -79,6 +79,14 @@ conditional-diff-out =3D \ $(call diff-out,$1,$2), \ $(call skip-test,"$1 check","no reference")) =20 +# Check an ELF for vector load ($1) and store ($2) patterns. +# Deleted on failure so the check runs again on the next make. +check-vectorised =3D $(if $(OBJDUMP), \ + $(call quiet-command, \ + ld=3D$$($(OBJDUMP) -d $@ | grep -cE '[[:space:]]$1'); \ + st=3D$$($(OBJDUMP) -d $@ | grep -cE '[[:space:]]$2'); \ + printf " %-7s %s\n" CHECK "$@ contains $$ld vector loads and $$st st= ores"; \ + test "$$ld" -gt 0 && test "$$st" -gt 0 || { rm -f $@; exit 1; })) =20 # Tests we are building TESTS=3D diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/= Makefile.softmmu-target index 196a2afa50ee..99ad1a2799d7 100644 --- a/tests/tcg/aarch64/Makefile.softmmu-target +++ b/tests/tcg/aarch64/Makefile.softmmu-target @@ -50,6 +50,7 @@ memory: CFLAGS+=3D-DCHECK_UNALIGNED=3D1 =20 memory-sve: memory.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) boot.o + $(call check-vectorised,ld1[bhwds],st1[bhwd]) =20 memory-sve: private CFLAGS+=3D-DCHECK_UNALIGNED=3D1 -march=3Darmv8.1-a+sve= -O3 =20 diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/= Makefile.softmmu-target index 301a6e6e5700..5262007e39a5 100644 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ b/tests/tcg/riscv64/Makefile.softmmu-target @@ -79,6 +79,7 @@ memory: private CFLAGS +=3D -DCHECK_UNALIGNED=3D1 memory-rvv: memory.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS) $(call quiet-command, \ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS) $(CRT_OBJS), CC, $@) + $(call check-vectorised,vle,vse[0-9]) memory-rvv: private CFLAGS +=3D -DCHECK_UNALIGNED=3D1 -march=3Drv64gcv -O3 run-memory-rvv: QEMU_CPU =3D rv64,v=3Dtrue =20 --=20 2.47.3