From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560853; cv=none; d=zohomail.com; s=zohoarc; b=OIms6CgTBaR0ZZlLU/FvCslJJihJvoVwsNRqj5aSRRWA91pHZUOkDnIlKhud5SnuYg2id9/oi+22wgGRetHykfoZXaZ5e1TXse2iHMNmU/U+bIVfh9HRwWTptmP7SfGCARJcp7KOXS43Mpa6edqCicTVGQ+nta41fvNADPn4kEE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560853; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2pNq5oOIokbsGMXuot2xEONo/kkTMB903Abh0CvL50U=; b=jAckfuv7RuI2ZdVZ66+aFkmmgoAKXoUOU8kZ1bHecnnY8fakvBogJIs/k3quouYIGHBa9G9UtUyEV6sARPLNnjpXobNKkaGRTapV1O1hyDGnQ9MauUx2gu+DrkdLPptmh760vBQ4cXtYotCvQ7li7i8Eaqg2z2Rs4qmLA/KI/so= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560853614643.5491513316337; Mon, 14 Jul 2025 23:27:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ0v-00028Y-0O; Tue, 15 Jul 2025 02:19:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ0l-0001xz-Gw for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:31 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ0j-0006zK-19 for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:31 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so3551299f8f.0 for ; Mon, 14 Jul 2025 23:19:28 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd1924sm14475399f8f.16.2025.07.14.23.19.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560367; x=1753165167; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2pNq5oOIokbsGMXuot2xEONo/kkTMB903Abh0CvL50U=; b=PE4lBAOJW6A3fbS3ssWB02D6RGKpkVKsWXkhyShjN0fIAMGzTHIm9wHH2lDqFDsASZ IVTxC1K9s1QzIN7GDEI2Vpb/j5bxi4XXY1KIxUvjaqSGT9kIIB+OhOIhKEqO6FF3FYai 33I9dNMPHqVRiy+pjXIQ2Gi/jxiw+G4e36khdSvq7jhwW2kzh3PymmG3S4XwcdMLGZC9 GtVD6Qah+o7u8mRS2Bw6NpB4HylRaM8Ksz7qwK6BLObRBBaHDhMqCsm8hKURT0lp61zM QG7ZpRz0lkIjIQnFPxoJlBgqpw7M6mc/uAondUsTbrPnLRmglrCtbDHFrVxANvG9Ctpa N5BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560367; x=1753165167; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2pNq5oOIokbsGMXuot2xEONo/kkTMB903Abh0CvL50U=; b=Zx9dCqpHDfeLukFdohAlQlAXK0CRpCCKk3bkJrkn13Q0JOMOdixiEl1dsw7mHY51cY EfVMilNLwM41hwxwKqdh7jfM6brs6LC6yCbNu/vNaGl1WLORkP6b+URvuyVK3HLA4wsh RAoO1LrNsJ4Ckc5KrQ0s7ozz5uSXIsqBCtmYndwB7uPtVtKFdvzRq/9N+bloqyD4Jc/D yfD5vv2MGc9nqG3uZBsg9tV5FUck3kLj32AH4aYYmtiW0uUIVbR8rMjQ5LTxD7qxANNG rH90ROvJD6Iown48UqrTc9ffYTJlK356BC2uG84yqF1hlVwCD1AxVm+vQk1Vklm7Avyy M4ag== X-Gm-Message-State: AOJu0YygSusaT/lqV2sM3pteIkp73xUC3MptFWJ+0GDiSB/bHnGGIns8 TMPlfFtZm/nO55wpsHYJF4ecoGD4R4W4OJ2LuVaa5Skx1U038xouJdVwujt1Hta0Vb4kQ5kM81a uPabn X-Gm-Gg: ASbGncucdxXud5W2QA7ksa+2MXAs4+Q6LA6X3W5A9VAfUyiwnUS1FraFAvVLiz6sZYu Wby7Eety3qH39oNc450M8RGUeokm2GjmnxXIFEVYPVbnqAEEiczn4UPbCFxSkI897elk+nTfSSC Fdi8vjWKWTrd6mE5lOdI2rglqRUkIy8sH0C1h79J0IzQSB3wD3wi0Kd3SxGTYhEmz4018PywOfO 4cO+Y6JXQnHK4m2iG4tpZdA/OWBurJqBBrC2aH5mjQChwXTcY3KdX57c9bYaAZCYiF2ARNFqVG6 5Akm+IcPe8axQ31N0+1Xttb65qiXpgMo12UsYUmZSYjfcguV18QloRQw0/QuKEeOlmqCBrtjvDD oZeyKv2F1bEQDFtpxg+lSA7t2aj1naiDu3EV5Yn5SzAJxM2zpKXkedF6K9ESAPtukMruMbPWm X-Google-Smtp-Source: AGHT+IFsbWuYSsedIzBCoffsoHKmCZnm42WbZw/1pbC/XN0V01soZCDtm/VdiVHUfXZtvfvfX/Et0w== X-Received: by 2002:a05:6000:70f:b0:3a3:7117:1bba with SMTP id ffacd0b85a97d-3b6095339d4mr1782973f8f.24.1752560366730; Mon, 14 Jul 2025 23:19:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Yongbok Kim , Aleksandar Markovic , Aleksandar Rakic , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Jiaxun Yang Subject: [PULL 01/17] target/mips: Add support for emulation of CRC32 instructions Date: Tue, 15 Jul 2025 08:19:01 +0200 Message-ID: <20250715061918.44971-2-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560855159116600 From: Yongbok Kim Add emulation of MIPS' CRC32 (Cyclic Redundancy Check) instructions. Reuse zlib crc32() and Linux crc32c(). Corresponding disassembly has been added in commit 99029be1c28 ("target/mips: Add implementation of GINVT instruction"). Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic Signed-off-by: Aleksandar Rakic Reviewed-by: Aleksandar Rikalo Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-ID: --- target/mips/helper.h | 2 ++ target/mips/tcg/translate.h | 2 ++ target/mips/tcg/rel6.decode | 5 +++++ target/mips/tcg/op_helper.c | 26 ++++++++++++++++++++++++++ target/mips/tcg/rel6_translate.c | 12 ++++++++++++ target/mips/tcg/translate.c | 24 ++++++++++++++++++++++++ target/mips/cpu-defs.c.inc | 10 ++++++---- target/mips/meson.build | 1 + 8 files changed, 78 insertions(+), 4 deletions(-) diff --git a/target/mips/helper.h b/target/mips/helper.h index 7e400418281..b6cd53c8538 100644 --- a/target/mips/helper.h +++ b/target/mips/helper.h @@ -21,6 +21,8 @@ DEF_HELPER_FLAGS_1(bitswap, TCG_CALL_NO_RWG_SE, tl, tl) DEF_HELPER_FLAGS_1(dbitswap, TCG_CALL_NO_RWG_SE, tl, tl) #endif =20 +DEF_HELPER_3(crc32, tl, tl, tl, i32) +DEF_HELPER_3(crc32c, tl, tl, tl, i32) DEF_HELPER_FLAGS_4(rotx, TCG_CALL_NO_RWG_SE, tl, tl, i32, i32, i32) =20 /* microMIPS functions */ diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index 1bf153d1838..428b53a0dac 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -51,6 +51,7 @@ typedef struct DisasContext { bool abs2008; bool mi; int gi; + bool crcp; } DisasContext; =20 #define DISAS_STOP DISAS_TARGET_0 @@ -181,6 +182,7 @@ bool gen_lsa(DisasContext *ctx, int rd, int rt, int rs,= int sa); bool gen_dlsa(DisasContext *ctx, int rd, int rt, int rs, int sa); =20 void gen_rdhwr(DisasContext *ctx, int rt, int rd, int sel); +void gen_crc32(DisasContext *ctx, int rd, int rs, int rt, int sz, int crc3= 2c); =20 extern TCGv cpu_gpr[32], cpu_PC; #if defined(TARGET_MIPS64) diff --git a/target/mips/tcg/rel6.decode b/target/mips/tcg/rel6.decode index d6989cf56e8..7fbcb109b4e 100644 --- a/target/mips/tcg/rel6.decode +++ b/target/mips/tcg/rel6.decode @@ -16,11 +16,16 @@ =20 &r rs rt rd sa =20 +&special3_crc rs rt c sz + @lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &r +@crc32 ...... rs:5 rt:5 ..... c:3 sz:2 ...... &special3_crc =20 LSA 000000 ..... ..... ..... 000 .. 000101 @lsa DLSA 000000 ..... ..... ..... 000 .. 010101 @lsa =20 +CRC32 011111 ..... ..... 00000 ... .. 001111 @crc32 + REMOVED 010011 ----- ----- ----- ----- ------ # COP1X (COP3) =20 REMOVED 011100 ----- ----- ----- ----- ------ # SPECIAL2 diff --git a/target/mips/tcg/op_helper.c b/target/mips/tcg/op_helper.c index b906d10204b..4502ae2b5be 100644 --- a/target/mips/tcg/op_helper.c +++ b/target/mips/tcg/op_helper.c @@ -24,6 +24,8 @@ #include "exec/helper-proto.h" #include "exec/memop.h" #include "fpu_helper.h" +#include "qemu/crc32c.h" +#include =20 static inline target_ulong bitswap(target_ulong v) { @@ -142,6 +144,30 @@ target_ulong helper_rotx(target_ulong rs, uint32_t shi= ft, uint32_t shiftx, return (int64_t)(int32_t)(uint32_t)tmp5; } =20 +/* these crc32 functions are based on target/loongarch/tcg/op_helper.c */ +target_ulong helper_crc32(target_ulong val, target_ulong m, uint32_t sz) +{ + uint8_t buf[8]; + target_ulong mask =3D ((sz * 8) =3D=3D 64) ? + (target_ulong) -1ULL : + ((1ULL << (sz * 8)) - 1); + + m &=3D mask; + stq_le_p(buf, m); + return (int32_t) (crc32(val ^ 0xffffffff, buf, sz) ^ 0xffffffff); +} + +target_ulong helper_crc32c(target_ulong val, target_ulong m, uint32_t sz) +{ + uint8_t buf[8]; + target_ulong mask =3D ((sz * 8) =3D=3D 64) ? + (target_ulong) -1ULL : + ((1ULL << (sz * 8)) - 1); + m &=3D mask; + stq_le_p(buf, m); + return (int32_t) (crc32c(val, buf, sz) ^ 0xffffffff); +} + void helper_fork(target_ulong arg1, target_ulong arg2) { /* diff --git a/target/mips/tcg/rel6_translate.c b/target/mips/tcg/rel6_transl= ate.c index 59f237ba3ba..89335063977 100644 --- a/target/mips/tcg/rel6_translate.c +++ b/target/mips/tcg/rel6_translate.c @@ -33,3 +33,15 @@ static bool trans_DLSA(DisasContext *ctx, arg_r *a) } return gen_dlsa(ctx, a->rd, a->rt, a->rs, a->sa); } + +static bool trans_CRC32(DisasContext *ctx, arg_special3_crc *a) +{ + if (unlikely(!ctx->crcp) + || unlikely((a->sz =3D=3D 3) && (!(ctx->hflags & MIPS_HFLAG_64))) + || unlikely((a->c >=3D 2))) { + gen_reserved_instruction(ctx); + return true; + } + gen_crc32(ctx, a->rt, a->rs, a->rt, a->sz, a->c); + return true; +} diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 8658315f938..5c80b030329 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -13449,6 +13449,29 @@ static void decode_opc_special2_legacy(CPUMIPSStat= e *env, DisasContext *ctx) } } =20 +void gen_crc32(DisasContext *ctx, int rd, int rs, int rt, int sz, + int crc32c) +{ + TCGv t0; + TCGv t1; + TCGv_i32 tsz =3D tcg_constant_i32(1 << sz); + if (rd =3D=3D 0) { + /* Treat as NOP. */ + return; + } + t0 =3D tcg_temp_new(); + t1 =3D tcg_temp_new(); + + gen_load_gpr(t0, rt); + gen_load_gpr(t1, rs); + + if (crc32c) { + gen_helper_crc32c(cpu_gpr[rd], t0, t1, tsz); + } else { + gen_helper_crc32(cpu_gpr[rd], t0, t1, tsz); + } +} + static void decode_opc_special3_r6(CPUMIPSState *env, DisasContext *ctx) { int rs, rt, rd, sa; @@ -15095,6 +15118,7 @@ static void mips_tr_init_disas_context(DisasContext= Base *dcbase, CPUState *cs) ctx->abs2008 =3D (env->active_fpu.fcr31 >> FCR31_ABS2008) & 1; ctx->mi =3D (env->CP0_Config5 >> CP0C5_MI) & 1; ctx->gi =3D (env->CP0_Config5 >> CP0C5_GI) & 3; + ctx->crcp =3D (env->CP0_Config5 >> CP0C5_CRCP) & 1; restore_cpu_state(env, ctx); #ifdef CONFIG_USER_ONLY ctx->mem_idx =3D MIPS_HFLAG_UM; diff --git a/target/mips/cpu-defs.c.inc b/target/mips/cpu-defs.c.inc index 922fc39138d..d93b9d341ac 100644 --- a/target/mips/cpu-defs.c.inc +++ b/target/mips/cpu-defs.c.inc @@ -756,8 +756,9 @@ const mips_def_t mips_defs[] =3D (1 << CP0C3_RXI) | (1 << CP0C3_LPA) | (1 << CP0C3_V= Int), .CP0_Config4 =3D MIPS_CONFIG4 | (1U << CP0C4_M) | (3 << CP0C4_IE) | (1 << CP0C4_AE) | (0xfc << CP0C4_KScrExist), - .CP0_Config5 =3D MIPS_CONFIG5 | (1 << CP0C5_XNP) | (1 << CP0C5_VP)= | - (1 << CP0C5_LLB) | (1 << CP0C5_MRP) | (3 << CP0C5_G= I), + .CP0_Config5 =3D MIPS_CONFIG5 | (1 << CP0C5_CRCP) | (1 << CP0C5_XN= P) | + (1 << CP0C5_VP) | (1 << CP0C5_LLB) | (1 << CP0C5_MR= P) | + (3 << CP0C5_GI), .CP0_Config5_rw_bitmask =3D (1 << CP0C5_MSAEn) | (1 << CP0C5_SBRI)= | (1 << CP0C5_FRE) | (1 << CP0C5_UFE), .CP0_LLAddr_rw_bitmask =3D 0, @@ -796,8 +797,9 @@ const mips_def_t mips_defs[] =3D (1 << CP0C3_RXI) | (1 << CP0C3_LPA) | (1 << CP0C3_V= Int), .CP0_Config4 =3D MIPS_CONFIG4 | (1U << CP0C4_M) | (3 << CP0C4_IE) | (1 << CP0C4_AE) | (0xfc << CP0C4_KScrExist), - .CP0_Config5 =3D MIPS_CONFIG5 | (1 << CP0C5_XNP) | (1 << CP0C5_VP)= | - (1 << CP0C5_LLB) | (1 << CP0C5_MRP) | (3 << CP0C5_G= I), + .CP0_Config5 =3D MIPS_CONFIG5 | (1 << CP0C5_CRCP) | (1 << CP0C5_XN= P) | + (1 << CP0C5_VP) | (1 << CP0C5_LLB) | (1 << CP0C5_MR= P) | + (3 << CP0C5_GI), .CP0_Config5_rw_bitmask =3D (1 << CP0C5_MSAEn) | (1 << CP0C5_SBRI)= | (1 << CP0C5_FRE) | (1 << CP0C5_UFE), .CP0_LLAddr_rw_bitmask =3D 0, diff --git a/target/mips/meson.build b/target/mips/meson.build index 247979a2cfc..abf0ce3e8b9 100644 --- a/target/mips/meson.build +++ b/target/mips/meson.build @@ -7,6 +7,7 @@ mips_ss.add(files( 'gdbstub.c', 'msa.c', )) +mips_ss.add(zlib) =20 if have_system subdir('system') --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560440; cv=none; d=zohomail.com; s=zohoarc; b=Glgbg8Cy5o4vYi5r0iyN61BvPMeuYi65Z5xAH9e7GPobPsDh8YiZ82T7yDAhZZ6W1xPF+YD6DQP1nfwX4UvxxAvSdgDKCOFzRZzakeA66oaFI7khOLIAYTGU//NG3QsBSmc4OHa4EANsiiIDm47LTz6xq5qfXihYwDYZ59rmuiU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560440; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RcBzpRDaRrnDJbIDx3w7L821BpSBhOYClllIovi4m+Y=; b=HBKXzMr/JE3HiZquy2y6CWwY/gC2WIlNH8Y8KIoJDmihPnT8MWcgUWK/Typ5RMob9KgW1DZI5H0kKoOizvKKxYbsHCK3bqoaCUMTUa+t5iy5n8HT4DARP8y8rvpzXbJbefXD8sgMPsffKszk8nbLKYsUCSDZ22FkkN0MwAfwWVw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175256044011546.53179355140492; Mon, 14 Jul 2025 23:20:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ0w-00029o-C9; Tue, 15 Jul 2025 02:19:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ0p-00022u-NA for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:35 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ0n-00070J-Rg for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:35 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-455b00339c8so25064445e9.3 for ; Mon, 14 Jul 2025 23:19:33 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc3a62sm14064198f8f.40.2025.07.14.23.19.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560371; x=1753165171; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RcBzpRDaRrnDJbIDx3w7L821BpSBhOYClllIovi4m+Y=; b=Zsnh0ePmpB4mGcB69W404Pyi0815IGCDfpRugMGLsB03mr0ioc2Q0f5IqXC5pwZbFR yGj3a7MY7GWy/75NDfcaS9LEtO3ewyZdp0tIbUg0GTTKIRQQhjdxxpAJVr31qMIXSCnT AOKf/onrfp9j7Q+AaFCpRmevklC+8dfryGEHyKIFYJwoSHtHFZ6qUYFp5zyJmEFryBvD /lJ02D224jicvLDug8WPW1C2+0cpg2s2h8n/sCvdQUPNx8SCYlBVs8aEn6Prnb5ltWZJ CDPEl2drmM5fJEoxhbCBqK+ZZrbzyYbYPic0bzndUqX5Xp4++4Q9syaXskdxj9lotrhD rotw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560371; x=1753165171; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RcBzpRDaRrnDJbIDx3w7L821BpSBhOYClllIovi4m+Y=; b=nH6/FJvN3lUbg3CxHTQKXb3zUlWMApV3LHgrIiaNbQgG5tJoKHmbTI6MbXE7bEYO1X q8WDUMyP5yR7Z74qJ72INhCWRPdVfh1mxwJWo9Kpa3PyD9/DQZ4Vr9cO7YADLbFcAgFe VX40iytPyEGMoROjf5tp/Cy2Oz+cqCEIuQW253mlkumQErWuBWu2YxbwTdEzGCa4a7rk 9fIOcB7MvAqkWBacPQUoCXiPoLrGQol5k1bUwM4pc1m3Hktr98YtfkFnlhF5ghsBmg/H JPuV1/U2VHmC5/0IBZXO84rFZCIEEZAuEm23qP8zzVtBB1AIhXqBJuDpjwSKPFcHJFgk fXzQ== X-Gm-Message-State: AOJu0Yyr1tvTK3666IO/vYMJfU3X2ykr1YKCignPXVttSJ9i6/k3BKfT HygReUPxS+UZP3iPiHnEHZhbyvjepb3A91LZQ5K6wemc7LIo8D1UlId+sYwD8aESa5WeCcOEg7U 9n2S8 X-Gm-Gg: ASbGnct8XlCKZVRqZtV0XaFM+9d8t4DikcvRthGJBgcFN41D2QRr491M1x/Sk+ogXF/ mgknon6gHw4/yMBdamRCJEUWplP9/umUbO56W4wgsQwd1zJUzBKYv1TRYTXc5jPtJmvWZVt+SEj HkQ7eDhT3o+xBJvFIeiQWZxKudv+92xoq2OlNB4702YGLHtrytsKPZIatKKaZYxJxgA6jNdEEoW +jRjsKCTiWVQAcQf04URUHaaa5qDtWaGwoqPXQQxLT5AWDPh3++1XnW1QfQcZ/58/cUBpjCT6hg 2tlRuUR0ZYwPMTXOrSroF1+BqIiTB0ScIU7xhYMjmsaQypFRf3rjVFZM9Jk3Qv+xAtFrY6i/uWO F27aoIQ4EZdlvqAN7e73W8GIslsBvBN1v78B0VrTQk5jOxUmHSPseEymjACDDRG0esQ6N2mPevC hgF1ubPBs= X-Google-Smtp-Source: AGHT+IFtW9qTbg5ljD79tyErB0jrr+mfC7Wa4AcWfb3NmZzZWmnY+JISdrpOgumcx5m7vc6dX9rjeQ== X-Received: by 2002:a05:600c:4e51:b0:456:8eb:a35c with SMTP id 5b1f17b1804b1-45608eba50dmr105954455e9.31.1752560371517; Mon, 14 Jul 2025 23:19:31 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 02/17] target/mips: Extract gen_base_index_addr() helper Date: Tue, 15 Jul 2025 08:19:02 +0200 Message-ID: <20250715061918.44971-3-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560441113116600 Factor out gen_base_index_addr() which is used twice but we'll use it more. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20241111222936.59869-2-philmd@linaro.org> --- target/mips/tcg/translate.h | 1 + target/mips/tcg/translate.c | 27 +++++++++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index 428b53a0dac..e65593815e6 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -154,6 +154,7 @@ void check_cp1_registers(DisasContext *ctx, int regs); void check_cop1x(DisasContext *ctx); =20 void gen_base_offset_addr(DisasContext *ctx, TCGv addr, int base, int offs= et); +void gen_base_index_addr(DisasContext *ctx, TCGv addr, int base, int index= ); void gen_move_low32(TCGv ret, TCGv_i64 arg); void gen_move_high32(TCGv ret, TCGv_i64 arg); void gen_load_gpr(TCGv t, int reg); diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 5c80b030329..8816237e929 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1957,6 +1957,17 @@ void gen_base_offset_addr(DisasContext *ctx, TCGv ad= dr, int base, int offset) } } =20 +void gen_base_index_addr(DisasContext *ctx, TCGv addr, int base, int index) +{ + if (base =3D=3D 0) { + gen_load_gpr(addr, index); + } else if (index =3D=3D 0) { + gen_load_gpr(addr, base); + } else { + gen_op_addr_add(ctx, addr, cpu_gpr[base], cpu_gpr[index]); + } +} + static target_ulong pc_relative_pc(DisasContext *ctx) { target_ulong pc =3D ctx->base.pc_next; @@ -10546,13 +10557,7 @@ static void gen_flt3_ldst(DisasContext *ctx, uint3= 2_t opc, { TCGv t0 =3D tcg_temp_new(); =20 - if (base =3D=3D 0) { - gen_load_gpr(t0, index); - } else if (index =3D=3D 0) { - gen_load_gpr(t0, base); - } else { - gen_op_addr_add(ctx, t0, cpu_gpr[base], cpu_gpr[index]); - } + gen_base_index_addr(ctx, t0, base, index); /* * Don't do NOP if destination is zero: we must perform the actual * memory access. @@ -11334,13 +11339,7 @@ static void gen_mips_lx(DisasContext *ctx, uint32_= t opc, } t0 =3D tcg_temp_new(); =20 - if (base =3D=3D 0) { - gen_load_gpr(t0, offset); - } else if (offset =3D=3D 0) { - gen_load_gpr(t0, base); - } else { - gen_op_addr_add(ctx, t0, cpu_gpr[base], cpu_gpr[offset]); - } + gen_base_index_addr(ctx, t0, base, offset); =20 switch (opc) { case OPC_LBUX: --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560446; cv=none; d=zohomail.com; s=zohoarc; b=g4kj4rQE20UUgAZiv34Y2SsSYn8L/ZgHwao6q/4qak33m/Gw9qiG+pIRFBCVitrWf1krdU4hwXPiERVnDyYvAAiDb3StQZQz233dWtZ+6N2w1d8bJDOmfnsEhsOJVGNO2BUByHktsTRNmLMBl0v9J4iNiTkOwcfbB2m9D1B5/m4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560446; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=CmqRT40RDvsgTqfFq5PqPhISBaVjONltwNS6X4XWcCM=; b=MCaOvlQRGdIm+3VIeWFbOM+8dirWVN7JQxqTWfQr7nJVxsuxc6V5PUrZpFURLp3wuUeMEj0op/H5mMNhNsC7sD9GH8ChDe9SS0FDD0UFYzK5rs4FJ/zG71QA5CFJCv3XcyUWBksOJGfPb/YqoevitMfTDYxDv+Hrq4rU/Y8Sipc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560446798939.201947618441; Mon, 14 Jul 2025 23:20:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ18-0002Jx-6o; Tue, 15 Jul 2025 02:19:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ0u-00028J-Hr for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:40 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ0s-00071K-FE for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:40 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-451d3f72391so49800275e9.3 for ; Mon, 14 Jul 2025 23:19:37 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd181bsm13884227f8f.7.2025.07.14.23.19.35 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560376; x=1753165176; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CmqRT40RDvsgTqfFq5PqPhISBaVjONltwNS6X4XWcCM=; b=LpYaBdsQLsJac1AJ3IqV/kXjAoyReO1dJjlD1m9x3dAKvZ5Q5eD16e8YoJxs2y1foM Hd0q07aSq/ntIgbXkgVPg1wQJotHnjfEKGdzX1C+GjkP+zEjQ2ZyARYON8B7rvT6ksLM NNl58ewE0Pay5YRIpvCfjQO9tZAqcMI3/iDyiVrwdgPaOiICiNm5Gp4rT+Pp/GOrWsSg eLrcZnaVVJrZi8DQCx1Htn6UmFJ5411UqUY7RI9dI9cfKXuxVCsvhKdwPgVuTL1PoJj5 SdUu7jcpvUGDJKOSmupVuxd975UnnhyVadUaYQh81V+cfwuuspZ+a4cyTsXHPDoq65Co /Mcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560376; x=1753165176; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CmqRT40RDvsgTqfFq5PqPhISBaVjONltwNS6X4XWcCM=; b=Du7n+XN9kcRn2UaC2545AxRiTNBLtP4BG4Q1sKJvZhcOCvHZZJzfkFYj7Q3YGGjDER VmoFVqgt7+AhaBwnbHkLF0GaVYO7Mot/rO1KOV+sMiQ3HOb5o4bQ0z3in0EBb549t56M 87J7Hc55wZ9lPOWn2m81D+P1x8TgksNe39wxMbTGxx5zJUjl2/u1m+J4vlAWv+7Dmr8n 2NEE1sHQd81uugJJjzYYQZYafneMV5i+kOsiOfkxdncOCkhGnVUVPeVWt+PixcHaOwU1 9cxc9qjtCeWhFVEvJzUBCosicFugKx7RCa5Da+9LCWzfAaFRio69jnaUg2HqdMuDjPn+ EJXA== X-Gm-Message-State: AOJu0YwRK8KOGTXjQWatFf2oLwXvUzB75ncxIdlZqP/u83Lc0XlSYqbg ugvDD6zNIFvAJY6HKkseBa3BI1fzIzbtefvb3w6DSjIAXyWkEH4dsNe4stnZ1Usq+sbZg6poiuQ S/ZA3 X-Gm-Gg: ASbGnctufC6V1u3XkC5Bg/MELfVUhMPDUvhwhtgzdf2uXsFnXez+wA6f37QpH1dTrJC mNnuBdHlX3w3E+ichfHFzUnLcD/+zfKJbDZhGKfCxqtaXd+NTOt/ZymV+Q7li/L8pvjFczs06j/ Qqfm5u9EZN45IexNjpN3YOyJtzf22hliqe8ra5bPnPugLG06pR1s5o5aKYMOA8Fzp6+suy/NVAp iWm390gNKEAVENwCpnvBeVauTqK29T2P2y6Sv50MF0RBTdvCtkRZWh6poGCjxweU/o0M92toAnp gM4YC1eCboBc4GemI0GARUC8Mr2/3HB5ejwyhhTtJCP7gfh9aMFhalkxMKqQqnIcHb/R4GMRfww aycsgM8bCy693n0vZosfHx4aB9+TchljUKMkdJyveIV9Wb9surcIde8knISjOH/v9jBwY4ZKI X-Google-Smtp-Source: AGHT+IGvl37IZ7EQKmYyNzSoFjvnK5ndb1yvGSdrFJkrneSSIBf4WtKxeOT7fYDACRV2OT796f8JKg== X-Received: by 2002:a05:600c:1392:b0:455:fc16:9ed8 with SMTP id 5b1f17b1804b1-455fc16a23emr124875475e9.30.1752560376367; Mon, 14 Jul 2025 23:19:36 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 03/17] target/mips: Extract generic gen_lx() helper Date: Tue, 15 Jul 2025 08:19:03 +0200 Message-ID: <20250715061918.44971-4-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560449039116600 Extract gen_lx() from gen_mips_lx(); inline the Octeon check in decode_opc_special3_legacy(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20241111222936.59869-3-philmd@linaro.org> --- target/mips/tcg/translate.h | 1 + target/mips/tcg/translate.c | 55 +++++++++++++------------------------ 2 files changed, 20 insertions(+), 36 deletions(-) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index e65593815e6..89dde1e7124 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -169,6 +169,7 @@ void gen_store_fpr32(DisasContext *ctx, TCGv_i32 t, int= reg); void gen_store_fpr64(DisasContext *ctx, TCGv_i64 t, int reg); int get_fp_bit(int cc); =20 +void gen_lx(DisasContext *ctx, int rd, int base, int index, MemOp mop); void gen_ldxs(DisasContext *ctx, int base, int index, int rd); void gen_align(DisasContext *ctx, int wordsz, int rd, int rs, int rt, int = bp); void gen_addiupc(DisasContext *ctx, int rx, int imm, diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 8816237e929..b9b2d8bb7e1 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -2036,6 +2036,15 @@ static void gen_lxr(DisasContext *ctx, TCGv reg, TCG= v addr, tcg_gen_or_tl(reg, t0, t1); } =20 +void gen_lx(DisasContext *ctx, int rd, int base, int index, MemOp mop) +{ + TCGv t0 =3D tcg_temp_new(); + + gen_base_index_addr(ctx, t0, base, index); + tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, mo_endian(ctx) | mop); + gen_store_gpr(t0, rd); +} + /* Load */ static void gen_ld(DisasContext *ctx, uint32_t opc, int rt, int base, int offset) @@ -11328,41 +11337,6 @@ enum { =20 /* MIPSDSP functions. */ =20 -/* Indexed load is not for DSP only */ -static void gen_mips_lx(DisasContext *ctx, uint32_t opc, - int rd, int base, int offset) -{ - TCGv t0; - - if (!(ctx->insn_flags & INSN_OCTEON)) { - check_dsp(ctx); - } - t0 =3D tcg_temp_new(); - - gen_base_index_addr(ctx, t0, base, offset); - - switch (opc) { - case OPC_LBUX: - tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_UB); - gen_store_gpr(t0, rd); - break; - case OPC_LHX: - tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, mo_endian(ctx) | MO_SW); - gen_store_gpr(t0, rd); - break; - case OPC_LWX: - tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, mo_endian(ctx) | MO_SL); - gen_store_gpr(t0, rd); - break; -#if defined(TARGET_MIPS64) - case OPC_LDX: - tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, mo_endian(ctx) | MO_UQ); - gen_store_gpr(t0, rd); - break; -#endif - } -} - static void gen_mipsdsp_arith(DisasContext *ctx, uint32_t op1, uint32_t op= 2, int ret, int v1, int v2) { @@ -13633,15 +13607,24 @@ static void decode_opc_special3_legacy(CPUMIPSSta= te *env, DisasContext *ctx) } break; case OPC_LX_DSP: + if (!(ctx->insn_flags & INSN_OCTEON)) { + check_dsp(ctx); + } op2 =3D MASK_LX(ctx->opcode); switch (op2) { #if defined(TARGET_MIPS64) case OPC_LDX: + gen_lx(ctx, rd, rs, rt, MO_UQ); + break; #endif case OPC_LBUX: + gen_lx(ctx, rd, rs, rt, MO_UB); + break; case OPC_LHX: + gen_lx(ctx, rd, rs, rt, MO_SW); + break; case OPC_LWX: - gen_mips_lx(ctx, op2, rd, rs, rt); + gen_lx(ctx, rd, rs, rt, MO_SL); break; default: /* Invalid */ MIPS_INVAL("MASK LX"); --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560440; cv=none; d=zohomail.com; s=zohoarc; b=BN/92af32m2M00+7ZvYBB1rhjQTmVdzwnaHBDpLAiwUDFzmA2Fc66lC+VRWEsZBtzB+/uiUj/ToLd6aQhTiUab08ZCQLdD/2gbQcW+6TMEHYRKhc/tFZGt0EQgRSMrLGkdEd6XfIdgS2SjYiKnkh8yf5BrXvtyas4tHRRNBpeKs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560440; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=G/zzVpOs+7k/RhkGCFmhDLsEFTRbLNhvwqm9iD4r+MU=; b=eig7k2BoZWHwggG7+bWq5/nVWQOELu464CKcUYvk7Izwj6c7wFg/StpSN7vGwBSwFutazykIx+/tzpM4QBz/1SlfkX6Uk5oRFAapTPRpmE/RdnpbDG2QRzz3vqYjexaPlcn/oLfWca+L/48oVZ7VWRi0fnzhUwZjlS8MCPu/qHs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560440169768.4361438269432; Mon, 14 Jul 2025 23:20:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1H-0002RU-IR; Tue, 15 Jul 2025 02:20:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ10-0002EJ-Uh for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:47 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ0x-000734-Ju for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:46 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a522224582so2543707f8f.3 for ; Mon, 14 Jul 2025 23:19:43 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d571sm14479576f8f.57.2025.07.14.23.19.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560381; x=1753165181; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=G/zzVpOs+7k/RhkGCFmhDLsEFTRbLNhvwqm9iD4r+MU=; b=tqKWL7jVJj0mhLgymvYtQjBUgE/uFnNCruhg/y/KQAIW80G5MyV5mJho9Bf9aUqzwp O6shR/zSDgTZkuvTWS+fy9ukdgeDjPbWKAKSB/5d+VKhq8JqgbH1kWs8iugmM5J3Aeh7 5G1ENf6k/qhJC/dWgTmGwgg4BkA56t32IQiSpwUQ94P/loOUncOYdP9JD/bqs5SZSdR8 hkgMbz7seOyzLDvVFsu3tJgKL1cNXodGbiywIroC/NpE5vc5ioOj2dB86CCRE+Qv+9MY 8Z+QbHUtHax2ZUGwNkek89olsNmGiXPOIaIGVun3S1X/Q4A9SoZU8dXqadtyn9eJsMRu 5ZYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560381; x=1753165181; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G/zzVpOs+7k/RhkGCFmhDLsEFTRbLNhvwqm9iD4r+MU=; b=tRkj8+64KESPmpx6bb9mByW6F1E0O6jfY0u04Ni29C6XnS7LeDTpv1iuwD5Ypipxgp F4AgTz2fS3PDFdOREj87rAJsqf3NHFQNSleK2+byColNgE+I2ciCMLEBOF0doEemIsiI vifJeJEy7udYuJb49kov/gTjSePYqC67FDK5prY3xHyYYO1DHSGv+anCo8j4PQmHbuNa bslPH/+ZCm0r4yvOeOBmJQ1Hvw/ubuWUw5sWLgzLEr3zdDmQ7wX3OVt8ZGuPaVrVzt4l Hw5FokcVM/SdI2Rl2E7OpSOyHYcvFAXfaxk6I6tknNNOUQoEfJv+2gc7doi5GoMKURpx YVNA== X-Gm-Message-State: AOJu0YwagZO1ZtJQi539k/Wo6PqewYxkaDR2hqh9RJybGrqsRTZaWMB0 L3pEIId2A/Y83AOY6Mt48/J2PblMo42bJf0LCON+fhtAjrdv/Z2SRhpYo/OQki3ZU/gBSzdgP0h jaWsG X-Gm-Gg: ASbGncsSodNed23QMewNbPrV8m7qWCnem3IqPzF3EE5bEmFx2/U1UuKxbfIFm0EUyCd pSIel4TUsx2XBsb8aA/UMPluoE+Zt5OTINyHpS+mp/htdHeeCSg0CpXDPQ1e027JZq3UDfmY5JM S5fcw5wjhOJXj/jJr9iQTBbO9/5J5yHxBgpkPJwDvUYCU6JG5OlxuU9s0TIUFYVDfHzfW+Eqsbp 30mOv31+TSh/TpHAG5VeXca7pSrJgJpixDFVqEmQsXAHjqRIJsf28gjxNoXKJyJ48m0if4u+Qqn N1UQ7+H0a3ijsexmfT+1fXtxreMFTw1Oy+W86Go6ahzwh160juGrDeb/aHHhVDIt65tzljyBAhG yJBJZ/gNquVRIiwvpKkGMj91MMrox7USCmw7dZodAMdWC9jomtIGNJK4uubrdivvQKxfhZLIg X-Google-Smtp-Source: AGHT+IG97X6QEDT1w5Cy8eMd2dGsWqLXguZE87Wco8bA4iE3D3bjT+UJiYI/C6vdjH9Wm31McPcoGA== X-Received: by 2002:a05:6000:20c4:b0:3b5:f93a:bcc with SMTP id ffacd0b85a97d-3b5f93a0e5emr6643111f8f.35.1752560381318; Mon, 14 Jul 2025 23:19:41 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Richard Henderson , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 04/17] target/mips: Convert Octeon LX instructions to decodetree Date: Tue, 15 Jul 2025 08:19:04 +0200 Message-ID: <20250715061918.44971-5-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560441101116600 Use Octeon decodetree to call gen_lx() for the LX instructions. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pavel Dovgalyuk Reviewed-by: Richard Henderson Message-Id: <20241111222936.59869-4-philmd@linaro.org> --- target/mips/tcg/octeon.decode | 8 ++++++++ target/mips/tcg/octeon_translate.c | 12 ++++++++++++ target/mips/tcg/translate.c | 4 +--- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/target/mips/tcg/octeon.decode b/target/mips/tcg/octeon.decode index 0c787cb498c..102a05860df 100644 --- a/target/mips/tcg/octeon.decode +++ b/target/mips/tcg/octeon.decode @@ -1,6 +1,7 @@ # Octeon Architecture Module instruction set # # Copyright (C) 2022 Pavel Dovgalyuk +# Copyright (C) 2024 Philippe Mathieu-Daud=C3=A9 # # SPDX-License-Identifier: LGPL-2.1-or-later # @@ -39,3 +40,10 @@ CINS 011100 ..... ..... ..... ..... 11001 . @bit= field POP 011100 rs:5 00000 rd:5 00000 10110 dw:1 SEQNE 011100 rs:5 rt:5 rd:5 00000 10101 ne:1 SEQNEI 011100 rs:5 rt:5 imm:s10 10111 ne:1 + +&lx base index rd +@lx ...... base:5 index:5 rd:5 ...... ..... &lx +LWX 011111 ..... ..... ..... 00000 001010 @lx +LHX 011111 ..... ..... ..... 00100 001010 @lx +LBUX 011111 ..... ..... ..... 00110 001010 @lx +LDX 011111 ..... ..... ..... 01000 001010 @lx diff --git a/target/mips/tcg/octeon_translate.c b/target/mips/tcg/octeon_tr= anslate.c index d9eb43716e2..b2eca29e06c 100644 --- a/target/mips/tcg/octeon_translate.c +++ b/target/mips/tcg/octeon_translate.c @@ -174,3 +174,15 @@ static bool trans_SEQNEI(DisasContext *ctx, arg_SEQNEI= *a) } return true; } + +static bool trans_lx(DisasContext *ctx, arg_lx *a, MemOp mop) +{ + gen_lx(ctx, a->rd, a->base, a->index, mop); + + return true; +} + +TRANS(LBUX, trans_lx, MO_UB); +TRANS(LHX, trans_lx, MO_SW); +TRANS(LWX, trans_lx, MO_SL); +TRANS(LDX, trans_lx, MO_UQ); diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index b9b2d8bb7e1..d91d6efe02c 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -13607,9 +13607,7 @@ static void decode_opc_special3_legacy(CPUMIPSState= *env, DisasContext *ctx) } break; case OPC_LX_DSP: - if (!(ctx->insn_flags & INSN_OCTEON)) { - check_dsp(ctx); - } + check_dsp(ctx); op2 =3D MASK_LX(ctx->opcode); switch (op2) { #if defined(TARGET_MIPS64) --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560893; cv=none; d=zohomail.com; s=zohoarc; b=lSE56mFxhTUmYKc6BwtRHtUu0NkxHtCZRF+3mavQH8HWVBtgp9sToCDoY5ao/qduoY12Xj/nhwDSV4g9cF4L3EDM+edV2134tcZb0rYBma5yozMrR7AsgfqnzZ0rgwSUK/58C4tfOJjPJHdvYWrweNlxapOTVrMKmtWkR/ulKz8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560893; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0oLj9I136vA6ZJns/MpzluU+zNCyNhpu0U3nlVsQVbc=; b=HFiXREQDjGex9HU7aAwGhtRiTbvEUn3XvHh653aMGRpO1UAXqXfxzc6fwhN8nJd6H7Wt3Antqsf9Wh4wFQdJD7l5XvOdbimFIDAL7AmkRTwhrdzBYKzgVlAEndzq7WL0kCjaR5qXozK8y7LKjMWskdjxchJlnMxymf8o+09xWw8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560893106807.3588653945835; Mon, 14 Jul 2025 23:28:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ17-0002K4-PS; Tue, 15 Jul 2025 02:19:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ14-0002I5-Ep for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:50 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ12-00073r-Eb for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:50 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a6cdc27438so4184210f8f.2 for ; Mon, 14 Jul 2025 23:19:47 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e135sm14338578f8f.72.2025.07.14.23.19.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560386; x=1753165186; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0oLj9I136vA6ZJns/MpzluU+zNCyNhpu0U3nlVsQVbc=; b=C7Pm0/GsizP4CRVleM8cCEHpDlYhbpqXNa0Ukh80UjEOXy613cd1ZsbuZquzD2SY+h JryUVAYWhNNi1LeaOHU5Tuz6xUlX24xVS9CMiXmPLJOwazmwBNiDyA3ZtJZw2G08Myt7 +3daW1oA3A/mboQQtHDTkiZKDMSfKX/g6Y/gTUyhGpRZ73Cab7mhlv93Jkt+noUWcStm sbg0KDvT+j6baVhV51MySghUWV6+LfiaSN4yik0hQliMvnSmf/i5+iWX5JRoWhl7Cuc3 HxUbXjtmGwBKUx7UyLiwQwxo1eOt28TDcG705QHn1bXEY36Ti6nig80rLs9W9aipfPJA Zm7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560386; x=1753165186; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0oLj9I136vA6ZJns/MpzluU+zNCyNhpu0U3nlVsQVbc=; b=oeCw5i8w0lVUNMvaGCJ8pWin1IsyvCG5TY+jOq6pzhlyeoSFmnCPvhjTA7kHvt0XDH eapFTAy2mpIdyCcC4ixVB3bVJMsoR3C8yDlZTK0mHu/E5RU3cuw96fEmfvT75EJ3Rzpl RfRGzg7UrXrvaYTenkp2Ynt5qPUlAzW5z2uwdplCd70Ms5YATmZ8aQM32w8Pa9g2BgT6 20zMgJCWL2ZXlbXda619kdjy+BP+pvu+YityN4mo+kz0WvlBQM2bqIb/roeez1UhjwVH 5fdvnGl6tuddkG1G5YvCB+2CBbxQ0vCJd3y08tOHmTChRuDdwG5l1aEUCT47u2twKDgF GsLQ== X-Gm-Message-State: AOJu0Yy7SNYyB6KXamg3hvPu/2lfNlpL6EsksqHskyFUvedFMnp8meiu 4j24QbsoFrDLcPHIgZa8bDDenkIWD1pUEKAdKF1KojkyMUUArGWCfaT0qrIu+cx1phvknyKCYpI OctQa X-Gm-Gg: ASbGncsjjX6jH0Pv6YF6NoLJy6kLLm/g6p4aBNLpi8Kv0O2OBrIDjnfYDAVNKBGLEiZ suoJ9hxyrNad1J8q//kgn4WJMalesxos1H9hunMpZBwiMyg/qK4uuHGLMYwIDq7BPbyyt5uJ+1o Tpu815Q5KtKHAQ8sjRkKjmxWVNBi4wc7XKZZTUlp9Ue/GH29HTr0niLdAepeJkSmNcw5t6T2ofc 7bam17YDGAa7JiuTuwCe91I5UbSFL29B6l/qxjhudsYA174Nv+57Ax4AASpIA8GhDGLVihrDAc8 WxRYEcIErLNJO7Ci5PIcC+vNBMMgwYIoBxUdS24YndoVIJi/5YE0eFcWskmy8O550eBp9l//1BX OGruavoKiiWfRjWmR09W9Zp5uotUKLJ931t91h+ZYUxHReB2u7VlZ9D1sbeTBOLHgZbQj1gCc X-Google-Smtp-Source: AGHT+IHkq1ccNKUzGMehQoWdsomNsA7HAMbw1ngTaheYWlB4DZdtgMTDOMIFvfWLf/hPt8DPdjNBlg== X-Received: by 2002:a05:6000:144b:b0:3b4:9721:2b13 with SMTP id ffacd0b85a97d-3b5f2dbef03mr12739369f8f.14.1752560386117; Mon, 14 Jul 2025 23:19:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo Subject: [PULL 05/17] target/mips: Have gen_[d]lsa() callers add 1 to shift amount argument Date: Tue, 15 Jul 2025 08:19:05 +0200 Message-ID: <20250715061918.44971-6-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560895539116600 Having the callee add 1 to shift amount is misleading (see the NM_LSA case in decode_nanomips_32_48_opc() where we have to manually substract 1). Rather have the callers pass a modified $sa. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20241112172022.88348-4-philmd@linaro.org> --- target/mips/tcg/msa_translate.c | 4 ++-- target/mips/tcg/rel6_translate.c | 4 ++-- target/mips/tcg/translate_addr_const.c | 4 ++-- target/mips/tcg/micromips_translate.c.inc | 2 +- target/mips/tcg/nanomips_translate.c.inc | 7 +------ 5 files changed, 8 insertions(+), 13 deletions(-) diff --git a/target/mips/tcg/msa_translate.c b/target/mips/tcg/msa_translat= e.c index 75cf80a20ed..82b149922fa 100644 --- a/target/mips/tcg/msa_translate.c +++ b/target/mips/tcg/msa_translate.c @@ -780,7 +780,7 @@ TRANS_DF_iv(ST, trans_msa_ldst, gen_helper_msa_st); =20 static bool trans_LSA(DisasContext *ctx, arg_r *a) { - return gen_lsa(ctx, a->rd, a->rt, a->rs, a->sa); + return gen_lsa(ctx, a->rd, a->rt, a->rs, a->sa + 1); } =20 static bool trans_DLSA(DisasContext *ctx, arg_r *a) @@ -788,5 +788,5 @@ static bool trans_DLSA(DisasContext *ctx, arg_r *a) if (TARGET_LONG_BITS !=3D 64) { return false; } - return gen_dlsa(ctx, a->rd, a->rt, a->rs, a->sa); + return gen_dlsa(ctx, a->rd, a->rt, a->rs, a->sa + 1); } diff --git a/target/mips/tcg/rel6_translate.c b/target/mips/tcg/rel6_transl= ate.c index 89335063977..4c056621c97 100644 --- a/target/mips/tcg/rel6_translate.c +++ b/target/mips/tcg/rel6_translate.c @@ -23,7 +23,7 @@ bool trans_REMOVED(DisasContext *ctx, arg_REMOVED *a) =20 static bool trans_LSA(DisasContext *ctx, arg_r *a) { - return gen_lsa(ctx, a->rd, a->rt, a->rs, a->sa); + return gen_lsa(ctx, a->rd, a->rt, a->rs, a->sa + 1); } =20 static bool trans_DLSA(DisasContext *ctx, arg_r *a) @@ -31,7 +31,7 @@ static bool trans_DLSA(DisasContext *ctx, arg_r *a) if (TARGET_LONG_BITS !=3D 64) { return false; } - return gen_dlsa(ctx, a->rd, a->rt, a->rs, a->sa); + return gen_dlsa(ctx, a->rd, a->rt, a->rs, a->sa + 1); } =20 static bool trans_CRC32(DisasContext *ctx, arg_special3_crc *a) diff --git a/target/mips/tcg/translate_addr_const.c b/target/mips/tcg/trans= late_addr_const.c index 6f4b39f715b..1d140e918da 100644 --- a/target/mips/tcg/translate_addr_const.c +++ b/target/mips/tcg/translate_addr_const.c @@ -26,7 +26,7 @@ bool gen_lsa(DisasContext *ctx, int rd, int rt, int rs, i= nt sa) t1 =3D tcg_temp_new(); gen_load_gpr(t0, rs); gen_load_gpr(t1, rt); - tcg_gen_shli_tl(t0, t0, sa + 1); + tcg_gen_shli_tl(t0, t0, sa); tcg_gen_add_tl(cpu_gpr[rd], t0, t1); tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]); return true; @@ -47,7 +47,7 @@ bool gen_dlsa(DisasContext *ctx, int rd, int rt, int rs, = int sa) t1 =3D tcg_temp_new(); gen_load_gpr(t0, rs); gen_load_gpr(t1, rt); - tcg_gen_shli_tl(t0, t0, sa + 1); + tcg_gen_shli_tl(t0, t0, sa); tcg_gen_add_tl(cpu_gpr[rd], t0, t1); return true; } diff --git a/target/mips/tcg/micromips_translate.c.inc b/target/mips/tcg/mi= cromips_translate.c.inc index c479bec1081..8fda7c8a214 100644 --- a/target/mips/tcg/micromips_translate.c.inc +++ b/target/mips/tcg/micromips_translate.c.inc @@ -1795,7 +1795,7 @@ static void decode_micromips32_opc(CPUMIPSState *env,= DisasContext *ctx) return; case LSA: check_insn(ctx, ISA_MIPS_R6); - gen_lsa(ctx, rd, rt, rs, extract32(ctx->opcode, 9, 2)); + gen_lsa(ctx, rd, rt, rs, extract32(ctx->opcode, 9, 2) + 1); break; case ALIGN: check_insn(ctx, ISA_MIPS_R6); diff --git a/target/mips/tcg/nanomips_translate.c.inc b/target/mips/tcg/nan= omips_translate.c.inc index 1e274143bbd..9d4e0bee81f 100644 --- a/target/mips/tcg/nanomips_translate.c.inc +++ b/target/mips/tcg/nanomips_translate.c.inc @@ -3626,12 +3626,7 @@ static int decode_nanomips_32_48_opc(CPUMIPSState *e= nv, DisasContext *ctx) gen_p_lsx(ctx, rd, rs, rt); break; case NM_LSA: - /* - * In nanoMIPS, the shift field directly encodes the shift - * amount, meaning that the supported shift values are in - * the range 0 to 3 (instead of 1 to 4 in MIPSR6). - */ - gen_lsa(ctx, rd, rt, rs, extract32(ctx->opcode, 9, 2) - 1); + gen_lsa(ctx, rd, rt, rs, extract32(ctx->opcode, 9, 2)); break; case NM_EXTW: gen_ext(ctx, 32, rd, rs, rt, extract32(ctx->opcode, 6, 5)); --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560536; cv=none; d=zohomail.com; s=zohoarc; b=Vo3PY5RlvRJHK5WhCKDIfP/5QvVmE36kW8tzQF34ebTebg8Daf04re7LBxU1+tYZFWDWnqPJYdgB/cKbmDGEOVAcCNlDxEyEeNSLQb3AS+Kj56f+dlCAP6TFgHBkPU18PVs/ajQVNUTn2GoAmjPvpTdDJfUofqrSI4ppJbcbrCg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560536; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=l3MLTcRuffySxmo9fZCX5euu5HiVw+PIWupCatub9TA=; b=d3wIZoDo5aD+51S57dtSblU0g4xsrY8LWF2BiUxAvn9/FDGsyF0w9T3SP7PQud5lATgBcTqXHoo+Q1buNBodnCcxrw5S8Aq9zqXuz7oKYMEGHAiONrEpwAtiDhBdw1Ya0f4mOY/2IlCxxtcY+RaKQ+imTjFls9hmPFctwS1D2do= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560536274271.7004051688383; Mon, 14 Jul 2025 23:22:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1N-0002XU-44; Tue, 15 Jul 2025 02:20:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1D-0002Q3-Lk for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:59 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ17-000756-RD for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:19:57 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3ab112dea41so2725298f8f.1 for ; Mon, 14 Jul 2025 23:19:53 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d77asm14541552f8f.58.2025.07.14.23.19.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560392; x=1753165192; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l3MLTcRuffySxmo9fZCX5euu5HiVw+PIWupCatub9TA=; b=WvvOKxeOJ+ih6ZgZEtEawQ62CYJ8PRAePKQug19v/p/PlEadmpVKl8PsgXOWWAJUbk h/2L1LckHxxXA8VugNtohAik9/U5Xov2825z0oN7GofQ+NRFAR6aTIMgRc9ncfH329ag 5rYq5WJye8HXmtzQnqCIstODjedA52l4RZy5ZjHoDM0MHACPLE21ltOSJLUrXakZ2QWm TBTn67MWyuB16I8UCLumPlYxU/RqIIQY4GXlfAqc1OOH9EAWd0/keNYToVhLpcNzUggZ KKAP1kXvCniNLRfK+LNMpdqmZGG1GcWtz8wOImZdTLmGFIdssSI+9ekbUYBqrnGPldiY Otrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560392; x=1753165192; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l3MLTcRuffySxmo9fZCX5euu5HiVw+PIWupCatub9TA=; b=aUTrqBlX3KvM24AfhX0vXBRzKHvzcfA7Xj56gCxZEiqSWaCw2uwjZr4k3p9U4C8VEA yuZ1RzxCnEsDij0gqvHnPXdeWzsHNc1r7ZDfe0oVm5thraPIg6ZIqCPcpck1tN6chV/9 07KqEpKJ4K0yLnO1tlE5m9PmyfU82gJKRcYSWZ6CL3eCE6mF3NzfJUD2KFjE/2zrqFaG l7ZyeR1tZTfWtLyvHLtM1kWn6If9zBA3v6iD4VIvJ506IfcFQi7vaklga3h8X2HRxEYO YvBq8Onp+vy6ML/me7icIZqaW49ajdUSeT0iW7dtF1KjHmjcK07fliD3/3EGcWs6r4rk TrSw== X-Gm-Message-State: AOJu0Yx8GryqV+51voFq2xhdo/SS4Lv7zIeI72k8IZ5IzUYzSP3f0NI6 28GzkW31jTVre/bM2W8yB8Yosk8Q8xOx6BQns8aSE0WjJL4QMUIJ2DTRN9RcKoJ+QTkbgKYzNLB VPZsP X-Gm-Gg: ASbGncvW9HB2odzBONILzUxjkwgZYzqTP1IVBWKMzQqHzMr64mEpOBoe/qPlHgGrNM7 DURSJkNdCEsrL7rrRfJ5IQ3Hsm9CCh2s5/HlxA5NyWnLaZNIyxvhLUADe4b6nA5vqkfFhGwOBrx VPPHFBY1fQCCi9B07/gKUP+yrz6cTVgcVBHl2JZe6haGxTtt25nj4Y9TrE53SysiyQbAPhKCBJn FXkptEmPfK6K38z03thZHzuOfNYY9I9i+hT4vHidnLjgrUQmH+8S+SdKextsQIjORrqM1Y1w3dw Y154OdVwC/kJGfrkfrpjEXv5Ahoh9cPeC4rb6jrSFxh6IFgC2M1eoxvBh7BInMQmOxD6E+daIWh jO44toCARB1sDCuMeKB3Tw+PANrfnpv+MulbjZ9kH+rXqWYhgCqODwRVwA1Fuvoapyl9EkGw3 X-Google-Smtp-Source: AGHT+IHqUP9MTR6WKxixK7k0vLBdS+ARvfTSNxCFAURB+Bk6495ZZ6+eCi52/NogwdOu2okG/t8mBw== X-Received: by 2002:a05:6000:25c1:b0:3a4:e4ee:4ca9 with SMTP id ffacd0b85a97d-3b5f35416b9mr10329750f8f.23.1752560391291; Mon, 14 Jul 2025 23:19:51 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rakic , Yongbok Kim , Aleksandar Markovic , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Jiaxun Yang Subject: [PULL 06/17] tests/tcg/mips: Add tests for MIPS CRC32[c] instructions Date: Tue, 15 Jul 2025 08:19:06 +0200 Message-ID: <20250715061918.44971-7-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560537812116600 From: Aleksandar Rakic Signed-off-by: Yongbok Kim Signed-off-by: Aleksandar Markovic Signed-off-by: Aleksandar Rakic Reviewed-by: Aleksandar Rikalo Message-ID: <20250214173702.2308488-3-aleksandar.rakic@htecgroup.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/tcg/mips/include/wrappers_mips64r6.h | 32 ++++ .../isa/mips64r6/crc/test_mips64r6_crc32b.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32cb.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32cd.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32ch.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32cw.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32d.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32h.c | 142 ++++++++++++++++++ .../isa/mips64r6/crc/test_mips64r6_crc32w.c | 142 ++++++++++++++++++ tests/tcg/mips/user/isa/mips64r6/crc/Makefile | 40 +++++ 10 files changed, 1208 insertions(+) create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2b.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2cb.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2cd.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2ch.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2cw.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2d.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2h.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc3= 2w.c create mode 100644 tests/tcg/mips/user/isa/mips64r6/crc/Makefile diff --git a/tests/tcg/mips/include/wrappers_mips64r6.h b/tests/tcg/mips/in= clude/wrappers_mips64r6.h index d1e5edb632e..33d03de50b2 100644 --- a/tests/tcg/mips/include/wrappers_mips64r6.h +++ b/tests/tcg/mips/include/wrappers_mips64r6.h @@ -23,6 +23,7 @@ #ifndef WRAPPERS_MIPS64R6_H #define WRAPPERS_MIPS64R6_H =20 +#include =20 #define DO_MIPS64R6__RD__RS(suffix, mnemonic) \ static inline void do_mips64r6_##suffix(const void *input, \ @@ -80,4 +81,35 @@ DO_MIPS64R6__RD__RS_RT(DMULU, dmulu) DO_MIPS64R6__RD__RS_RT(DMUHU, dmuhu) =20 =20 +#define DO_MIPS64R6__RT__RS_RT(suffix, mnemonic) \ +static inline void do_mips64r6_##suffix(const void *input1, \ + const void *input2, \ + void *output) \ +{ \ + if (strncmp(#mnemonic, "crc32", 5) =3D=3D 0) = \ + __asm__ volatile ( \ + ".set crc\n\t" \ + ); \ + \ + __asm__ volatile ( \ + "ld $t1, 0(%0)\n\t" \ + "ld $t2, 0(%1)\n\t" \ + #mnemonic " $t2, $t1, $t2\n\t" \ + "sd $t2, 0(%2)\n\t" \ + : \ + : "r" (input1), "r" (input2), "r" (output) \ + : "t0", "t1", "t2", "memory" \ + ); \ +} + +DO_MIPS64R6__RT__RS_RT(CRC32B, crc32b) +DO_MIPS64R6__RT__RS_RT(CRC32H, crc32h) +DO_MIPS64R6__RT__RS_RT(CRC32W, crc32w) +DO_MIPS64R6__RT__RS_RT(CRC32D, crc32d) + +DO_MIPS64R6__RT__RS_RT(CRC32CB, crc32cb) +DO_MIPS64R6__RT__RS_RT(CRC32CH, crc32ch) +DO_MIPS64R6__RT__RS_RT(CRC32CW, crc32cw) +DO_MIPS64R6__RT__RS_RT(CRC32CD, crc32cd) + #endif diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32b.c b/= tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32b.c new file mode 100644 index 00000000000..bb1f3f69249 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32b.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32B + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0xEDB88320"; + char *instruction_name =3D "CRC32B"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0x0000000000ffffffULL, /* 0 */ + 0x000000002d02ef8dULL, + 0x000000001bab0fd1ULL, + 0x0000000036561fa3ULL, + 0xffffffffbf1caddaULL, + 0xffffffff92e1bda8ULL, + 0x00000000278c7949ULL, + 0x000000000a71693bULL, + 0x000000002dfd1072ULL, /* 8 */ + 0x0000000000000000ULL, + 0x0000000036a9e05cULL, + 0x000000001b54f02eULL, + 0xffffffff921e4257ULL, + 0xffffffffbfe35225ULL, + 0x000000000a8e96c4ULL, + 0x00000000277386b6ULL, + 0x000000001bfe5a84ULL, /* 16 */ + 0x0000000036034af6ULL, + 0x0000000000aaaaaaULL, + 0x000000002d57bad8ULL, + 0xffffffffa41d08a1ULL, + 0xffffffff89e018d3ULL, + 0x000000003c8ddc32ULL, + 0x000000001170cc40ULL, + 0x0000000036fcb509ULL, /* 24 */ + 0x000000001b01a57bULL, + 0x000000002da84527ULL, + 0x0000000000555555ULL, + 0xffffffff891fe72cULL, + 0xffffffffa4e2f75eULL, + 0x00000000118f33bfULL, + 0x000000003c7223cdULL, + 0xffffffffbf2f9ee9ULL, /* 32 */ + 0xffffffff92d28e9bULL, + 0xffffffffa47b6ec7ULL, + 0xffffffff89867eb5ULL, + 0x0000000000ccccccULL, + 0x000000002d31dcbeULL, + 0xffffffff985c185fULL, + 0xffffffffb5a1082dULL, + 0xffffffff922d7164ULL, /* 40 */ + 0xffffffffbfd06116ULL, + 0xffffffff8979814aULL, + 0xffffffffa4849138ULL, + 0x000000002dce2341ULL, + 0x0000000000333333ULL, + 0xffffffffb55ef7d2ULL, + 0xffffffff98a3e7a0ULL, + 0x0000000027fdbe55ULL, /* 48 */ + 0x000000000a00ae27ULL, + 0x000000003ca94e7bULL, + 0x0000000011545e09ULL, + 0xffffffff981eec70ULL, + 0xffffffffb5e3fc02ULL, + 0x00000000008e38e3ULL, + 0x000000002d732891ULL, + 0x000000000aff51d8ULL, /* 56 */ + 0x00000000270241aaULL, + 0x0000000011aba1f6ULL, + 0x000000003c56b184ULL, + 0xffffffffb51c03fdULL, + 0xffffffff98e1138fULL, + 0x000000002d8cd76eULL, + 0x000000000071c71cULL, + 0x0000000000286255ULL, /* 64 */ + 0x00000000784a5a65ULL, + 0xffffffff9bdd0d3bULL, + 0xffffffffe7e61ce5ULL, + 0x00000000782fabf7ULL, + 0x00000000004d93c7ULL, + 0xffffffffe3dac499ULL, + 0xffffffff9fe1d547ULL, + 0xffffffff9b4ca0e5ULL, /* 72 */ + 0xffffffffe32e98d5ULL, + 0x0000000000b9cf8bULL, + 0x000000007c82de55ULL, + 0xffffffffe7904f52ULL, + 0xffffffff9ff27762ULL, + 0x000000007c65203cULL, + 0x00000000005e31e2ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32B(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32B(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cb.c b= /tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cb.c new file mode 100644 index 00000000000..1439d44bf20 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cb.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32CB + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0x82F63B78"; + char *instruction_name =3D "CRC32CB"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0x0000000000ffffffULL, /* 0 */ + 0xffffffffad7d5351ULL, + 0x00000000647e6465ULL, + 0xffffffffc9fcc8cbULL, + 0x00000000237f7689ULL, + 0xffffffff8efdda27ULL, + 0xffffffff837defedULL, + 0x000000002eff4343ULL, + 0xffffffffad82acaeULL, /* 8 */ + 0x0000000000000000ULL, + 0xffffffffc9033734ULL, + 0x0000000064819b9aULL, + 0xffffffff8e0225d8ULL, + 0x0000000023808976ULL, + 0x000000002e00bcbcULL, + 0xffffffff83821012ULL, + 0x00000000642b3130ULL, /* 16 */ + 0xffffffffc9a99d9eULL, + 0x0000000000aaaaaaULL, + 0xffffffffad280604ULL, + 0x0000000047abb846ULL, + 0xffffffffea2914e8ULL, + 0xffffffffe7a92122ULL, + 0x000000004a2b8d8cULL, + 0xffffffffc9566261ULL, /* 24 */ + 0x0000000064d4cecfULL, + 0xffffffffadd7f9fbULL, + 0x0000000000555555ULL, + 0xffffffffead6eb17ULL, + 0x00000000475447b9ULL, + 0x000000004ad47273ULL, + 0xffffffffe756deddULL, + 0x00000000234c45baULL, /* 32 */ + 0xffffffff8ecee914ULL, + 0x0000000047cdde20ULL, + 0xffffffffea4f728eULL, + 0x0000000000ccccccULL, + 0xffffffffad4e6062ULL, + 0xffffffffa0ce55a8ULL, + 0x000000000d4cf906ULL, + 0xffffffff8e3116ebULL, /* 40 */ + 0x0000000023b3ba45ULL, + 0xffffffffeab08d71ULL, + 0x00000000473221dfULL, + 0xffffffffadb19f9dULL, + 0x0000000000333333ULL, + 0x000000000db306f9ULL, + 0xffffffffa031aa57ULL, + 0xffffffff830c28f1ULL, /* 48 */ + 0x000000002e8e845fULL, + 0xffffffffe78db36bULL, + 0x000000004a0f1fc5ULL, + 0xffffffffa08ca187ULL, + 0x000000000d0e0d29ULL, + 0x00000000008e38e3ULL, + 0xffffffffad0c944dULL, + 0x000000002e717ba0ULL, /* 56 */ + 0xffffffff83f3d70eULL, + 0x000000004af0e03aULL, + 0xffffffffe7724c94ULL, + 0x000000000df1f2d6ULL, + 0xffffffffa0735e78ULL, + 0xffffffffadf36bb2ULL, + 0x000000000071c71cULL, + 0x0000000000286255ULL, /* 64 */ + 0xffffffffcbefd6b4ULL, + 0xffffffffc334e94fULL, + 0xffffffffac268ec5ULL, + 0xffffffffcb8a2726ULL, + 0x00000000004d93c7ULL, + 0x000000000896ac3cULL, + 0x000000006784cbb6ULL, + 0xffffffffc3a54491ULL, /* 72 */ + 0x000000000862f070ULL, + 0x0000000000b9cf8bULL, + 0x000000006faba801ULL, + 0xffffffffac50dd72ULL, + 0x0000000067976993ULL, + 0x000000006f4c5668ULL, + 0x00000000005e31e2ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CB(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CB(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cd.c b= /tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cd.c new file mode 100644 index 00000000000..bf258e0696d --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cd.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32CD + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0x82F63B78"; + char *instruction_name =3D "CRC32CD"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0xffffffffb798b438ULL, /* 0 */ + 0xffffffffc44ff94dULL, + 0xffffffff992a70ebULL, + 0xffffffffeafd3d9eULL, + 0x000000005152da26ULL, + 0x0000000022859753ULL, + 0x0000000015cb6d32ULL, + 0x00000000661c2047ULL, + 0x0000000073d74d75ULL, /* 8 */ + 0x0000000000000000ULL, + 0x000000005d6589a6ULL, + 0x000000002eb2c4d3ULL, + 0xffffffff951d236bULL, + 0xffffffffe6ca6e1eULL, + 0xffffffffd184947fULL, + 0xffffffffa253d90aULL, + 0x0000000008f9ceacULL, /* 16 */ + 0x000000007b2e83d9ULL, + 0x00000000264b0a7fULL, + 0x00000000559c470aULL, + 0xffffffffee33a0b2ULL, + 0xffffffff9de4edc7ULL, + 0xffffffffaaaa17a6ULL, + 0xffffffffd97d5ad3ULL, + 0xffffffffccb637e1ULL, /* 24 */ + 0xffffffffbf617a94ULL, + 0xffffffffe204f332ULL, + 0xffffffff91d3be47ULL, + 0x000000002a7c59ffULL, + 0x0000000059ab148aULL, + 0x000000006ee5eeebULL, + 0x000000001d32a39eULL, + 0x0000000021e3b01bULL, /* 32 */ + 0x000000005234fd6eULL, + 0x000000000f5174c8ULL, + 0x000000007c8639bdULL, + 0xffffffffc729de05ULL, + 0xffffffffb4fe9370ULL, + 0xffffffff83b06911ULL, + 0xfffffffff0672464ULL, + 0xffffffffe5ac4956ULL, /* 40 */ + 0xffffffff967b0423ULL, + 0xffffffffcb1e8d85ULL, + 0xffffffffb8c9c0f0ULL, + 0x0000000003662748ULL, + 0x0000000070b16a3dULL, + 0x0000000047ff905cULL, + 0x000000003428dd29ULL, + 0xffffffffb89d59a6ULL, /* 48 */ + 0xffffffffcb4a14d3ULL, + 0xffffffff962f9d75ULL, + 0xffffffffe5f8d000ULL, + 0x000000005e5737b8ULL, + 0x000000002d807acdULL, + 0x000000001ace80acULL, + 0x000000006919cdd9ULL, + 0x000000007cd2a0ebULL, /* 56 */ + 0x000000000f05ed9eULL, + 0x0000000052606438ULL, + 0x0000000021b7294dULL, + 0xffffffff9a18cef5ULL, + 0xffffffffe9cf8380ULL, + 0xffffffffde8179e1ULL, + 0xffffffffad563494ULL, + 0x000000003a358bb3ULL, /* 64 */ + 0xffffffff975446ebULL, + 0x0000000041d37ad6ULL, + 0x000000004be84fe1ULL, + 0xffffffff9671b1b3ULL, + 0x000000003b107cebULL, + 0xffffffffed9740d6ULL, + 0xffffffffe7ac75e1ULL, + 0xffffffffa1489696ULL, /* 72 */ + 0x000000000c295bceULL, + 0xffffffffdaae67f3ULL, + 0xffffffffd09552c4ULL, + 0x0000000042bd7071ULL, + 0xffffffffefdcbd29ULL, + 0x00000000395b8114ULL, + 0x000000003360b423ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CD(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CD(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32ch.c b= /tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32ch.c new file mode 100644 index 00000000000..0e7b67732e0 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32ch.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32CH + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0x82F63B78"; + char *instruction_name =3D "CRC32CH"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0x000000000000ffffULL, /* 0 */ + 0x000000000e9e77d2ULL, + 0xfffffffff92eaa4bULL, + 0xfffffffff7b02266ULL, + 0x00000000571acc93ULL, + 0x00000000598444beULL, + 0xfffffffff1e6ca77ULL, + 0xffffffffff78425aULL, + 0x000000000e9e882dULL, /* 8 */ + 0x0000000000000000ULL, + 0xfffffffff7b0dd99ULL, + 0xfffffffff92e55b4ULL, + 0x000000005984bb41ULL, + 0x00000000571a336cULL, + 0xffffffffff78bda5ULL, + 0xfffffffff1e63588ULL, + 0xfffffffff92eff1eULL, /* 16 */ + 0xfffffffff7b07733ULL, + 0x000000000000aaaaULL, + 0x000000000e9e2287ULL, + 0xffffffffae34cc72ULL, + 0xffffffffa0aa445fULL, + 0x0000000008c8ca96ULL, + 0x00000000065642bbULL, + 0xfffffffff7b088ccULL, /* 24 */ + 0xfffffffff92e00e1ULL, + 0x000000000e9edd78ULL, + 0x0000000000005555ULL, + 0xffffffffa0aabba0ULL, + 0xffffffffae34338dULL, + 0x000000000656bd44ULL, + 0x0000000008c83569ULL, + 0x00000000571affa0ULL, /* 32 */ + 0x000000005984778dULL, + 0xffffffffae34aa14ULL, + 0xffffffffa0aa2239ULL, + 0x000000000000ccccULL, + 0x000000000e9e44e1ULL, + 0xffffffffa6fcca28ULL, + 0xffffffffa8624205ULL, + 0x0000000059848872ULL, /* 40 */ + 0x00000000571a005fULL, + 0xffffffffa0aaddc6ULL, + 0xffffffffae3455ebULL, + 0x000000000e9ebb1eULL, + 0x0000000000003333ULL, + 0xffffffffa862bdfaULL, + 0xffffffffa6fc35d7ULL, + 0xfffffffff1e6bbb0ULL, /* 48 */ + 0xffffffffff78339dULL, + 0x0000000008c8ee04ULL, + 0x0000000006566629ULL, + 0xffffffffa6fc88dcULL, + 0xffffffffa86200f1ULL, + 0x0000000000008e38ULL, + 0x000000000e9e0615ULL, + 0xffffffffff78cc62ULL, /* 56 */ + 0xfffffffff1e6444fULL, + 0x00000000065699d6ULL, + 0x0000000008c811fbULL, + 0xffffffffa862ff0eULL, + 0xffffffffa6fc7723ULL, + 0x000000000e9ef9eaULL, + 0x00000000000071c7ULL, + 0x0000000000002862ULL, /* 64 */ + 0x000000001190c4cfULL, + 0x000000007b7fdbbeULL, + 0xffffffff9204da99ULL, + 0x000000001190a13eULL, + 0x0000000000004d93ULL, + 0x000000006aef52e2ULL, + 0xffffffff839453c5ULL, + 0x000000007b7f4a13ULL, /* 72 */ + 0x000000006aefa6beULL, + 0x000000000000b9cfULL, + 0xffffffffe97bb8e8ULL, + 0xffffffff9204accaULL, + 0xffffffff83944067ULL, + 0xffffffffe97b5f16ULL, + 0x0000000000005e31ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CH(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CH(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cw.c b= /tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cw.c new file mode 100644 index 00000000000..f7110b3a0a4 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32cw.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32CW + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0x82F63B78"; + char *instruction_name =3D "CRC32CW"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0x0000000000000000ULL, /* 0 */ + 0xffffffffb798b438ULL, + 0xffffffff91d3be47ULL, + 0x00000000264b0a7fULL, + 0x0000000070b16a3dULL, + 0xffffffffc729de05ULL, + 0x0000000063c5950aULL, + 0xffffffffd45d2132ULL, + 0xffffffffb798b438ULL, /* 8 */ + 0x0000000000000000ULL, + 0x00000000264b0a7fULL, + 0xffffffff91d3be47ULL, + 0xffffffffc729de05ULL, + 0x0000000070b16a3dULL, + 0xffffffffd45d2132ULL, + 0x0000000063c5950aULL, + 0xffffffff91d3be47ULL, /* 16 */ + 0x00000000264b0a7fULL, + 0x0000000000000000ULL, + 0xffffffffb798b438ULL, + 0xffffffffe162d47aULL, + 0x0000000056fa6042ULL, + 0xfffffffff2162b4dULL, + 0x00000000458e9f75ULL, + 0x00000000264b0a7fULL, /* 24 */ + 0xffffffff91d3be47ULL, + 0xffffffffb798b438ULL, + 0x0000000000000000ULL, + 0x0000000056fa6042ULL, + 0xffffffffe162d47aULL, + 0x00000000458e9f75ULL, + 0xfffffffff2162b4dULL, + 0x0000000070b16a3dULL, /* 32 */ + 0xffffffffc729de05ULL, + 0xffffffffe162d47aULL, + 0x0000000056fa6042ULL, + 0x0000000000000000ULL, + 0xffffffffb798b438ULL, + 0x000000001374ff37ULL, + 0xffffffffa4ec4b0fULL, + 0xffffffffc729de05ULL, /* 40 */ + 0x0000000070b16a3dULL, + 0x0000000056fa6042ULL, + 0xffffffffe162d47aULL, + 0xffffffffb798b438ULL, + 0x0000000000000000ULL, + 0xffffffffa4ec4b0fULL, + 0x000000001374ff37ULL, + 0x0000000063c5950aULL, /* 48 */ + 0xffffffffd45d2132ULL, + 0xfffffffff2162b4dULL, + 0x00000000458e9f75ULL, + 0x000000001374ff37ULL, + 0xffffffffa4ec4b0fULL, + 0x0000000000000000ULL, + 0xffffffffb798b438ULL, + 0xffffffffd45d2132ULL, /* 56 */ + 0x0000000063c5950aULL, + 0x00000000458e9f75ULL, + 0xfffffffff2162b4dULL, + 0xffffffffa4ec4b0fULL, + 0x000000001374ff37ULL, + 0xffffffffb798b438ULL, + 0x0000000000000000ULL, + 0x0000000000000000ULL, /* 64 */ + 0xffffffffea0755b2ULL, + 0x0000000008b188e6ULL, + 0xffffffffff3cc8d9ULL, + 0xffffffffea0755b2ULL, + 0x0000000000000000ULL, + 0xffffffffe2b6dd54ULL, + 0x00000000153b9d6bULL, + 0x0000000008b188e6ULL, /* 72 */ + 0xffffffffe2b6dd54ULL, + 0x0000000000000000ULL, + 0xfffffffff78d403fULL, + 0xffffffffff3cc8d9ULL, + 0x00000000153b9d6bULL, + 0xfffffffff78d403fULL, + 0x0000000000000000ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CW(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32CW(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32d.c b/= tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32d.c new file mode 100644 index 00000000000..e391be803f7 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32d.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32D + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0xEDB88320"; + char *instruction_name =3D "CRC32D"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0xffffffffdebb20e3ULL, /* 0 */ + 0x0000000044660075ULL, + 0x000000001e20c2aeULL, + 0xffffffff84fde238ULL, + 0x00000000281d7ce7ULL, + 0xffffffffb2c05c71ULL, + 0xffffffffd660a024ULL, + 0x000000004cbd80b2ULL, + 0xffffffff9add2096ULL, /* 8 */ + 0x0000000000000000ULL, + 0x000000005a46c2dbULL, + 0xffffffffc09be24dULL, + 0x000000006c7b7c92ULL, + 0xfffffffff6a65c04ULL, + 0xffffffff9206a051ULL, + 0x0000000008db80c7ULL, + 0x000000005449dd0fULL, /* 16 */ + 0xffffffffce94fd99ULL, + 0xffffffff94d23f42ULL, + 0x000000000e0f1fd4ULL, + 0xffffffffa2ef810bULL, + 0x000000003832a19dULL, + 0x000000005c925dc8ULL, + 0xffffffffc64f7d5eULL, + 0x00000000102fdd7aULL, /* 24 */ + 0xffffffff8af2fdecULL, + 0xffffffffd0b43f37ULL, + 0x000000004a691fa1ULL, + 0xffffffffe689817eULL, + 0x000000007c54a1e8ULL, + 0x0000000018f45dbdULL, + 0xffffffff82297d2bULL, + 0xffffffffa7157447ULL, /* 32 */ + 0x000000003dc854d1ULL, + 0x00000000678e960aULL, + 0xfffffffffd53b69cULL, + 0x0000000051b32843ULL, + 0xffffffffcb6e08d5ULL, + 0xffffffffafcef480ULL, + 0x000000003513d416ULL, + 0xffffffffe3737432ULL, /* 40 */ + 0x0000000079ae54a4ULL, + 0x0000000023e8967fULL, + 0xffffffffb935b6e9ULL, + 0x0000000015d52836ULL, + 0xffffffff8f0808a0ULL, + 0xffffffffeba8f4f5ULL, + 0x000000007175d463ULL, + 0x000000007a6adc3eULL, /* 48 */ + 0xffffffffe0b7fca8ULL, + 0xffffffffbaf13e73ULL, + 0x00000000202c1ee5ULL, + 0xffffffff8ccc803aULL, + 0x000000001611a0acULL, + 0x0000000072b15cf9ULL, + 0xffffffffe86c7c6fULL, + 0x000000003e0cdc4bULL, /* 56 */ + 0xffffffffa4d1fcddULL, + 0xfffffffffe973e06ULL, + 0x00000000644a1e90ULL, + 0xffffffffc8aa804fULL, + 0x000000005277a0d9ULL, + 0x0000000036d75c8cULL, + 0xffffffffac0a7c1aULL, + 0xffffffffed857593ULL, /* 64 */ + 0xffffffffe0b6f95fULL, + 0x00000000253b462cULL, + 0xffffffffe15579b9ULL, + 0x0000000074897c83ULL, + 0x0000000079baf04fULL, + 0xffffffffbc374f3cULL, + 0x00000000785970a9ULL, + 0xffffffffa6bae0a9ULL, /* 72 */ + 0xffffffffab896c65ULL, + 0x000000006e04d316ULL, + 0xffffffffaa6aec83ULL, + 0x000000005ae171feULL, + 0x0000000057d2fd32ULL, + 0xffffffff925f4241ULL, + 0x0000000056317dd4ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32D(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32D(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32h.c b/= tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32h.c new file mode 100644 index 00000000000..100f02c7dda --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32h.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32H + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0xEDB88320"; + char *instruction_name =3D "CRC32H"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0x000000000000ffffULL, /* 0 */ + 0xffffffffbe2612ffULL, + 0xffffffffdccda6c0ULL, + 0x0000000062eb4bc0ULL, + 0x000000004bbbc8eaULL, + 0xfffffffff59d25eaULL, + 0x0000000022259ac0ULL, + 0xffffffff9c0377c0ULL, + 0xffffffffbe26ed00ULL, /* 8 */ + 0x0000000000000000ULL, + 0x0000000062ebb43fULL, + 0xffffffffdccd593fULL, + 0xfffffffff59dda15ULL, + 0x000000004bbb3715ULL, + 0xffffffff9c03883fULL, + 0x000000002225653fULL, + 0xffffffffdccdf395ULL, /* 16 */ + 0x0000000062eb1e95ULL, + 0x000000000000aaaaULL, + 0xffffffffbe2647aaULL, + 0xffffffff9776c480ULL, + 0x0000000029502980ULL, + 0xfffffffffee896aaULL, + 0x0000000040ce7baaULL, + 0x0000000062ebe16aULL, /* 24 */ + 0xffffffffdccd0c6aULL, + 0xffffffffbe26b855ULL, + 0x0000000000005555ULL, + 0x000000002950d67fULL, + 0xffffffff97763b7fULL, + 0x0000000040ce8455ULL, + 0xfffffffffee86955ULL, + 0x000000004bbbfbd9ULL, /* 32 */ + 0xfffffffff59d16d9ULL, + 0xffffffff9776a2e6ULL, + 0x0000000029504fe6ULL, + 0x000000000000ccccULL, + 0xffffffffbe2621ccULL, + 0x00000000699e9ee6ULL, + 0xffffffffd7b873e6ULL, + 0xfffffffff59de926ULL, /* 40 */ + 0x000000004bbb0426ULL, + 0x000000002950b019ULL, + 0xffffffff97765d19ULL, + 0xffffffffbe26de33ULL, + 0x0000000000003333ULL, + 0xffffffffd7b88c19ULL, + 0x00000000699e6119ULL, + 0x000000002225eb07ULL, /* 48 */ + 0xffffffff9c030607ULL, + 0xfffffffffee8b238ULL, + 0x0000000040ce5f38ULL, + 0x00000000699edc12ULL, + 0xffffffffd7b83112ULL, + 0x0000000000008e38ULL, + 0xffffffffbe266338ULL, + 0xffffffff9c03f9f8ULL, /* 56 */ + 0x00000000222514f8ULL, + 0x0000000040cea0c7ULL, + 0xfffffffffee84dc7ULL, + 0xffffffffd7b8ceedULL, + 0x00000000699e23edULL, + 0xffffffffbe269cc7ULL, + 0x00000000000071c7ULL, + 0x0000000000002862ULL, /* 64 */ + 0x0000000026a17af6ULL, + 0xffffffffaa919152ULL, + 0xffffffffcb865590ULL, + 0x0000000026a11f07ULL, + 0x0000000000004d93ULL, + 0xffffffff8c30a637ULL, + 0xffffffffed2762f5ULL, + 0xffffffffaa9100ffULL, /* 72 */ + 0xffffffff8c30526bULL, + 0x000000000000b9cfULL, + 0x0000000061177d0dULL, + 0xffffffffcb8623c3ULL, + 0xffffffffed277157ULL, + 0x0000000061179af3ULL, + 0x0000000000005e31ULL + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32H(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32H(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32w.c b/= tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32w.c new file mode 100644 index 00000000000..b4f5f4bbee2 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/test_mips64r6_crc32w.c @@ -0,0 +1,142 @@ +/* + * Test program for MIPS64R6 instruction CRC32W + * + * Copyright (C) 2019 Wave Computing, Inc. + * Copyright (C) 2019 Aleksandar Markovic + * Copyright (C) 2025 Aleksandar Rakic + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include +#include + +#include "../../../../include/wrappers_mips64r6.h" +#include "../../../../include/test_inputs_64.h" +#include "../../../../include/test_utils_64.h" + +#define TEST_COUNT_TOTAL (PATTERN_INPUTS_64_COUNT + RANDOM_INPUTS_64_COUNT) + +int32_t main(void) +{ + char *isa_ase_name =3D "mips64r6"; + char *group_name =3D "CRC with reversed polynomial 0xEDB88320"; + char *instruction_name =3D "CRC32W"; + int32_t ret; + uint32_t i, j; + struct timeval start, end; + double elapsed_time; + + uint64_t b64_result[TEST_COUNT_TOTAL]; + uint64_t b64_expect[TEST_COUNT_TOTAL] =3D { + 0x0000000000000000ULL, /* 0 */ + 0xffffffffdebb20e3ULL, + 0x000000004a691fa1ULL, + 0xffffffff94d23f42ULL, + 0xffffffff8f0808a0ULL, + 0x0000000051b32843ULL, + 0x0000000065069dceULL, + 0xffffffffbbbdbd2dULL, + 0xffffffffdebb20e3ULL, /* 8 */ + 0x0000000000000000ULL, + 0xffffffff94d23f42ULL, + 0x000000004a691fa1ULL, + 0x0000000051b32843ULL, + 0xffffffff8f0808a0ULL, + 0xffffffffbbbdbd2dULL, + 0x0000000065069dceULL, + 0x000000004a691fa1ULL, /* 16 */ + 0xffffffff94d23f42ULL, + 0x0000000000000000ULL, + 0xffffffffdebb20e3ULL, + 0xffffffffc5611701ULL, + 0x000000001bda37e2ULL, + 0x000000002f6f826fULL, + 0xfffffffff1d4a28cULL, + 0xffffffff94d23f42ULL, /* 24 */ + 0x000000004a691fa1ULL, + 0xffffffffdebb20e3ULL, + 0x0000000000000000ULL, + 0x000000001bda37e2ULL, + 0xffffffffc5611701ULL, + 0xfffffffff1d4a28cULL, + 0x000000002f6f826fULL, + 0xffffffff8f0808a0ULL, /* 32 */ + 0x0000000051b32843ULL, + 0xffffffffc5611701ULL, + 0x000000001bda37e2ULL, + 0x0000000000000000ULL, + 0xffffffffdebb20e3ULL, + 0xffffffffea0e956eULL, + 0x0000000034b5b58dULL, + 0x0000000051b32843ULL, /* 40 */ + 0xffffffff8f0808a0ULL, + 0x000000001bda37e2ULL, + 0xffffffffc5611701ULL, + 0xffffffffdebb20e3ULL, + 0x0000000000000000ULL, + 0x0000000034b5b58dULL, + 0xffffffffea0e956eULL, + 0x0000000065069dceULL, /* 48 */ + 0xffffffffbbbdbd2dULL, + 0x000000002f6f826fULL, + 0xfffffffff1d4a28cULL, + 0xffffffffea0e956eULL, + 0x0000000034b5b58dULL, + 0x0000000000000000ULL, + 0xffffffffdebb20e3ULL, + 0xffffffffbbbdbd2dULL, /* 56 */ + 0x0000000065069dceULL, + 0xfffffffff1d4a28cULL, + 0x000000002f6f826fULL, + 0x0000000034b5b58dULL, + 0xffffffffea0e956eULL, + 0xffffffffdebb20e3ULL, + 0x0000000000000000ULL, + 0x0000000000000000ULL, /* 64 */ + 0xffffffff90485967ULL, + 0x000000006dfb974aULL, + 0x00000000083e4538ULL, + 0xffffffff90485967ULL, + 0x0000000000000000ULL, + 0xfffffffffdb3ce2dULL, + 0xffffffff98761c5fULL, + 0x000000006dfb974aULL, /* 72 */ + 0xfffffffffdb3ce2dULL, + 0x0000000000000000ULL, + 0x0000000065c5d272ULL, + 0x00000000083e4538ULL, + 0xffffffff98761c5fULL, + 0x0000000065c5d272ULL, + 0x0000000000000000ULL, + }; + + gettimeofday(&start, NULL); + + for (i =3D 0; i < PATTERN_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < PATTERN_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32W(b64_pattern + i, b64_pattern + j, + b64_result + (PATTERN_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + for (i =3D 0; i < RANDOM_INPUTS_64_SHORT_COUNT; i++) { + for (j =3D 0; j < RANDOM_INPUTS_64_SHORT_COUNT; j++) { + do_mips64r6_CRC32W(b64_random + i, b64_random + j, + b64_result + (((PATTERN_INPUTS_64_SHORT_COUNT) * + (PATTERN_INPUTS_64_SHORT_COUNT)) + + RANDOM_INPUTS_64_SHORT_COUNT * i + j)); + } + } + + gettimeofday(&end, NULL); + + elapsed_time =3D (end.tv_sec - start.tv_sec) * 1000.0; + elapsed_time +=3D (end.tv_usec - start.tv_usec) / 1000.0; + + ret =3D check_results_64(isa_ase_name, group_name, instruction_name, + TEST_COUNT_TOTAL, elapsed_time, b64_result, + b64_expect); + + return ret; +} diff --git a/tests/tcg/mips/user/isa/mips64r6/crc/Makefile b/tests/tcg/mips= /user/isa/mips64r6/crc/Makefile new file mode 100644 index 00000000000..b7f5811a5e9 --- /dev/null +++ b/tests/tcg/mips/user/isa/mips64r6/crc/Makefile @@ -0,0 +1,40 @@ +# +# Test program for MIPS64R6 CRC32 instructions +# +# Copyright (C) 2025 Aleksandar Rakic +# +# SPDX-License-Identifier: GPL-2.0-or-later +# + +ifndef PREFIX + $(error "PREFIX not set, please export GNU Toolchain install directory.") +endif + +ifndef SYSROOT + $(error "SYSROOT not set, please export GNU Toolchain system root direct= ory.") +endif + +SIM =3D ../../../../../../../build/qemu-mips64 +SIM_FLAGS =3D -L $(SYSROOT) + +CC =3D $(PREFIX)/bin/mips64-r6-linux-gnu-gcc + +TESTCASES =3D test_mips64r6_crc32b.tst +TESTCASES +=3D test_mips64r6_crc32h.tst +TESTCASES +=3D test_mips64r6_crc32w.tst +TESTCASES +=3D test_mips64r6_crc32d.tst +TESTCASES +=3D test_mips64r6_crc32cb.tst +TESTCASES +=3D test_mips64r6_crc32ch.tst +TESTCASES +=3D test_mips64r6_crc32cw.tst +TESTCASES +=3D test_mips64r6_crc32cd.tst + +all: $(TESTCASES) + @for case in $(TESTCASES); do \ + echo $(SIM) $(SIM_FLAGS) ./$$case; \ + $(SIM) $(SIM_FLAGS) ./$$case; \ + echo $(RM) -rf ./$$case; \ + $(RM) -rf ./$$case; \ + done + +%.tst: %.c + $(CC) $< -o $@ --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560853; cv=none; d=zohomail.com; s=zohoarc; b=MJDtYQ2PbrEOmGae3G25HYnSBJdBIpAqUAVJ1Fai6f84N7g24Zqqy6RQbEClNZDxz+um/AIvArFDYe32/MwPTMPoistaCM3cWoY/tIKQ7eKBP5BH/lG7wRfWM/r0d2PnrlA83KPmL6+xb18aYqri+Xg0ahyJLa4QwkPq/mS4E6w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560853; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=S2++15hJzvyf/oh1q0RtDm/VcHzR4ITOplPRpy1k7FQ=; b=WR7mzo5dW9ch6f7SsxaBknLFsooTSOWPRkzL3bGXc77dyFj8JceiZ+DXK8Py0ZPqNyw9INBnCCmYrNRvDvvJ294b+oeECqH2yKozL6MMpGxcI5gdEs5OQZD0XxC5GvTKlMkBnzOHknipeYr64RhRDBUldZkEAJ5o3wzCsW/09L8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560853537728.0579197971263; Mon, 14 Jul 2025 23:27:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1Q-0002di-EU; Tue, 15 Jul 2025 02:20:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1F-0002RR-Gg for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:01 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1D-00075r-Bb for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:00 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-45600581226so29984625e9.1 for ; Mon, 14 Jul 2025 23:19:58 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd1776sm14452975f8f.12.2025.07.14.23.19.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:19:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560396; x=1753165196; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=S2++15hJzvyf/oh1q0RtDm/VcHzR4ITOplPRpy1k7FQ=; b=ukDjIMrT9KKKD7dSmQY0F+tm/6bBQ7Sqb/yURqxFDL7vGdbkaDqdjroiLKZ71O1FNk z5TRgObWrmCziIRnFUka2sKVbtzT+Or3NyqTc2+KRJq8153EeF0k4DBO6peQjUhYsH3H 1GEDS8QiIlipKXYFsdEx8/+bF9jFJS58tkaBpe99uRdhtNjRkfrNn6RlGkhC3B3FF08E pCepd5FMKkBfbv7/BQeshxfzn0p0yLmrqJ0Ua6KWPnV5GNVDHb5njgbgmotx79st1194 CTKCPdtABel37yWNU4RcjkxihN3rpbgShTjKgMhILf8kCIWUhJ2IIs5VCxs+zJClw2xl y2Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560396; x=1753165196; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S2++15hJzvyf/oh1q0RtDm/VcHzR4ITOplPRpy1k7FQ=; b=uui73O9Bsx1MUD1wntXRyCdKgH1oalztTBSXf98TeRGjoeXyPn5Zw1PAIoS96go7SF mJszCDmkQo6W9X0JX9GrH3y0z/WRM2v0VQoC52A4KbzikmIz1Foo+W83CZ3egsBY/HEu HC/uhvkCVdxiDvOtsU4Iv2JGAJoKhxoFcDpVQJK2wiXY45EKCxLDWY2dH3Laf9/jssp/ plnLBD1Fg7voJubcfM1IbA55Pe8i0zfzmUamcMxyedRrwPNbDkni6z9fGn4QJlkcmomp JQtOAUA5HGifwH30DNxgIJurDOgxtNLYw7mWCxUrHkkJ6xYG0tMU64GNAiwCnzNAUHTv D9Sg== X-Gm-Message-State: AOJu0YypiOK3FMuPMQc5bDcALAFsIbPBTMAfqcVdGX3AkxPeVgr7h0dJ 3t7slWCfPhaBXMG0nH0whLdtWTi7j9Jc5WyFY9x+Fnh0vQIoIAcPQlBROe9hAkp5/rk2Tq88hu1 O+Ysc X-Gm-Gg: ASbGncuhWV7l8XdoLctZU9D1d6+cQCavLy4GVeD6sQTeG8N+I+ruHAf82lYfNhNrgct Tqz/U6qwLhDBoCxLOk0sKpmr2zkfo55XXTPk+yI13oatF3MavWwX12ccDJGzEmNV/6TI5JrQNGf Q62Nnote3MULsBtrc0LyDbEbY/hm6sdPxxsReChKrYPa7K5NPMY3bJQ+XnRBYQUN+d8j/acqK0e zRPJuKNxNwmDFPGEQ89cB0WcmDJ6GvJSJLeNDq48RyOxZymYNS69z+F6WHMwZOHiux+XAR+3Cp+ xm1xwdpcavGoRIX86B6bgHKs1sCRYacKoWpQ4yvXXqVGqzGT8CAlYMuC0RWhsS/pfaSPJUdJKuF /vf4IInhqlWGnhH81+6WsM5iP+aOmqvjB8B28itUu/uXErffuR6WAmS/j2fE7UcSpXftGSgrE X-Google-Smtp-Source: AGHT+IEGby7bns0UgwBuSb6fXgaxpe/aW6Jt7wqCS2A6VIAcfwo1n5Xtpl+uif1jDJtPmPvJ/PDc/g== X-Received: by 2002:a05:600c:3507:b0:441:a715:664a with SMTP id 5b1f17b1804b1-4562741795bmr9891065e9.20.1752560396090; Mon, 14 Jul 2025 23:19:56 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Cole Robinson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 07/17] roms: re-remove execute bit from hppa-firmware* Date: Tue, 15 Jul 2025 08:19:07 +0200 Message-ID: <20250715061918.44971-8-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560854911116600 From: Cole Robinson This was fixed in c9d77526bddba0803a1fa982fb59ec98057150f9 for 9.2.0 but regressed in db34be329162cf6b06192703065e6c1010dbe3c5 in 10.0.0 When the bit is present, rpmbuild complains about missing ELF build-id Signed-off-by: Cole Robinson Reviewed-by: Daniel P. Berrang=C3=A9 Acked-by: Helge Deller Message-ID: <52d0edfbb9b2f63a866f0065a721f3a95da6f8ba.1747590860.git.crobin= so@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- pc-bios/hppa-firmware.img | Bin pc-bios/hppa-firmware64.img | Bin 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 =3D> 100644 pc-bios/hppa-firmware.img mode change 100755 =3D> 100644 pc-bios/hppa-firmware64.img diff --git a/pc-bios/hppa-firmware.img b/pc-bios/hppa-firmware.img old mode 100755 new mode 100644 diff --git a/pc-bios/hppa-firmware64.img b/pc-bios/hppa-firmware64.img old mode 100755 new mode 100644 --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560785; cv=none; d=zohomail.com; s=zohoarc; b=i+mkAu70QjzH6+7qtljukpKFCVpLXtaEbRu1fjw0XbjY1l1yD/lmRIbQEfKo2T8fdPLMPBwo8gEXHtzHHV1igCNRYc3T2uDRrjv6Z0uuDe8Ua1y37YW237ljxqhXEcke80SE2ZSQK5ppnaq5WJOrBpzEFIOm4ydM/+TWzc8DBLM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560785; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cuDzbbwm2kJEj0yYBiGbuSIbCM9/3TFQdYicUYRD+Aw=; b=KtMXFS3iMA9gSZ2x2EFPuT5OoIURipgQhu/hcZHg6tgnI5FBo8BosmGsh06CZxZP+JoPw5EQpsNJ/Jwb+LX9vrY5OrL0jlNdx8uPFACZnLVZalUQzspKk177M7w5WiqRGvIxf1aXAsvt3Rz9PnimTvV7WrAJ59hR+FhhjCXd6KM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560785512137.08535348765975; Mon, 14 Jul 2025 23:26:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1T-0002gR-IM; Tue, 15 Jul 2025 02:20:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1J-0002Uj-Fe for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:06 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1H-00077E-0b for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:04 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a6cdc27438so4184325f8f.2 for ; Mon, 14 Jul 2025 23:20:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd43912dsm153473015e9.2.2025.07.14.23.20.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560401; x=1753165201; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cuDzbbwm2kJEj0yYBiGbuSIbCM9/3TFQdYicUYRD+Aw=; b=db9iws1+3pd+XR1Uplo6GtO9PTR7wI9gYJqGOuuWDzyRua4PJezdlSXIr7vGUf1v1m ilqaNw7xLXvcI4VfqTqTH6xi6sQZ2WbFENbgzbZzJxumlDJQ4ZY4o3PFvOVobB5HZM7D mqY2qjaVWWJXnU8Q7LjQeIhu6q1tMPhPdQFtBC1Lc4xRUvoHmiXoxKvhQS/iyZeYrx5H AY2aZHhygVKMesLDqpqM/BIe7b+5Sq1srYB1QYj1WQQ/A0mMeUXP6aEP8F7pq/0BwGg1 xze1RlZ6tM8nCmMGHEuGhaUa8RlQnDwHkfWt3L/vph4Ja457sNmqGBFvddB355sRrRa+ 4cqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560401; x=1753165201; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cuDzbbwm2kJEj0yYBiGbuSIbCM9/3TFQdYicUYRD+Aw=; b=dRR08b/1r5GjSMSOma4t03TQdKJFwCDbDKwyJjDnTKn+JN2Gu8HEOfBf/TkelFzL+t wEUSMT26bf0owtuiuMHsAhPySLegyNNh8tCipzn3fBM5oblqWpZkLQyd0U53RAEdAjTO AoeRUcXjWt7oDIhCy5+K6hCdSGpr0zcGwpoc8COZ36MS5nzI4/j1FpNxD5ecJBo6x1qn Pp12AChgZ9UZmJlb9FlIEb2Do/fX3PmblYxbUpBqbv3LI2nkjb3jE7H7Li3YFcCiW1mB 6TXCprDGamk/yn7dLS6uAAAGe9hyBM5FNvVUkYk45dhqBZYRiH7ycsYaZ+ICgItN96/g T+Bg== X-Gm-Message-State: AOJu0YyVX/GxDivZNVdEcL6AZmZO0/ZuryRfWZXHk2+odaHTAGZKy/Kr j0NXHK/ikKPDvfOdFqDV+HKXVY75jSXNt4eHTXrP1t31PqLjX8Ia+1J7uo5fqPSKpkgTZM106WQ /EHW5 X-Gm-Gg: ASbGncsxyos6ow69nVZZQzWKNFRgggKbcaMPnkn6LggbEid/1sHqdosBkkIrAcluM34 sDKT/1qduN/oRT3saSOupZ7CQxJ9pvX117/HGHjLS5kSfX5ba3ftGN5D7gfwA+vckGsO7rP2qP5 sLKv43IT719NF2Gy+wQjFXbRIUgdf9XViFhHmfVDdI5Oxe+b/TaDRDiJnr58H5ekSfsO3KwDbSj RXuumtg4rmZLDu76Tr16z85p6vTzDU7UqBWTpxsPH/G5UYW945BxARsv6q/UW2pRPE1h07MbUJb /T+rKbeIagNtxzxA3hNO3Ts55hQ0Bh8ewFM3euqcFCeS7XFGJk+8a3+Bl0h+bAqjsnlisK9vKj3 L6V3kCOdLPqWrHYTZpHRpoD3zS6/UPfYJF3dwU32rhG5Sx5hEbHjx8qVdqLng1b87wrNW1Ds0 X-Google-Smtp-Source: AGHT+IH803WUgSzhwZmoBVziYExZUFLo7kt21Qg3JYwpUOp8Dq+pGXMaoNAfdekHb9avXTUDhLvYvg== X-Received: by 2002:a05:6000:2410:b0:3b5:f0af:4bb0 with SMTP id ffacd0b85a97d-3b5f2dd1547mr11682036f8f.23.1752560400824; Mon, 14 Jul 2025 23:20:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Paolo Bonzini , Jiaxun Yang Subject: [PULL 08/17] hw/mips: Restrict ITU to TCG Date: Tue, 15 Jul 2025 08:19:08 +0200 Message-ID: <20250715061918.44971-9-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560786294116600 MIPS Inter-Thread Communication Unit is implemented using TCG. Check for TCG both in Kconfig and CPS source. Fixes: 2321d971b6f ("hw/mips: Add dependency MIPS_CPS -> MIPS_ITU") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20250702164953.18579-1-philmd@linaro.org> --- hw/mips/cps.c | 4 ++-- hw/mips/Kconfig | 2 +- hw/misc/Kconfig | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/mips/cps.c b/hw/mips/cps.c index 2a3ba3f58d2..e47695e2b0a 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -24,7 +24,7 @@ #include "hw/mips/mips.h" #include "hw/qdev-clock.h" #include "hw/qdev-properties.h" -#include "system/kvm.h" +#include "system/tcg.h" #include "system/reset.h" =20 qemu_irq get_cps_irq(MIPSCPSState *s, int pin_number) @@ -59,7 +59,7 @@ static bool cpu_mips_itu_supported(CPUMIPSState *env) { bool is_mt =3D (env->CP0_Config5 & (1 << CP0C5_VP)) || ase_mt_availabl= e(env); =20 - return is_mt && !kvm_enabled(); + return is_mt && tcg_enabled(); } =20 static void mips_cps_realize(DeviceState *dev, Error **errp) diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig index b09c89a0175..f84fffcd323 100644 --- a/hw/mips/Kconfig +++ b/hw/mips/Kconfig @@ -76,7 +76,7 @@ config LOONGSON3V =20 config MIPS_CPS bool - select MIPS_ITU + select MIPS_ITU if TCG =20 config MIPS_BOSTON bool diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig index c27285b47ab..4e35657468b 100644 --- a/hw/misc/Kconfig +++ b/hw/misc/Kconfig @@ -119,6 +119,7 @@ config STM32L4X5_RCC =20 config MIPS_ITU bool + depends on TCG =20 config MPS2_FPGAIO bool --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560780; cv=none; d=zohomail.com; s=zohoarc; b=TGiGPEtZDTKZqTd8WlKIIBX1nTLaKDXvVEhyFW5YAByc6l9t1bwVVGUNM+nNneDCjxhv7EMfD3bzs0UgXvBlKd3ejPdl3k9vfw5BewnaU0QXMNLH6Mf5QdLYuA+gAllZR/fDWDVOdgsubKq+Hcoe+NGU5S8GUO0/YZFI/w2gWP4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560780; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nMsTV3CpO+fi1160dcF9jxvz0Q+D8HZl/5sRp3WflII=; b=kw/iMo3pFd15jC1QdKwOpUsQXJZ36WkHqA1XBt5HCe4Q0cnz2c1Yv/moce9dYNggA26kyaebd0r/dkkTHYClXj4ubTM+kSridypDUxGJnq2KI3QK3lFTdrsQz5IocgFgiiLjoYwdLQJgh2ZnY6Nt8JCJ7qzVQWWv5wSok3bgv1E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560780152684.756945887989; Mon, 14 Jul 2025 23:26:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1R-0002f0-Dd; Tue, 15 Jul 2025 02:20:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1N-0002Zx-Vm for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:10 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1M-0007Kr-2F for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:09 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a54700a46eso3071580f8f.1 for ; Mon, 14 Jul 2025 23:20:07 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d76fsm14539964f8f.64.2025.07.14.23.20.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560406; x=1753165206; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nMsTV3CpO+fi1160dcF9jxvz0Q+D8HZl/5sRp3WflII=; b=zFgbZe0LPj7JWn70J7B/CUo1QT3M9nViTM37KTskuRkwBY0WPVG+AUASSeCgn7IdKk Zy5I7J1T24MEHcdgPZ6odxVAqGjtWF3HWiP4fe1E4dcghmI4UF9TQchBb5mEehZG145P 9x8x4ySIYF1B79/B5mgakwjXO5gfrFj13qp5BlEWhdGGBY9mYMm9D/RPCY6Iev3GvcPQ U08ckCnm6PAJ+20aZwi+B9eX5+3U2y6oeJKQmXY1LpdvA4u5/oK9AvV0b0b1Etc81y2q jQ2hJtnxjLcQ/oQKuOnpypVQ52DJbdbPWr6cHy5daP/4XEJ01/X4agVBAUmGrPq5W7rR KePg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560406; x=1753165206; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nMsTV3CpO+fi1160dcF9jxvz0Q+D8HZl/5sRp3WflII=; b=C1CaRIgAAgbyStfXULGc9GI385wd55b7eXhpwiHZ7PgUdhEWZFUtN0FzQNCYgawc1r OcCHneTJDNW/Mu1mjG1qULDtpmdtjcdkd+XXR1bkDp48Ezhb9/0ruCiz+VpImVtAmTuL N+VKMxMxMyfkB/NLq/12l2PwdJRj/BiXpm42ANTov5B6A2Ze5xvC8K6sw9AKAvGAw2gk e4hl/ODkNgJ2G/J3a6TaU1bQKgWDOnoJPFHgL5t1k43gLTMK/tXsIMHwkHnWWkWsWtkg Ci8VBr9MJvVMKqIf7KV9nDc0pJf6mFtsDnEBuUb0xohubeuySV763GKcNGHKD3t2+LRl ZU3Q== X-Gm-Message-State: AOJu0YySTOK7y5CWzhM1Od2GOE/7SFAVWuQeotf7SyfbjfskrdZUIcWX r+JRovr4pbcCHST5RuYy+BPB9/dj3Ii08eWrx6BeeUDLP0ZBqpS9Jy8aPm2bbN5xmYBL/be+7NW 5Tnku X-Gm-Gg: ASbGncvSVK4QA+0TCmNA6Ll9q3oCF0pSErcWWn/tpuBYgMjgRDPNtRhMSwq6aTsUR/T zyMtQ/eaSIekMRMcSuyWlMPSkzddd8VGMfV9kyreTx/ciCdjPBoRgpJLmUsW+1d+9IOY6jxWpnV 4lfE2UwqHKTXm1+i89oLNR8h8LrjYOQaixLrHa2O2YSGhyw1NdKc1eQXCL+6ZBsfZx2tUCzMewP C6sKflqfARckQcMhGiIcl6Q5OihICgrPw0CzJUwEO/qY/ZEgP8ZFo5YLakc3rGwZgCkNODki0S4 s32a8d3m0bd9xDzNawtKFu8rb2Nc2YUWi/7tq8yNSP90WpIJFI3/hQ+KgUcb1zk9y0D5DpIeTYg j1ZRhTB9vL7gwdVXF9lyJgmKZh7WCcBHUgDLjrq5IzVdXLsNcHvSGR7pqG/vaexxs7wDyhikh2S eyz8Xwtpg= X-Google-Smtp-Source: AGHT+IEguj2xPfqEKx3JR5NbuYC+YI92PCY2IOP9ra+fAo/0YTvwIF9cBdydRQzIeJI4nrzZ+0X3bg== X-Received: by 2002:a5d:4083:0:b0:3a5:3b14:1ba3 with SMTP id ffacd0b85a97d-3b5f18d3732mr10268108f8f.49.1752560405873; Mon, 14 Jul 2025 23:20:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Song Gao , Bibo Mao , Jiaxun Yang Subject: [PULL 09/17] hw/intc/loongarch_extioi: Remove unnecessary 'qemu/typedefs.h' include Date: Tue, 15 Jul 2025 08:19:09 +0200 Message-ID: <20250715061918.44971-10-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, TVD_SPACE_RATIO=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560782484116600 "qemu/typedefs.h" is already included by "qemu/osdep.h". Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Song Gao Message-Id: <20250708085859.7885-2-philmd@linaro.org> --- hw/intc/loongarch_extioi_kvm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/intc/loongarch_extioi_kvm.c b/hw/intc/loongarch_extioi_kvm.c index 0133540c45d..aa2e8c753fb 100644 --- a/hw/intc/loongarch_extioi_kvm.c +++ b/hw/intc/loongarch_extioi_kvm.c @@ -6,7 +6,6 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/typedefs.h" #include "hw/intc/loongarch_extioi.h" #include "linux/kvm.h" #include "qapi/error.h" --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560534; cv=none; d=zohomail.com; s=zohoarc; b=HpGrd8Up8buJbK8BaD2RIYStOYSFChhy+h5dhynyPs22teLGk3hzS7qaKK26szvtEAYACZemQThyJiXXhPWoGuc5v+1rbN4+/phcgyKPqxLqsn1zqDVN2ojlEfw8DhNXneCiMdRF55TBC1J3K7mJW+KrvohKsQnuIAvoodInWmU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560534; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hgFpG0rF6KVbYpLZQoXHGkLj2oHogtOGTEuxO5gWl6M=; b=TnutBA6sKoVKutwwPCRgHdolG1knLF5ZjiT3K9rycuWdrJGE2iZr1b7aw2OsDGxWmAaykePdM6NRgNA6owWgnjT+Y5KKAnLzIiIbRkvMXzzENlOdgGmZ6bgpTDQXs95DqmuRM9RF0rrtuw6JMqhHhHJZrY3svauGA2bkCp5ix5A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560534340459.22111709052876; Mon, 14 Jul 2025 23:22:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1b-0002vE-Kj; Tue, 15 Jul 2025 02:20:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1T-0002ku-Gz for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:15 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1R-0007M9-DW for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:15 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4561ca74829so15203155e9.0 for ; Mon, 14 Jul 2025 23:20:12 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b600722780sm6548582f8f.23.2025.07.14.23.20.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560411; x=1753165211; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hgFpG0rF6KVbYpLZQoXHGkLj2oHogtOGTEuxO5gWl6M=; b=mjmHK/A1lt27LtoJVdzjdLDVDh94mhl2olX/NlZPs/LyCPWM0TodsFkh2lfXQuzolJ ceb9Viy2LuMMLWOdPTNS6hFX5jxpkx8Jj7F9FLi8Rzzt4G6xkd6ZAiIgXxCZm1gFDMXf PEySm9DCJItGupaEO1inoBNm9q8gwVxF3kgrbpbFaJlt1LNfvcZufwY7TkcTtQaHVuQA BPJJaB5A3JK8AZe5/T6NXZF6Jed1z4P1aLgNCnLgSM6X7zXB15JvTp7Gg7w8gRwmkbA1 FObOxXK4fKJ6WCeh4+J83H71lHI2XA16zn4vwzCBwkkGRiuV0IOZNXr+fvnxzgoAv/XF HO0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560411; x=1753165211; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hgFpG0rF6KVbYpLZQoXHGkLj2oHogtOGTEuxO5gWl6M=; b=rseIa3f1RKBo1PvdVb6yMOY0ugJfDbMp5P7K1Wj/7muABD95PmqHzCfPh5BlHABbdh 4uSHuU04rVP+BHU5JhUK8uFkw4v1ithIMkcJwrANM8w4t0/OlMfQbZgDaijKAFEeMGXr NLJD65gWHDa7q/cf2ylY+CdLgohOY68QjnUTxEa3fD3ZnwIrd4yGaY04DdlhzWpejkuS 9D+vHSds5LpxHkmTC4fN5F4eCDUNt2KppOy3Q8kGdNYm66ohQ2fJMX3GJcsphMqeX3en 0+L3eF+srkb2Ky/XqHf/T9kKVwOWrzM+hOj0rQt4YafJDc7/zzuLXY5XVU8yv3bmjy1+ V7rw== X-Gm-Message-State: AOJu0YwOkF8nO64b6IlOgH7GwPtMN1JJivH2V8qqWibvxnbQ7ELszpQG HxRF6vva0LD/RI2PWIIBBvCOVXbN4wpOhWt2Km0rk4+R8d7PyMmTVtUOH6t2BmPf5V//oZBgwkI 3BmzI X-Gm-Gg: ASbGnctKiphjFaJP/v73oRp117fMJiNuO0cjPBSAJk+JXBfeEM2wjQreFwGiPP6YbUl raFMMRA8jkslxc666FGbMiymM0OjWARuhDtEypyhWMIU79DXch6SeTkVI2WpU0Fp+PlT5q3otln Nt3Nq2Un0VDmh6w7RmdTDn1HMpv+MbvcXrLGI5chrGJ917Kaa6gV48VUXcv4+et+j0ku6N7gZQh UjT/sGTM1Or3LEaKWry29BI+ZLei7FvYDsy/cV3QJzjcOw34YL1UUNld5j2CeoswzRHeO31J2PM Uwq2YNqYSnZ1uqZj1K6JrvUwRkoZNgx0ckd6VYjZwRhsN3zBQh8MwonJcTSGA5pP+M6L6gEtJwL nSYli6E9l8dfzaxsdLxREyz6PC4tQcyduDg22lX2Io1CSB0Q8WW4S28IXrOXQuissLoee9gn73W D5jxQzrH4= X-Google-Smtp-Source: AGHT+IFxoEv69qpUFjeyT3G/ueHVC6NbQmo/GK7lh7Y/Vq1AN6tpPlLr4lNo7/ddtloI9jl1rKuA6Q== X-Received: by 2002:a05:6000:420a:b0:3a4:d64a:3df6 with SMTP id ffacd0b85a97d-3b5f2daca74mr11812653f8f.3.1752560411187; Mon, 14 Jul 2025 23:20:11 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PULL 10/17] hw/microblaze: Add missing FDT dependency Date: Tue, 15 Jul 2025 08:19:10 +0200 Message-ID: <20250715061918.44971-11-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560535844116600 From: Bernhard Beschow These boards ship with a bundled DTB, and dtc will be required for generati= ng these from device tree sources. Prepare for that by adding an FDT dependenc= y. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250708204806.1898-2-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/microblaze/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/microblaze/Kconfig b/hw/microblaze/Kconfig index b0214b2c8b2..72d8072f764 100644 --- a/hw/microblaze/Kconfig +++ b/hw/microblaze/Kconfig @@ -1,7 +1,7 @@ config PETALOGIX_S3ADSP1800 bool default y - depends on MICROBLAZE + depends on MICROBLAZE && FDT select PFLASH_CFI01 select XILINX select XILINX_AXI @@ -11,7 +11,7 @@ config PETALOGIX_S3ADSP1800 config PETALOGIX_ML605 bool default y - depends on MICROBLAZE + depends on MICROBLAZE && FDT select PFLASH_CFI01 select SERIAL_MM select SSI_M25P80 --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752561002; cv=none; d=zohomail.com; s=zohoarc; b=ag9/kVHreg2IzWOlf4f9kqWtdhnP20PYPeXJVCUCjQSi20zq0IY+usa/eV+zUjfGycSgC64PlMNkIkFMbv09KbgRrz4hPzyg36jwEBKk1sl5XYLjMMYQZ2tzf1JDrPkAJ6s2XcumPjSSpavm3MI6r8QieiDwEMvWliOXCGuhQnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752561002; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7S4k+1sCMPbW4jtmuj8Za9v8Er4TEjQFuXvwHmkJEF8=; b=H/9nkrbMdtXEMUCrWdXmOvtUuBgNlC8PUwnVi6WyExWpbRWa04go0XmNRCVniLgEjNIGWV/vCmhKXygfGxbVtZapH1h39snk6WCR0AcmoaAS4DFSspeaeCqDn/wI2VVdlGeJc3b423k6S0K2astE7ugfwIyt3Km+jBozqBBgxtw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752561001891746.5731124925538; Mon, 14 Jul 2025 23:30:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ1t-0002zU-6r; Tue, 15 Jul 2025 02:20:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1Y-0002to-1O for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:21 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1W-0007NX-5a for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:19 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a54700a463so2779182f8f.1 for ; Mon, 14 Jul 2025 23:20:17 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc9268sm14141612f8f.41.2025.07.14.23.20.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560416; x=1753165216; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7S4k+1sCMPbW4jtmuj8Za9v8Er4TEjQFuXvwHmkJEF8=; b=RSX3zvOeBJKdL7G2vc6sOSq7Z9d5pjUmj3b0NvC+jjTAgzYREus5J5EhXvwGXcc5c6 UGQsTqK7sN1UTbH6n2U9huKhzsg+ycxn2tWTjda+kTrI3Le50OOrCDB4XsmRY3CrAHU/ K5HiEYO6WqJrb4jCjBnia4qf9HO0pSlnbhqcffc+tASIqcWy5EXHIRcTvBhBTn0ejVJS m36qhSToY5iR8NbOnqQeYHJIVC24+f+Z6U2QYGDxzpcFaG8hP/faxHdgkRM+3sqxTuaC ktygxzbych88RbwYyb8znpawdwFHOpJ6gNkFh7tm69a1IQ4qs9UH+EDOreGJuwPaZjGs xmJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560416; x=1753165216; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7S4k+1sCMPbW4jtmuj8Za9v8Er4TEjQFuXvwHmkJEF8=; b=m+kCriuCthCZHVhumcqpxcx9tI7gi+qBlR9pTEoeWJDJEujFklGSWIHXCoBDr+YZx6 6Zu63ZlS2WgRwBBT5zAOF3gpDXTEF0Q7y05nc3QwGnmV2V3cyzF5cBUvpH26ijqGMtKs IfU/5axrgq6aQCt68otpxA9NjW6ck46R01Qb89fxIY26iOqVyFqe1W2tLSTzP2Hl7H9q g3Stc9YFJ1D2tb6SPFgZKZDfCzrlqYDokMBX5w2HIh1JE8/uG4QK/uLb4dsnh/LDYD2O oB7DDU1Tgn2jXMbBCJ+VStj8VtOFONFRHCVxbekf/4tKTiDsEJDyj+XNu33IFQJVOF68 t5SQ== X-Gm-Message-State: AOJu0YxjY5vMvLQpaqRLvogW/Y8axvgTg/ipmhngcaAOAxEioRFm21Rw x66Ost3EdSz01247594CM1CJUemhI4E1IDcuZiwoT6KvQdaik3LRa+pE1oZxZ/3F2jMZF7oR7xZ ZB70/ X-Gm-Gg: ASbGncsxAF3qrmpjVDLDfQth5oi8Wi8amJdrUmKlopLPZJR3P9ViH3nX7Of62qrrjlJ J+bCx4IwdBDb+ejEFWcBMaW3bwMwxlSLCDLTaYO93yo8x9sRp4PegVbkRP/5b4PGLOXh6JQHukq ZV9Y3jgwmJFkM0bWtkgw6ELi2Vd86UpZ8UIZ+H/pfMG6W8zO/x43NgvHjQ61WhPg3qgySGFerqE 4MWF/v9EpsDgMUaWzQcjXUuOD6QxjiowT0YQ5LhdBSaprWAuxypIk8Yqk7v39R/FD7wlUGfPiCl EWZZnHjS18zBZKbR1g70o02xJsHW0+6foMtSt3GHrYh2phVHmc8EfhajKL++dBtuscIWJWBXuxz Lf6iUqjEJnofmAjNk6KlSRN4ZukLO4SxUW08nrLLnbLo5x9lwbl4tpnlcANlUqQovDiWPUqna4M +hnXbynH4= X-Google-Smtp-Source: AGHT+IE13DRpDAZHNWNLqC33BuyPYsxffkUHmNlJ7fn3LlYk/Wav1o1g7jLoeHvFsMgbUYv/e6Gmuw== X-Received: by 2002:a05:6000:144a:b0:3a4:da0e:517a with SMTP id ffacd0b85a97d-3b60953f5b3mr1848784f8f.23.1752560415969; Mon, 14 Jul 2025 23:20:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 11/17] esp.c: only raise IRQ in esp_transfer_data() for CMD_SEL, CMD_SELATN and CMD_TI commands Date: Tue, 15 Jul 2025 08:19:11 +0200 Message-ID: <20250715061918.44971-12-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752561004486116600 From: Mark Cave-Ayland Clarify the logic in esp_transfer_data() to ensure that the deferred interr= upt code can only be triggered for CMD_SEL, CMD_SELATN and CMD_TI commands. This sho= uld already be the case, but make it explicit to ensure the logic isn't triggered unexp= ectedly. Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-2-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/esp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index f24991fd16d..9181c8810fb 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -1012,6 +1012,7 @@ void esp_transfer_data(SCSIRequest *req, uint32_t len) */ s->rregs[ESP_RINTR] |=3D INTR_BS | INTR_FC; s->rregs[ESP_RSEQ] =3D SEQ_CD; + esp_raise_irq(s); break; =20 case CMD_SELATNS | CMD_DMA: @@ -1022,6 +1023,7 @@ void esp_transfer_data(SCSIRequest *req, uint32_t len) */ s->rregs[ESP_RINTR] |=3D INTR_BS; s->rregs[ESP_RSEQ] =3D SEQ_MO; + esp_raise_irq(s); break; =20 case CMD_TI | CMD_DMA: @@ -1032,10 +1034,9 @@ void esp_transfer_data(SCSIRequest *req, uint32_t le= n) */ s->rregs[ESP_CMD] =3D 0; s->rregs[ESP_RINTR] |=3D INTR_BS; + esp_raise_irq(s); break; } - - esp_raise_irq(s); } =20 /* --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560876; cv=none; d=zohomail.com; s=zohoarc; b=gBusicZYX8PDz09zkJV25SQksNkvF8XsTfmPRfwPpd9rbZHLVkbrtss5MuKCGkwdE/JIRMEH/tzEvrFJXKn9u7YEVG6mbz+k5eWoJCj9DUWZP681FiGQNGOUavQTI5MVOP7w4qT6mAkbMkV9QFWPBvf0S+tH8NiI0XDxQZ+0z7E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560876; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=D2Itf1u4dIdOzwp9PA5MQ9GY2YE6K+iup4a5uTVYETw=; b=QvFdPlC7bK8oUTCqj5okTBn/pXeqJK8XdfYOV2kZ5potSobM0yJeGB7dYSUFz5aMX1k1OFfjDjPQ1jKRjgG3b0KVw6dTkyPDPMyMgYU5hj6M5jLs3pbgc4lHF+yQ74xyady+HyF9i5L2yvdjCDgmT1eNaEkzQMGxZCVFe733ERk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560876260652.8953883465655; Mon, 14 Jul 2025 23:27:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ2f-0003se-Vc; Tue, 15 Jul 2025 02:21:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1f-00030G-Jo for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:37 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1c-0007Oi-PM for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:27 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a6cd1a6fecso4863449f8f.3 for ; Mon, 14 Jul 2025 23:20:22 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560eb98a40sm82199075e9.27.2025.07.14.23.20.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560421; x=1753165221; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D2Itf1u4dIdOzwp9PA5MQ9GY2YE6K+iup4a5uTVYETw=; b=DESMPE1NoPiIAkiRb8uUGf8zEpmob2I/JFldsicPrrfejMknCxzdyjmSMjyRDyANWx clwJvWHFJ2wnons+s0lM637WZOQnGgW1hPslok/gyLyqTLcVdvfvmhWqZc9yrhyc/c2T Y7Vgy+YkIp9hILlTMnU2siHWioHWrGLnfbXwv8vXb7rd/Y8A+NVddp0CY0bJjcTJW9xi q5783nIT4qWtNUbTb8Q8hDEy0YOm3wTwYhqvyArAZmyfZynRjPRqDnoRzGfCnN3uJ1yV NBOykDCS8aIn0k/e2s+Zir28mK7gN976gV7mrfRaTT+2ozBdQgc9u1SEwbTtF5naVFgT l8Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560421; x=1753165221; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D2Itf1u4dIdOzwp9PA5MQ9GY2YE6K+iup4a5uTVYETw=; b=mUstdHRsy2yIIZ9jJeSdItUJF3kcnefE8klCos/R42F7GkUtV0NhRcZd8Oi7WlO2tN oaaoTo1HvJj1xExxzd4X0bJIsa+xBevzhPH4kIbtvir+tDzkstbO/wepkVbsKo8iTcD1 3staQttxcLbg2dy+q36t+XALP4Nz70MC6m2RLeGfRqTnTFXu5IifXwquO1NoQv/KXdJb UurQ9nLlsj6kgatOHlbpNH5qgt8NVkQ7lw6z1RtJZfB7BWUwDdPVJy1xZWqEk9DkEkQk PqFPYxU3jmuckSkFuPKUJV9cv3/vHYjjyE24k/vXs1qGAnrBBsyu1LShJVjFI++nMieE Lj1A== X-Gm-Message-State: AOJu0Yy7/2nou/a5En/jYLR94A0qiS+vv7hzpaVrvSrIJ2Uf0WTCOXsA DdtM9Q1ix9aPZ1Cd5/Wl2+XsTocXhR+pcyAat1aLDNV7+sCMl8NvO5YUAXf03Vv6oqT2vEI+ucM bzuV1 X-Gm-Gg: ASbGncvJaI7YmYBjgKyR6rWceK3vmBPLRcPqWtFGJk4bQfwITy7QVUwqmn72OEHE2ww Dnx7GjksSysEwOfE0rE5+xFXosZ4NakjKGzY8psCEEkkOvHC5rkpj3Jr0RmTESGCMurDYqIze++ pCpDno6gPus+i1hZwDSIA0NvxpwgiQaWrIflgLiIKdn8EfhKM7B+MZ8NzwvGegZ147QJpZmo1UA 7KXh54OthYkJBiBaxZiKDizssMPJCltOSc3SSe9/WbY9TaSL6hszA4ihbicqvY9tFUaQ2AaQDYw fStDTlKGaWj/PxFzFztBtsItHwifZRsOXqje4sDJhGpGr3nI9+pv3EyHi7ReQJkVxsncEY+bZKp 5SXwVeelMYRJnjZL6eR48jbTFWDX6GA0rfFmPwwoNAnhVLORBHaOq7Mu0SwPt4fAUHcnU1YLf X-Google-Smtp-Source: AGHT+IEPyYJg4TwclqqAby4zKWjUSCJwyEeY5b1+X7wTCZis0VZDG9zua9cmzr/sTb4NO1bavjOnyA== X-Received: by 2002:adf:f3c5:0:b0:3a5:8abe:a264 with SMTP id ffacd0b85a97d-3b60a195cb3mr756390f8f.37.1752560420737; Mon, 14 Jul 2025 23:20:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 12/17] esp.c: improve comment in esp_transfer_data() Date: Tue, 15 Jul 2025 08:19:12 +0200 Message-ID: <20250715061918.44971-13-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560877139116600 From: Mark Cave-Ayland Whilst working on the previous patch, the existing comment was not enough to document when the TI command codepath was being used. Update and improve the comment accordingly. Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-3-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/esp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index 9181c8810fb..62ba4061492 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -1029,8 +1029,9 @@ void esp_transfer_data(SCSIRequest *req, uint32_t len) case CMD_TI | CMD_DMA: case CMD_TI: /* - * Bus service interrupt raised because of initial change to - * DATA phase + * If the final COMMAND phase data was transferred using a TI + * command, clear ESP_CMD to terminate the TI command and raise + * the completion interrupt */ s->rregs[ESP_CMD] =3D 0; s->rregs[ESP_RINTR] |=3D INTR_BS; --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560776; cv=none; d=zohomail.com; s=zohoarc; b=YJ9d0uZYHDGUb6S55xJO//pv3Wx7bBpoMgdrVEEmjmdJUb7gCiv/4+m8JaBsK7HNx2t5aXDLmSmDcY+EzhX3yaeNAZisXpYvc28wApaMOg3Lr2FnZ7VG738gSBLPa+1kyfLkaVqNtCJ34S10LRoy2ie4LeuCzFze7/NfaHiCKtI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560776; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ynSWv/Qrgid3k9uBxFI+RTPdBaS744OcQkC40jCmXSU=; b=gNetF7iL+20fPdxRl30TmE6CLZ9C35vGQT0vZWNPkx/jadQvL+O6jFlKfGIUTD2HUIwasxkd8X7D58d5Q2DA9Tjm+gLUWL4VzWe+ChYaubahMnkYoGJyzMw7+Pu/SKqyHXnzCfD+LTE57E8r8UPltAQfe/c4C+tLE9O+CMaEjKU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560776096463.31849120939467; Mon, 14 Jul 2025 23:26:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ3K-0004it-SI; Tue, 15 Jul 2025 02:22:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1q-0003Gl-3R for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:41 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1k-0007PW-1L for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:35 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4561607166aso14859875e9.2 for ; Mon, 14 Jul 2025 23:20:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d571sm14481044f8f.57.2025.07.14.23.20.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560425; x=1753165225; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ynSWv/Qrgid3k9uBxFI+RTPdBaS744OcQkC40jCmXSU=; b=owRgY8ZzfThy/Q3aAXRYjea6unakkYYAopwU71Asm2RAKGDFCnV+RatFOgNxKi4B62 hRmNobNbV/l1uSX2fHldPMO2FDhMCw7HShYeNqL+j5t4fV+f8yiVpVnGRGf1nuschbQN ElR8SpKwuxTl0GlA0dk7E4LTlvHmpz/H+VSxSLWcdAw172xSV+XvRTxai/b52+OCfkKW Q0Y8GSWWlNc8w5VKf+gn6fzT513GC/8jdc6ezx28UcMylkOJ0Jbg613dQ+ozhwAK0rU6 7Nl9EXGwFhH1g5xCXp7iCwiSWtH8JAZ1yjmm9PTCh63czBNMCdyVu7B0ElyLcrIjr6oM mYhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560425; x=1753165225; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ynSWv/Qrgid3k9uBxFI+RTPdBaS744OcQkC40jCmXSU=; b=MLqUHjUAsqcvIJ1R6bFpXTNJ7WcAhqAETyTwodnSJuqVAtKMQJGukv09coGyW8D9vP K1XBzQMeShQ9NJtbwj36g6HwMQnUHgTsr8T2cV24hEqtc9kmB6JH1VVNaMwjh6/TjBKl tCkuehY3kscUNr9tkA1KT+e35npV+t34bmfZ7I1NA3HhCKcaTQp+8XeFlb07ty0hs5FQ BHN1411mGwvg44z85RxzMJY/O7txKhlkOSFvzAJJG+JFgaEm9XFD3fmvF5LhVME7/s6W fT5nosKYZ6ej3Kosyb05+VSPOTEeQbB0d6inzCkaXYH14CNcNFATrqxJxp8CDGT0MQ9y 20BQ== X-Gm-Message-State: AOJu0YxtJJEN2WhBdIFZGfo5VYtRzTp7F8MDYTWzPe2ahcQkVn0P4G8z eX/mFZqAzKWIUhmUnct+3xR68SZjOsMA1Xjm+6F+vzYHer6yrCZ5UFmKbmyyBwtFp1DY40JCQD1 NR1m2 X-Gm-Gg: ASbGncujxYp2jS/qyCLd1q+Xi733GZXl90m8gZdVxCH7kfsuQa9qSQgjhu7kQgOsTRU wOTboh1zqilZLPcHu9cBCjlb9ByRMmXoQuOu9gyxCv0SI5j0EdJ35JLAakvITukREB1V2UkYjYL +HVpfEKdPJVkAlNFecR4TjmmP1tKHDSYaDBxxsSja81YICQ/3lVRtx333KONmND9db+i/bX2o1K mhJM9uiY2DQygyMk+Fm1eYN4nGo4vrUw10yxTRyNYmTG5VwbdLrIheTuN4DBI9Fz3A7GBfu3IuC cB3onKAW7w9OEAWwed+5Y106/OBf852DLanvNyPsrSgwWx+KCYHFuJuQgh03zJmJAQ5knu+NJqC DDNWEHkMBQs8UeffNZor5eFM3FkS/d6KKVHVYe1fgVvJwG3OaQ79No8ksgl4pEdmslWDhlUpY X-Google-Smtp-Source: AGHT+IFDpbBwXEbGCiqg1cmoPOfmDg3T4I0ap9sS8hckmTecCimesS2QtZkqoTS56WGjAnxY8IWz8Q== X-Received: by 2002:a05:600c:8505:b0:453:1058:f8c1 with SMTP id 5b1f17b1804b1-4555f895526mr142828575e9.3.1752560425510; Mon, 14 Jul 2025 23:20:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 13/17] esp.h: remove separate ESPState typedef Date: Tue, 15 Jul 2025 08:19:13 +0200 Message-ID: <20250715061918.44971-14-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560778413116600 From: Mark Cave-Ayland This is not needed as it is now handled by the OBJECT_DECLARE_SIMPLE_TYPE()= macro. Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-4-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/scsi/esp.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h index 533d856aa34..c9afcb7cac0 100644 --- a/include/hw/scsi/esp.h +++ b/include/hw/scsi/esp.h @@ -14,8 +14,6 @@ typedef void (*ESPDMAMemoryReadWriteFunc)(void *opaque, u= int8_t *buf, int len); #define ESP_FIFO_SZ 16 #define ESP_CMDFIFO_SZ 32 =20 -typedef struct ESPState ESPState; - #define TYPE_ESP "esp" OBJECT_DECLARE_SIMPLE_TYPE(ESPState, ESP) =20 --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560872; cv=none; d=zohomail.com; s=zohoarc; b=ktSmpe/jBHEyyjsQtWvXBgvebOF910tKZCYmfLqvNcIz7Kxh7FKbyUXJPKk66n2E8+aJK+gO/V7eCsk4vP5kI9BMWOD4Z/AlzYGwn/R7lgMxP257H6yF2KI9WVfNeVyZV2oXbNRNRCximvPOGAiOoHYIKZxHUXrMM3FG9fpAIuc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560872; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=BJ/tkPkzgP2G4LmEdPSORw9xVUXvOZgvZ1yKFPXS8bk=; b=JJsNI/gh7AJNHU7zKn84lCKGjCkgEvDZmFabPtJ/F95FVl1uJG4bvxyz4Ug1zXqGqk4Q6Y8pb0YSCCeOdLzpyPSD3yRMebO3COkuU2bLnhKL6qoGyTkE3+EijQlOqWbJBqZfVSh38GprV5efl1Yx9spll1MmsbhH1w3PRLct/js= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560872767957.2249137429752; Mon, 14 Jul 2025 23:27:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ2d-0003s3-Kd; Tue, 15 Jul 2025 02:21:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1r-0003LA-Sz for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:41 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1m-0007Qc-Vs for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:38 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a6cdc27438so4184550f8f.2 for ; Mon, 14 Jul 2025 23:20:32 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e14e82sm14307792f8f.71.2025.07.14.23.20.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560431; x=1753165231; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BJ/tkPkzgP2G4LmEdPSORw9xVUXvOZgvZ1yKFPXS8bk=; b=IehGzfAyyuXBfdNmnxZInT48pKxcpr9ObE0vhM60EuTZQW1ybcRGOaIExSeLyc4zcm k6xYG3NlsC9sQhwunoAERgbUSXnjFViFJtPTB3F8Zpl9SQn1OCdboyFtdndSfmC0Jidx AT4bsSLsEuRJBwMTuIs2PvVN7voPN80g19FrBB/ftIsCM+Ym7r9cg8UeZT4qBlyXw4dN DDoBicZUiPNfOkHTgOPT8e/KLTQVm+b71zdirJlKDDAJBHHjZ6GrQtGublEXz5xSHh4U sCjBR5np+p/Jx1NU+BJ67w1YvWVnomeVr29Ol8aUHc6E98p60KLwX6K4nYxsvioc85MZ /uew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560431; x=1753165231; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BJ/tkPkzgP2G4LmEdPSORw9xVUXvOZgvZ1yKFPXS8bk=; b=gL/iWroAuNrq5WrI7m7c9gIFdKiGlwp5K8tf4Nb0r9hdhnDTuzTcuwz2kW6uAg/JWA qpPCMmwJiS/oRHa2r7qUbdjKi+riwrszU0BQPNLT6o48SviWeHtKFDYdXj3aielaJ7G6 t7igrGa0RAAKpXlNVwhe5rQFkPFtY7wAb1Zp3xPCCFb8KynpdvkvfHfuw7DRI4ddnBwX nBEJ+BMv1Uvb0aMXD5/ZMXXfZ/tIOKbRQvD/w5tVgAopVlUgaEgsj2RRDjrnTUCtJ4rw rOEuGQvupFuXayvUsrUMUTfSv1jWPoqaoeWadYOlrvX00mOEL2IMYwevV0MtgZiDjVMc 0Vgw== X-Gm-Message-State: AOJu0YwEy/dEpk/KkVyMRoi2RHzd9RXI10uOHpGUsIsKm46/NA754iTj 9QULlZY+pxvlQ10jxp5bYwhIj5g33t0cOXtEW7VXDrkK7KRD/lSQYkV48tnENgfpQLcOvLqudXz 2dOyU X-Gm-Gg: ASbGnctoOMG/G5x49zqbMRQqD/aQsl5PYNTMvMxFewCa2HRsfX/9+952vJuJCk9Nhoc 7sSlpwlmkPs6SYID3oTZyx7q2z1cl0iEdCFmB3cVvMjXMgb2eOu8Cyv0zqSw7shtoO8ySL3jD0A nvnDECil2K6eLvowuGlUYiTjD2jsQmmzWbZc52ERnNARW4tlFUB9FUnGILDOAV8IleCsSjIyebI +tVOODzKoeiw7zR8mh3/6Qjm5Fn+zJNPCiH9ilvZATgdTMU/TeDAbE0TjKgvGyUiZ2hAUUx2Ug4 cpkvclgbGYJc4bfAP+eubGWQsiH45Uf7lA7HOCAm+y2WxCc0Q3e274oxnFa33zbqZDCIeuwhJ+3 MZL3AE6Vcbuz4kuEWSL4kwpCYAQyMhTJR5iDcTjL4HsaNpR/MVCSWhSGdOaCgAEWg+h3y64Sn X-Google-Smtp-Source: AGHT+IGO8LYAGWiLViQFkqJbigWnR+O7BCPkSqZzEHAbmSD7r+xY53v76zJK8wetKhEblN2hFyjrEA== X-Received: by 2002:a5d:64e8:0:b0:3a4:e480:b5df with SMTP id ffacd0b85a97d-3b5f2e33b06mr11896666f8f.44.1752560430348; Mon, 14 Jul 2025 23:20:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 14/17] esp.c: only call dma_memory_read function if transfer length is non-zero Date: Tue, 15 Jul 2025 08:19:14 +0200 Message-ID: <20250715061918.44971-15-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560873167116600 From: Mark Cave-Ayland In the cases where mixed DMA/non-DMA transfers are used or no data is available, it is possible for the calculated transfer length to be zero. Only call the dma_memory_read function where the transfer length is non-zero to avoid invoking the DMA engine for a zero length transfer which can have side-effects (along with generating additional tracing noise). Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-5-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/esp.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index 62ba4061492..ec9fcbeddf4 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -487,8 +487,10 @@ static void esp_do_dma(ESPState *s) case STAT_MO: if (s->dma_memory_read) { len =3D MIN(len, fifo8_num_free(&s->cmdfifo)); - s->dma_memory_read(s->dma_opaque, buf, len); - esp_set_tc(s, esp_get_tc(s) - len); + if (len) { + s->dma_memory_read(s->dma_opaque, buf, len); + esp_set_tc(s, esp_get_tc(s) - len); + } } else { len =3D esp_fifo_pop_buf(s, buf, fifo8_num_used(&s->fifo)); len =3D MIN(fifo8_num_free(&s->cmdfifo), len); @@ -541,9 +543,11 @@ static void esp_do_dma(ESPState *s) trace_esp_do_dma(cmdlen, len); if (s->dma_memory_read) { len =3D MIN(len, fifo8_num_free(&s->cmdfifo)); - s->dma_memory_read(s->dma_opaque, buf, len); - fifo8_push_all(&s->cmdfifo, buf, len); - esp_set_tc(s, esp_get_tc(s) - len); + if (len) { + s->dma_memory_read(s->dma_opaque, buf, len); + fifo8_push_all(&s->cmdfifo, buf, len); + esp_set_tc(s, esp_get_tc(s) - len); + } } else { len =3D esp_fifo_pop_buf(s, buf, fifo8_num_used(&s->fifo)); len =3D MIN(fifo8_num_free(&s->cmdfifo), len); @@ -572,8 +576,10 @@ static void esp_do_dma(ESPState *s) switch (s->rregs[ESP_CMD]) { case CMD_TI | CMD_DMA: if (s->dma_memory_read) { - s->dma_memory_read(s->dma_opaque, s->async_buf, len); - esp_set_tc(s, esp_get_tc(s) - len); + if (len) { + s->dma_memory_read(s->dma_opaque, s->async_buf, len); + esp_set_tc(s, esp_get_tc(s) - len); + } } else { /* Copy FIFO data to device */ len =3D MIN(s->async_len, ESP_FIFO_SZ); --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560885; cv=none; d=zohomail.com; s=zohoarc; b=cYir2Ii7uTQR9iWk9AX88RUwOB3fcwfePwwFNSkvLx2Gq8xbiWtMmpRyzo+tMT2wJSBDc02pX5j6j0fwidCYoWiVy1V1pZAiGTyUXaypNB8WjnPJ0L/vfugzIIQgOWWMO0UEVtetPhcjuVTRwnLSQfkdaOrkHKKzXW4xg4VQNnU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560885; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AAAEB3eVJKoeoejF7sQrJUuJBjbwnpIt5RH1cN5JYiQ=; b=DI8qulP7Rw2Zjmzh1oe7XYjU9gf1tyeugJw0+DXSzf8ctn12pXq15Z3ZxsChiV3BL0Gjnq5JDnrg5fkoWPm3A4HgnO9bYSPBGMF9ZLqKcyTXw+hh1LNKf5er23Szzr6hzbEXEotOZqku2h/QotxFmuLaNBhePDuDs7EZ++Lstt0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175256088566734.11576448721473; Mon, 14 Jul 2025 23:28:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ3Y-0005al-3c; Tue, 15 Jul 2025 02:22:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ1w-0003UX-OR for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:21:01 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1r-0007RW-CJ for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:41 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so3551770f8f.0 for ; Mon, 14 Jul 2025 23:20:36 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454d5032e9esm190623215e9.3.2025.07.14.23.20.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560435; x=1753165235; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AAAEB3eVJKoeoejF7sQrJUuJBjbwnpIt5RH1cN5JYiQ=; b=aRo+vdHm6y4mNOdyIpRrV/b5qAJtOH4n/l8/LKrIUJzxBVcZJdwP+hBQzmxxZHvzt+ pbGTwhvBRhscR07QfbSQSeTwcp7FuIlx701TkUNLa/jnFwiz1qm15bdl7Z6sAbwTy8gQ Jf0kRnZz1Mz05mUrAgzIKysGonDHhsCeQUKwYAtCdc6TdIys69YyjdTZe460IOXiW5+W 6gMAs7ykCIYrF1VYjB1vUSoP8WlB821brqArKqO0Frx+ZVLO4TYC6GwE9J1GMxbAQCUw 9PSsHLiEr5U6XBqurg17MKJOOOW5aynkvX0h99Mw1kCpBeoMxb6yDOSQmLIutRrObPf6 pM/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560435; x=1753165235; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AAAEB3eVJKoeoejF7sQrJUuJBjbwnpIt5RH1cN5JYiQ=; b=Gso4BCTUut37I+YQQ8S3UdiIiKhdwq5Xts89iQFq23h8ibkef8Rt98KLsu9B03vrh9 iTD+v4Ncfi+2uSxpvI+q6T8WK2LiUsdS0OSpUeeBxcoSa1stpZVAF+CuQicfQyPv61kV WbNIUJC7/ZdHYUORLzezdAQRig90WBxvQLzEALEXraKtoXffTuub/lu+iG4Hu8JS2zXj lvV+lLeDSk0GvwHLYs62BW0BbumuouQqvlqAs1JO+XBRIzg/Z/Mtlm7/w9h3ea+Jjllv 0Nuz/zMgbZmjgJMzdsDn8w6m3YHpuSyiI2308kqWSuiy0IU6I61MVCAAg5c3d/zpRCxP Oj7A== X-Gm-Message-State: AOJu0YxbW5/REr73YNgzbZQL3d0UCi0CZAAq63HM++KaEiBH43+yk/5n Z7oP31uppWT4hMmSgD6znz4oTk1cEyLUXU7YbcRQSGTxDiZQpip61Gnr2n4mXpTkJZ/IkqLAbv4 wqwkn X-Gm-Gg: ASbGncsZio1POsifwxZdQ0cLn0sHZNVf9Nbd9rs3D/DPQBjq4etkNYWYjy/H3a/CdSE Xf1dIVsVr2mPomapj6id8mP3qXTidDHbNMkUJTRDgeeZJLgFg5twOLyTgyCmdwnaq5A+dIrq4rW FH7gd/9vAGuU9YVHWxTDu7z1vdSa2jOsdHZ/Y84g9PImpeHj/B2Wx6bZdkca1P++B4xBhTVsP0F awhYpc3I5+fTLpy893a0uHADXJZ7618uz+D22E956VdrQW9ed7fi2n53k7kZoAtCxHFyRLeN8St 2B8UATVSQSXpdUaW023kK4iQIG/0RWUlizOTACCKyj76qK0BqncAr0n+Zz1DxxlyXwKnf/lL1CU ruNNI1E/PoA12XSXR//OazIV3RG/0TLduyXDmVF7ZI1MX4f71X1QDlrL1IWy9FZ0w0Sl0gAc0FR nliXa7M8M= X-Google-Smtp-Source: AGHT+IE4kM2zPLwHhA8KcuIIH8p3I9fuc0n6FZDfc1V21iDYd5ErMap3SVHNE2uZlFs7uRpHnPFVzQ== X-Received: by 2002:a05:6000:2307:b0:3a5:8934:4959 with SMTP id ffacd0b85a97d-3b609544322mr1440705f8f.27.1752560435072; Mon, 14 Jul 2025 23:20:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 15/17] esp.c: only call dma_memory_write function if transfer length is non-zero Date: Tue, 15 Jul 2025 08:19:15 +0200 Message-ID: <20250715061918.44971-16-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560887234116600 From: Mark Cave-Ayland In the cases where mixed DMA/non-DMA transfers are used or no data is available, it is possible for the calculated transfer length to be zero. Only call the dma_memory_write function where the transfer length is non-zero to avoid invoking the DMA engine for a zero length transfer which can have side-effects (along with generating additional tracing noise). Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-6-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/esp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index ec9fcbeddf4..1c7bad8fc02 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -631,7 +631,9 @@ static void esp_do_dma(ESPState *s) switch (s->rregs[ESP_CMD]) { case CMD_TI | CMD_DMA: if (s->dma_memory_write) { - s->dma_memory_write(s->dma_opaque, s->async_buf, len); + if (len) { + s->dma_memory_write(s->dma_opaque, s->async_buf, len); + } } else { /* Copy device data to FIFO */ len =3D MIN(len, fifo8_num_free(&s->fifo)); @@ -681,6 +683,7 @@ static void esp_do_dma(ESPState *s) buf[0] =3D s->status; =20 if (s->dma_memory_write) { + /* Length already non-zero */ s->dma_memory_write(s->dma_opaque, buf, len); } else { esp_fifo_push_buf(s, buf, len); @@ -715,6 +718,7 @@ static void esp_do_dma(ESPState *s) buf[0] =3D 0; =20 if (s->dma_memory_write) { + /* Length already non-zero */ s->dma_memory_write(s->dma_opaque, buf, len); } else { esp_fifo_push_buf(s, buf, len); --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560871; cv=none; d=zohomail.com; s=zohoarc; b=m0xHBz+//BjP6og72KcebRoVr526uTAkleQ+Txh7Y1Wq+YSFBmeo3aGFKAPqYX9OrbaYDk22XDYNctsMCeu/dwUXZMAg0jm8P4yb05K7f0NdVDqeIcEehr+0yrIbxHMPI8/t1R3trCPL/zWEGEDRTX4thSNqDwAkodnRSrbt/Rg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560871; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=W2AWFB5Pyqah58zjvyeLVbkHACcax2vJ0ewRGYfkQd8=; b=EhkjtRQw7UzlWWx+RYmz3sYpK9zQJ+Cw5n6vHdhzKQ4GIXEVljR6tQTtZCDIxVAnA0S7YPP4yz3LpQyKoE+dR+2/DloeaT5g+UwwY7EyzUlFACOZmLC2SLLah7zqm4XNwSlK+57+l/FjqY0Aa8Vt5FApaWYRfFiaKF3AOPv2CAQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175256087154665.14448865459451; Mon, 14 Jul 2025 23:27:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ2s-0004BL-CD; Tue, 15 Jul 2025 02:21:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ21-0003aT-Gr for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:21:01 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1w-0007TA-GY for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:49 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a528243636so2737483f8f.3 for ; Mon, 14 Jul 2025 23:20:41 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc2025sm14502765f8f.31.2025.07.14.23.20.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560440; x=1753165240; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=W2AWFB5Pyqah58zjvyeLVbkHACcax2vJ0ewRGYfkQd8=; b=TukdXiaMJY4RBPOxrm54+aFfT39csaxfEQnjepRKYLOjvFvlg5jURFMwQzuxg99a7V qPTGlPj67AsozNIKEuwnFkuPNs0XhZ3MQxA+Dc347h67yAyfC7ansWi/R9rqbOKTlCEi O15bHvEQ2N0hRmxD0ChTpPMbkduhy6NKRwHuXkjXUhuVtzOhntD9D4rqEQfBNIQPyAkq 8SHbJEt4UJTOZT/rKwSzRMQ40UZ8sZZggRCBehGy+LqDnrk/9CUBCpAEBSfii/ecm/t0 udViYdLrUZ5wIV0B8QTwVrydUkppnF7PFzFeMgSE9cYXaU8dQVS92nqeAzBvu1Eg+f7B 0f2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560440; x=1753165240; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=W2AWFB5Pyqah58zjvyeLVbkHACcax2vJ0ewRGYfkQd8=; b=QYEqptSlcmrZdsftXPhsPFEnsfV0TX79PhR2Litz8oe3IxDHs8rFnRNiRqYRezqjM3 eGbtgCx0azfEDo1SiJMJUeodUtCuCuCrTacGMp6VUwUksuM0PM/yR62I6Bqnk3nbuS4k bnvYWGsAv8Dx8jhZGQTvJpRLk9OR240iXlFVzoilQ/uCXmLgTPLBSChhYJnJwmma6tkz 07iA+O5ccnEJil6cXkcum3mEXSgdMoosit+mTXI8s9bplBgNThRfIWHy+X91c03VaBJE zceLJMRGYv49KJWgnItcDzZlHsxVvitdmj1lytLm8X1csa+6WY3Hpc//BweYT8Jnm3V3 NLHg== X-Gm-Message-State: AOJu0YyUoPqt6mLzTRH4YtaQTqvNfTI0afmN/XRUzMLCQY5FGERTI5j4 +I8fvdrjIvya+67YMbWAdncTEgodRJko6L3Vppo2DK0snMcuV6A3Bryb45cGp820WnRplESUuJ6 dIaVL X-Gm-Gg: ASbGncvZnC9mciTnvHLKZ+FC4o1OvWchaLdHXISt7JamTw3q8CNtLRciTyeHZoxi8VM qgjZIRgBrkUtiJbLNAoOW4LZs6o5Qvl+On1qX17WYLfc4rVRFPZVdwJv77s/P0qgDvnJNiW5THZ Jq+yrgwbkasLC8iN0Od5+5CqRTtnMjYiF5NJYy3gQG/BQLIIZIDZ8d4f7AoudR6E33g5l7WCnzL /1LPV6ssVtCueQS5daMdeVqrdrL//u9nmQ/1hTYbpEUml2vEZhbFUDN4+oLPUUph+nvtLpphqzX 4Om3NfZ8wYN2hR9XqG6jBft18ohVcWF6u76B5SadGFxfwozs+axm5KZDdej+z+r23JRAT2o2wta 791MUgsHHENeINlMCs7VW5Z9ifV24FF7V/BwprKtVPxCKaJPSwLShJgYboI1U7tIB8szISTVeSr F5Fsvlufg= X-Google-Smtp-Source: AGHT+IH2njBaVNZQOwFvE3Wq0RqZ+qCbBD9uRBscHqX9O9Z7FHe7Bx/nXB7qRK/pRO4kV/VqEU5b4g== X-Received: by 2002:adf:ea45:0:b0:3a8:38b3:1aa1 with SMTP id ffacd0b85a97d-3b5f18cf218mr10693915f8f.27.1752560439711; Mon, 14 Jul 2025 23:20:39 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 16/17] esp.c: add asc_mode property to indicate the current ESP mode Date: Tue, 15 Jul 2025 08:19:16 +0200 Message-ID: <20250715061918.44971-17-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560873228116600 From: Mark Cave-Ayland Add a new asc_mode property to ESPState which indicates the current mode of the ESP and update the ESP state machine accordingly. Bump the vmstate version and include migration logic to ensure that asc_mode is set to initiator mode such that any commands in progress will always continue. Signed-off-by: Mark Cave-Ayland Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-7-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/scsi/esp.h | 7 +++++++ hw/scsi/esp.c | 21 ++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h index c9afcb7cac0..6327060c7c7 100644 --- a/include/hw/scsi/esp.h +++ b/include/hw/scsi/esp.h @@ -14,6 +14,12 @@ typedef void (*ESPDMAMemoryReadWriteFunc)(void *opaque, = uint8_t *buf, int len); #define ESP_FIFO_SZ 16 #define ESP_CMDFIFO_SZ 32 =20 +enum ESPASCMode { + ESP_ASC_MODE_DIS =3D 0, /* Disconnected */ + ESP_ASC_MODE_INI =3D 1, /* Initiator */ + ESP_ASC_MODE_TGT =3D 2 /* Target */ +}; + #define TYPE_ESP "esp" OBJECT_DECLARE_SIMPLE_TYPE(ESPState, ESP) =20 @@ -38,6 +44,7 @@ struct ESPState { uint8_t cmdfifo_cdb_offset; uint8_t lun; uint32_t do_cmd; + uint8_t asc_mode; =20 bool data_ready; int dma_enabled; diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index 1c7bad8fc02..4aa58f9e485 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -275,6 +275,7 @@ static int esp_select(ESPState *s) if (!s->current_dev) { /* No such drive */ s->rregs[ESP_RSTAT] =3D 0; + s->asc_mode =3D ESP_ASC_MODE_DIS; s->rregs[ESP_RINTR] =3D INTR_DC; esp_raise_irq(s); return -1; @@ -284,6 +285,7 @@ static int esp_select(ESPState *s) * Note that we deliberately don't raise the IRQ here: this will be do= ne * either in esp_transfer_data() or esp_command_complete() */ + s->asc_mode =3D ESP_ASC_MODE_INI; return 0; } =20 @@ -308,6 +310,7 @@ static void do_command_phase(ESPState *s) if (!current_lun) { /* No such drive */ s->rregs[ESP_RSTAT] =3D 0; + s->asc_mode =3D ESP_ASC_MODE_DIS; s->rregs[ESP_RINTR] =3D INTR_DC; s->rregs[ESP_RSEQ] =3D SEQ_0; esp_raise_irq(s); @@ -1102,6 +1105,7 @@ void esp_hard_reset(ESPState *s) fifo8_reset(&s->cmdfifo); s->dma =3D 0; s->dma_cb =3D NULL; + s->asc_mode =3D ESP_ASC_MODE_DIS; =20 s->rregs[ESP_CFG1] =3D 7; } @@ -1170,6 +1174,7 @@ static void esp_run_cmd(ESPState *s) break; case CMD_MSGACC: trace_esp_mem_writeb_cmd_msgacc(cmd); + s->asc_mode =3D ESP_ASC_MODE_DIS; s->rregs[ESP_RINTR] |=3D INTR_DC; s->rregs[ESP_RSEQ] =3D 0; s->rregs[ESP_RFLAGS] =3D 0; @@ -1337,6 +1342,14 @@ static bool esp_is_between_version_5_and_6(void *opa= que, int version_id) return version_id >=3D 5 && version_id <=3D 6; } =20 +static bool esp_is_version_8(void *opaque, int version_id) +{ + ESPState *s =3D ESP(opaque); + + version_id =3D MIN(version_id, s->mig_version_id); + return version_id >=3D 8; +} + int esp_pre_save(void *opaque) { ESPState *s =3D ESP(object_resolve_path_component( @@ -1368,13 +1381,18 @@ static int esp_post_load(void *opaque, int version_= id) } } =20 + if (version_id < 8) { + /* Assume initiator mode to allow all commands to continue */ + s->asc_mode =3D ESP_ASC_MODE_INI; + } + s->mig_version_id =3D vmstate_esp.version_id; return 0; } =20 const VMStateDescription vmstate_esp =3D { .name =3D "esp", - .version_id =3D 7, + .version_id =3D 8, .minimum_version_id =3D 3, .post_load =3D esp_post_load, .fields =3D (const VMStateField[]) { @@ -1406,6 +1424,7 @@ const VMStateDescription vmstate_esp =3D { esp_is_between_version_5_and_6), VMSTATE_UINT8_TEST(lun, ESPState, esp_is_version_6), VMSTATE_BOOL(drq_state, ESPState), + VMSTATE_UINT8_TEST(asc_mode, ESPState, esp_is_version_8), VMSTATE_END_OF_LIST() }, }; --=20 2.49.0 From nobody Sat Nov 15 10:52:08 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752560869; cv=none; d=zohomail.com; s=zohoarc; b=j2sYAkvA0x3esLAXvYOeo+jLDE1Jp59VOFoVJ4cKzXHobB6d0CnBIGbRxdY6IbI9Zw4QIaImjeaBeszBrumHMOeiIpKnKFw8ee6GODu/aT+IihxAwewwpsrEt7Ajot4cLmB/yljlYZMoaM8qL55aV13915KPyjItGwxTHEkHTW4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752560869; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=BIsVxfdtLnNina7X6rS10zd6t1LjrmBkXjEYQ2rhc7I=; b=T0/dwTPeJgHQpBsPxHb9i+FI4P1wfuKGq3EEshzGnxqsnXA8ITDrxoX1Abkf5Sf8BXN97wdjM50QG3GIcvuwO9l+N0xTnhti3fp4nwYdJrAHvTyv//p8u0eR8vh0lfE7Xt9nLY3hJHqZRSgh1yM8Chg0Ze8NOcIV2kPyhoHhFw8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752560869674439.2182564525058; Mon, 14 Jul 2025 23:27:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubZ3Q-0005AV-I7; Tue, 15 Jul 2025 02:22:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubZ21-0003an-Nq for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:21:01 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ubZ1z-0007UU-BA for qemu-devel@nongnu.org; Tue, 15 Jul 2025 02:20:49 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a4fb9c2436so3046744f8f.1 for ; Mon, 14 Jul 2025 23:20:46 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e1a5sm14004594f8f.74.2025.07.14.23.20.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 14 Jul 2025 23:20:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752560445; x=1753165245; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BIsVxfdtLnNina7X6rS10zd6t1LjrmBkXjEYQ2rhc7I=; b=uU/m+cNUlLlf+0qxjUrGSdgIXWb3MttdVhqf1MvJMdV4cn4nmvkb7y4fYBztYKiLjY xVNTDdePZn3UD7Z9TOsi7R50iDMwwljpwtiRA/1B01XOb2jdeAFz2GxtAwCPqFOn+5sC 1JO/vZzpO5uhOFKF/BqVZyNbLkqmnP0mg3w7CvuSRokh9Kvxwf6TIrRQ/eJFGEtv5wRC qwdhK8KQsxA65+dUxMGvq4L6fLVglrWX/UKGtO78r2NXkPX0Az9u/MGzuqYYHu9Y5p12 KUgnAdsTsiHs2lhLMyYGRFB9XklMpSLl7YkX0Rcl3s93pFu5qBTTiLe9FaInrOdmIn+o n1Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752560445; x=1753165245; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BIsVxfdtLnNina7X6rS10zd6t1LjrmBkXjEYQ2rhc7I=; b=OIACVnx2h9P2bQGcnII9oSxvLZbttEDJh1u+tajfJrX5ytjma0OVyw9qUzdJg9dpFz CqO87n39XzcCzaDzSGakZZO/7tQgQFoU+zLN0hBd2ztXpy0mSwcpuYbu8zVH+KMk5Qws DiEmDmZSeUmuWnKnDpOHNyiF1xftgB7ZYwiOUS51pPYjxYMcTFaijhHaEJeI9ZbrK1kN OnQKK1R/clmr6swv5ceryKdBxCgPbhJy4r8ItalrEK0/LqqsbyP/CgFoalO76GvqXQpo d5z5l6/nwsGv/fTDjEB1zoaCvQ2b2GiSWWju3dB6tf4CXwJpn/XArgw3DFUNWvvfXh7T YR0Q== X-Gm-Message-State: AOJu0YxjPjn25e9Nv84f79wMjh1R3pUXNbs+ANaRu2FhgJTp04s+2WkH YrjH4xfKYJRfUYNPM569SslEZ0mF1s9l5UqxVAaYMm0Iyl7pBCrG6EYZAKsmjMOVhG1C49nfGQJ dnQNj X-Gm-Gg: ASbGncueiyLgkez/oj/u/wkPxZ6Am8K8pBBJftZ83wDZMoob2Y2JSO/7mR3t2QFizMX m/kUdfSSyCj1En1sLyfLh4g8LfB7kqYc3HbM33qV+K5nVxmJcRNmfg7QCV7ANjO9FaluEHRbSL5 lnvxxyuKd1oq+b413mjF6GHhFWSdvov675zmp4cCHedybC1oaSa+zFjK++fB+z5Qs1QcwRoC99r 6Rz6pOLWzwovBpaUgpa/cjsCF458gBLMoSn5y7ls87umIAlqD87ipX+iAjXE5butVgLgmLegDek B4tzJ/nXymT88v18LiT+K2ySf4KQlIYKYoonPrxV8kxB6r4BC7sQqehiX4qyM5M3P5F2WsvUooG pijbVNJ1eXkuAD0uCKkMtHcq+oZYkuoUE18ifNB6y4G7wCnUFtIdmnOo9MB4TSqpOqNFw3HWz X-Google-Smtp-Source: AGHT+IEFuks1Xz6P49FNSHJAROS6iMPU36yD3aASuS6vf1g13WxY3XRgVEt2QtDDuWvNfyewRwzfEg== X-Received: by 2002:a05:6000:42c1:b0:3a5:7991:ff6 with SMTP id ffacd0b85a97d-3b5f187b268mr9374758f8f.1.1752560444747; Mon, 14 Jul 2025 23:20:44 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Fam Zheng Subject: [PULL 17/17] esp.c: only allow ESP commands permitted in the current asc_mode Date: Tue, 15 Jul 2025 08:19:17 +0200 Message-ID: <20250715061918.44971-18-philmd@linaro.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250715061918.44971-1-philmd@linaro.org> References: <20250715061918.44971-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752560871202116600 From: Mark Cave-Ayland If an ESP command is issued in an incorrect mode then an illegal command interrupt should be generated. Add a new esp_cmd_is_valid() function to indicate whether the ESP command is valid for the current mode, and if not then raise the illegal command interrupt. This fixes WinNT MIPS which issues ICCS after a Chip Reset which is not permitted, but will fail with an INACCESSIBLE_BOOT_DEVICE error unless an interrupt is generated. Signed-off-by: Mark Cave-Ayland Fixes: 83428f7a97 ("esp.c: move write_response() non-DMA logic to esp_do_no= dma()") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2464 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20250711204636.542964-8-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/scsi/esp.h | 8 ++++++++ hw/scsi/esp.c | 37 +++++++++++++++++++++++++++++++++++++ hw/scsi/trace-events | 1 + 3 files changed, 46 insertions(+) diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h index 6327060c7c7..3526bad7464 100644 --- a/include/hw/scsi/esp.h +++ b/include/hw/scsi/esp.h @@ -111,6 +111,13 @@ struct SysBusESPState { #define CMD_DMA 0x80 #define CMD_CMD 0x7f =20 +#define CMD_GRP_MASK 0x70 + +#define CMD_GRP_MISC 0x00 +#define CMD_GRP_INIT 0x01 +#define CMD_GRP_TRGT 0x02 +#define CMD_GRP_DISC 0x04 + #define CMD_NOP 0x00 #define CMD_FLUSH 0x01 #define CMD_RESET 0x02 @@ -145,6 +152,7 @@ struct SysBusESPState { #define INTR_FC 0x08 #define INTR_BS 0x10 #define INTR_DC 0x20 +#define INTR_IL 0x40 #define INTR_RST 0x80 =20 #define SEQ_0 0x0 diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index 4aa58f9e485..1d264c40e57 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -1129,6 +1129,38 @@ static void parent_esp_reset(ESPState *s, int irq, i= nt level) } } =20 +static bool esp_cmd_is_valid(ESPState *s, uint8_t cmd) +{ + uint8_t cmd_group =3D (cmd & CMD_GRP_MASK) >> 4; + + /* Always allow misc commands */ + if (cmd_group =3D=3D CMD_GRP_MISC) { + return true; + } + + switch (s->asc_mode) { + case ESP_ASC_MODE_DIS: + /* Disconnected mode: only allow disconnected commands */ + if (cmd_group =3D=3D CMD_GRP_DISC) { + return true; + } + break; + + case ESP_ASC_MODE_INI: + /* Initiator mode: allow initiator commands */ + if (cmd_group =3D=3D CMD_GRP_INIT) { + return true; + } + break; + + default: + g_assert_not_reached(); + } + + trace_esp_invalid_cmd(cmd, s->asc_mode); + return false; +} + static void esp_run_cmd(ESPState *s) { uint8_t cmd =3D s->rregs[ESP_CMD]; @@ -1285,6 +1317,11 @@ void esp_reg_write(ESPState *s, uint32_t saddr, uint= 64_t val) break; case ESP_CMD: s->rregs[saddr] =3D val; + if (!esp_cmd_is_valid(s, s->rregs[saddr])) { + s->rregs[ESP_RSTAT] |=3D INTR_IL; + esp_raise_irq(s); + break; + } esp_run_cmd(s); break; case ESP_WBUSID ... ESP_WSYNO: diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events index f0f2a98c2ee..6c2788e2026 100644 --- a/hw/scsi/trace-events +++ b/hw/scsi/trace-events @@ -198,6 +198,7 @@ esp_mem_writeb_cmd_ensel(uint32_t val) "Enable selectio= n (0x%2.2x)" esp_mem_writeb_cmd_dissel(uint32_t val) "Disable selection (0x%2.2x)" esp_mem_writeb_cmd_ti(uint32_t val) "Transfer Information (0x%2.2x)" esp_set_phase(const char *phase) "setting bus phase to %s" +esp_invalid_cmd(uint8_t cmd, uint8_t asc_mode) "command 0x%x asc_mode 0x%x" =20 # esp-pci.c esp_pci_error_invalid_dma_direction(void) "invalid DMA transfer direction" --=20 2.49.0