From nobody Fri Apr 3 03:04:47 2026 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=1774406636; cv=none; d=zohomail.com; s=zohoarc; b=CBBitOJl925EjHi1Ngkn9KdJlrWXjqJsBKcX6vTS8Df8iunFfuIu8LPXf1dE/xKIwtX6vFDks5/eAeS0XQFFpcu51cvLmaEr1QHeq/djhGuEVDNfkfcAuyoj9o8RW1Bf05gdM7XL8h4eU8bZnBUY6nfI+fNPLZWdaJ4JaleKEAw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774406636; h=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=wLUO20s9fc0WSyu9nkSPfkpNGOICK40fTp3wqsAJMak=; b=hE2c0mhmS29tXgw4AT+h/7zFEM+ATkyTyWSydRVg/BFeQF/+vLDLkTV9FbBhfBNOVg3IP1VT8GAImM6muR6logcjLnyBpXlHJNi3dWvI5GH1JrlSxhpR1/6PjP1FbyAvkgluCZEzNckZmhS6qbXkv3p9zaIdJhaMVIs4KmlT4bg= 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 1774406636935394.6295205437066; Tue, 24 Mar 2026 19:43:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w5ED5-0003FA-C6; Tue, 24 Mar 2026 22:43:07 -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 1w5ED2-0003DF-K5 for qemu-devel@nongnu.org; Tue, 24 Mar 2026 22:43:04 -0400 Received: from mail-pf1-x42a.google.com ([2607:f8b0: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 1w5ED0-0002hH-Lw for qemu-devel@nongnu.org; Tue, 24 Mar 2026 22:43:04 -0400 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-82ae379000fso239334b3a.1 for ; Tue, 24 Mar 2026 19:43:00 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82b04222f42sm16762716b3a.61.2026.03.24.19.42.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 19:42:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774406579; x=1775011379; 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=wLUO20s9fc0WSyu9nkSPfkpNGOICK40fTp3wqsAJMak=; b=IcB4jh031t79DQLkuQb0BNWY8KMcPmLoemX4GYIHPpvnshomqFroociPAfImEDmwdp MyB3321zLeQBX9uNmayETm7zvQc3nqGA4U3gAIqZpzuA4+cD1xwE2HdrAUt/xms+vZZ0 Sn4kdgDMRC+mE8uWAc+52CC5nSzfKpd99DWnup9nuZr1SknOf4faBF7r7dLiEAMQVIuM aRnFHwmp39v9HGmL1TBfIaZHUzgNKHu9JO1Jill8r2UQaNifm3+w5mh25Hu0XbVPFuwO 9EZWLdFFVnMjnrMhKUgAOJ61NgJ/sYgngbyllx3r10Pp/RMkM6RZAq5zSo7rV9JmV/Gb VfwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774406579; x=1775011379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wLUO20s9fc0WSyu9nkSPfkpNGOICK40fTp3wqsAJMak=; b=CA4SBZuJJiYsTujOH23rWah3UojCCifnUTFENz7YI9q0g6OgQTD6TnE9ZnfNWtwT4g JBo/ibANGYCkdojLUhyK9OLAgmQAdqP1md5BqRHEWAv+U1na4pM7sSx5V3D65i+FnV8P fAX9PV6ZwftasDStRBC6xpAj53cjtOOuqI5sYcQh3UCus7VcbwKZPnO+R3CSEjB2yPcq KZS2AmgFLlg985poMT4j14OYq7pbFXvREvWOtGk/NEQG3BvZznv4oF8v+/R1EjCESl/T YrBPeKG/Vc5amKB3YcC2ynEJYOp5li08GraIycPjLstc07j9fdik6/QVG493iFXugHV9 +YQA== X-Gm-Message-State: AOJu0YwfCp6oGyRC64YPKWkn4dsVmHaQ9nLtpUBSABPf1vIxoUZLgHv0 Vii66PG5piE2snAO1q+Rgenb+Q3FidVTEXizNvO5bgnBjfzEc9NCZMUXWGrNQ3dzhy7MVnn/phd r/iFySOQ= X-Gm-Gg: ATEYQzx41+W9yyJt6Kp2CljZslZfiQ9oxYRtSVWRFGbOaXMKhkPS2HLgXHPHS9pIMxR Uu5EEde5ByMr2EmiEXsulgoiYWBN/0p40wP53s0tPFX+ixGaS6Wnh+KlXj7f0OMwA/Ebj2FKlw/ dGAeK+76/NkGZLT9+UpGL70/JC8o/hY/4U96G8ld6cqbo4NqefA2I3fTtvwUuyruqk2siozaGcy 3jajzXzz/CvWtlVmThgtn+uCzCurDLyZ3ruGeaXEqDa2PM+YEL3fhGW87jghiurBitrnITKymbI hQzDOwgvFJmCKs+cnBg5AGvtPtIXnHuHABcBeJbNEh29iagqvJp//7loTtsa9XrgAAR6h2TYTf3 vfm64fioM8XHT0yeFugEZ2DhpYVnkgu1YG7Tva47YHf+r6lkTg+g4A+MaknOLzuCUtUHUYTxEyE aHxNdKkUD4NazIqRH4xHH9tNP7KJjDxqxBAJn5J6+q/5EVw9WlQxUjeEOGnGQq8wpC0z/98vGIP clqfb3+mDOHIec= X-Received: by 2002:a05:6a00:2c95:b0:824:3d5b:3cd3 with SMTP id d2e1a72fcca58-82c6d4e1df4mr1823738b3a.0.1774406579484; Tue, 24 Mar 2026 19:42:59 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , Mahmoud Mandour , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Pierrick Bouvier , Alexandre Iooss Subject: [PATCH 1/3] tcg: Pass host-endian values to plugin_gen_mem_callbacks_* Date: Tue, 24 Mar 2026 19:42:50 -0700 Message-ID: <20260325024252.3369186-2-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325024252.3369186-1-pierrick.bouvier@linaro.org> References: <20260325024252.3369186-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42a; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774406640134158500 Content-Type: text/plain; charset="utf-8" From: Richard Henderson If the host does not support swapped-endian loads and stores, then we emulate those within the tcg expanders with explicit bswap operations. However, we were passing values to the plugin interface in the middle of those bswap operations, which meant that we would pass values of the wrong endianness to plugins when running on hosts without swapped-endian loads and stores. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3351 Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier Tested-by: Pierrick Bouvier Signed-off-by: Pierrick Bouvier --- tcg/tcg-op-ldst.c | 52 ++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/tcg/tcg-op-ldst.c b/tcg/tcg-op-ldst.c index 354d9968f92..22211ccb452 100644 --- a/tcg/tcg-op-ldst.c +++ b/tcg/tcg-op-ldst.c @@ -262,9 +262,6 @@ static void tcg_gen_qemu_ld_i32_int(TCGv_i32 val, TCGTe= mp *addr, addr_new =3D tci_extend_addr(addr); copy_addr =3D plugin_maybe_preserve_addr(addr); gen_ldst1(INDEX_op_qemu_ld, TCG_TYPE_I32, tcgv_i32_temp(val), addr_new= , oi); - plugin_gen_mem_callbacks_i32(val, copy_addr, addr, orig_oi, - QEMU_PLUGIN_MEM_R); - maybe_free_addr(addr, addr_new); =20 if ((orig_memop ^ memop) & MO_BSWAP) { switch (orig_memop & MO_SIZE) { @@ -280,6 +277,10 @@ static void tcg_gen_qemu_ld_i32_int(TCGv_i32 val, TCGT= emp *addr, g_assert_not_reached(); } } + + plugin_gen_mem_callbacks_i32(val, copy_addr, addr, orig_oi, + QEMU_PLUGIN_MEM_R); + maybe_free_addr(addr, addr_new); } =20 void tcg_gen_qemu_ld_i32_chk(TCGv_i32 val, TCGTemp *addr, TCGArg idx, @@ -290,10 +291,10 @@ void tcg_gen_qemu_ld_i32_chk(TCGv_i32 val, TCGTemp *a= ddr, TCGArg idx, tcg_gen_qemu_ld_i32_int(val, addr, idx, memop); } =20 -static void tcg_gen_qemu_st_i32_int(TCGv_i32 val, TCGTemp *addr, +static void tcg_gen_qemu_st_i32_int(TCGv_i32 orig_val, TCGTemp *addr, TCGArg idx, MemOp memop) { - TCGv_i32 swap =3D NULL; + TCGv_i32 val =3D orig_val; MemOpIdx orig_oi, oi; TCGTemp *addr_new; =20 @@ -302,29 +303,29 @@ static void tcg_gen_qemu_st_i32_int(TCGv_i32 val, TCG= Temp *addr, orig_oi =3D oi =3D make_memop_idx(memop, idx); =20 if ((memop & MO_BSWAP) && !tcg_target_has_memory_bswap(memop)) { - swap =3D tcg_temp_ebb_new_i32(); + val =3D tcg_temp_ebb_new_i32(); switch (memop & MO_SIZE) { case MO_16: - tcg_gen_bswap16_i32(swap, val, 0); + tcg_gen_bswap16_i32(val, orig_val, 0); break; case MO_32: - tcg_gen_bswap32_i32(swap, val); + tcg_gen_bswap32_i32(val, orig_val); break; default: g_assert_not_reached(); } - val =3D swap; memop &=3D ~MO_BSWAP; oi =3D make_memop_idx(memop, idx); } =20 addr_new =3D tci_extend_addr(addr); gen_ldst1(INDEX_op_qemu_st, TCG_TYPE_I32, tcgv_i32_temp(val), addr_new= , oi); - plugin_gen_mem_callbacks_i32(val, NULL, addr, orig_oi, QEMU_PLUGIN_MEM= _W); + plugin_gen_mem_callbacks_i32(orig_val, NULL, addr, orig_oi, + QEMU_PLUGIN_MEM_W); maybe_free_addr(addr, addr_new); =20 - if (swap) { - tcg_temp_free_i32(swap); + if (val !=3D orig_val) { + tcg_temp_free_i32(val); } } =20 @@ -360,9 +361,6 @@ static void tcg_gen_qemu_ld_i64_int(TCGv_i64 val, TCGTe= mp *addr, addr_new =3D tci_extend_addr(addr); copy_addr =3D plugin_maybe_preserve_addr(addr); gen_ld_i64(val, addr_new, oi); - plugin_gen_mem_callbacks_i64(val, copy_addr, addr, orig_oi, - QEMU_PLUGIN_MEM_R); - maybe_free_addr(addr, addr_new); =20 if ((orig_memop ^ memop) & MO_BSWAP) { int flags =3D (orig_memop & MO_SIGN @@ -382,6 +380,10 @@ static void tcg_gen_qemu_ld_i64_int(TCGv_i64 val, TCGT= emp *addr, g_assert_not_reached(); } } + + plugin_gen_mem_callbacks_i64(val, copy_addr, addr, orig_oi, + QEMU_PLUGIN_MEM_R); + maybe_free_addr(addr, addr_new); } =20 void tcg_gen_qemu_ld_i64_chk(TCGv_i64 val, TCGTemp *addr, TCGArg idx, @@ -392,10 +394,10 @@ void tcg_gen_qemu_ld_i64_chk(TCGv_i64 val, TCGTemp *a= ddr, TCGArg idx, tcg_gen_qemu_ld_i64_int(val, addr, idx, memop); } =20 -static void tcg_gen_qemu_st_i64_int(TCGv_i64 val, TCGTemp *addr, +static void tcg_gen_qemu_st_i64_int(TCGv_i64 orig_val, TCGTemp *addr, TCGArg idx, MemOp memop) { - TCGv_i64 swap =3D NULL; + TCGv_i64 val =3D orig_val; MemOpIdx orig_oi, oi; TCGTemp *addr_new; =20 @@ -404,32 +406,32 @@ static void tcg_gen_qemu_st_i64_int(TCGv_i64 val, TCG= Temp *addr, orig_oi =3D oi =3D make_memop_idx(memop, idx); =20 if ((memop & MO_BSWAP) && !tcg_target_has_memory_bswap(memop)) { - swap =3D tcg_temp_ebb_new_i64(); + val =3D tcg_temp_ebb_new_i64(); switch (memop & MO_SIZE) { case MO_16: - tcg_gen_bswap16_i64(swap, val, 0); + tcg_gen_bswap16_i64(val, orig_val, 0); break; case MO_32: - tcg_gen_bswap32_i64(swap, val, 0); + tcg_gen_bswap32_i64(val, orig_val, 0); break; case MO_64: - tcg_gen_bswap64_i64(swap, val); + tcg_gen_bswap64_i64(val, orig_val); break; default: g_assert_not_reached(); } - val =3D swap; memop &=3D ~MO_BSWAP; oi =3D make_memop_idx(memop, idx); } =20 addr_new =3D tci_extend_addr(addr); gen_st_i64(val, addr_new, oi); - plugin_gen_mem_callbacks_i64(val, NULL, addr, orig_oi, QEMU_PLUGIN_MEM= _W); + plugin_gen_mem_callbacks_i64(orig_val, NULL, addr, orig_oi, + QEMU_PLUGIN_MEM_W); maybe_free_addr(addr, addr_new); =20 - if (swap) { - tcg_temp_free_i64(swap); + if (val !=3D orig_val) { + tcg_temp_free_i64(val); } } =20 --=20 2.47.3 From nobody Fri Apr 3 03:04:47 2026 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=1774406637; cv=none; d=zohomail.com; s=zohoarc; b=JoW/Vmja5Argk1NammEvTgCWtwKl4+NddDUOtj37cPrpHadtAwwAeRhij4k1obz9Hie0p0k8pqA6nvIc8FlBCfYD6X99n74uhG+iS5bgf/kWtd+invCrgxt0DyWxd7Rtm1UIA5VbsqxizL0ILLYg2qKeWApM6hIkXdkjZGBY06E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774406637; h=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=A2E8rKgHUzP/UX9nRl+/RGcVIASB81IsTlG/cP9cy+I=; b=V5WhX3rE+vHasT2bvTcSP0wkx5SKKvDP8H6GSH5v8v/sxXQLzRqP4pjRlz3M9dOYx3MyxcaOJJFV0n5f6FbvdTYzcXMxLpdy0WjJ5n8VnGImS69CObSmIOxyTIw/t8VgGe9sItoFa2BtLJ/YM7jcUTSNB8gGxWDu8vlDnJv3NZw= 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 1774406637101688.4760680041148; Tue, 24 Mar 2026 19:43:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w5ED4-0003ES-HG; Tue, 24 Mar 2026 22:43:06 -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 1w5ED3-0003DP-78 for qemu-devel@nongnu.org; Tue, 24 Mar 2026 22:43:05 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0: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 1w5ED0-0002hO-Lx for qemu-devel@nongnu.org; Tue, 24 Mar 2026 22:43:04 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-8297e0b27e5so2424433b3a.1 for ; Tue, 24 Mar 2026 19:43:01 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82b04222f42sm16762716b3a.61.2026.03.24.19.42.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 19:42:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774406580; x=1775011380; 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=A2E8rKgHUzP/UX9nRl+/RGcVIASB81IsTlG/cP9cy+I=; b=L5iZIPw+8DLUhYqYALChUIwxuF811PdYUXqKuDy7NYQs9aWAZHVkMGmjT2SBTRTu6V IfSG+ne+Pg8aRjNXShatDsOUbolxBaJ/U/TsoMflGdlt74D35EGtBz7HudOP9s59U08q 1Ok5Btlf2MAc/nsmU4bl1yRHwRbQedXtBq+jeHyIPKUrNdTY7n7qQVFDCVyZPDTe0iVm WgSD56igtP6YWrvU0MCHC2PFBy+EvHfJzuBASRUlocwJN9qF2cC9MXRAK+mKzkDSoVFW hBUqafz60kuvgdD8AwFbgEoHL2UaMroEUj+b6Ha5eMyXD0jClJFxbLQqG+Q1xB2lmwbr Bu2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774406580; x=1775011380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=A2E8rKgHUzP/UX9nRl+/RGcVIASB81IsTlG/cP9cy+I=; b=Y0NSwMHWw2OzKP5BNCWkeOwPO2RB12Okx6JmcLClVRp46K91/K4/ffith/YVIsvPcU n1NzDcpcZydH9bURUhhJ4xarZzFLyW9T75ctsruiIEuMVk0RuqkG/yI++EoKAppIZYnc ltjzAYfswFo9OHHSHpGqVFvkRjgpyTYRtfA+LaZuITwAAKTHqkSE0wXoZNbvEO5eFWuN OdOtBZ/WTUeoBed7rqvxyZDC8U4+9VcmH8hl9P5vup6MziF3dom22rJl4TEIfsC/nw+U XwT/8j7DrEd6sTgy04OotYkIw/hlAgXkTvRWFKjSTwFckZAMAuz6mFZRdqjUbxCr6TVs wnIQ== X-Gm-Message-State: AOJu0YzHksVpfD+m32+NnBE72P7Pg+GjvYCNrAm6q/bhQA9ORV8A+XEi YIE3/vmgyg2gesaZac/2GP/rjyqi5zmE9/hxljNSGJg2IEIDPaY8scUa4CbSdrvLXIB/nAxMA2V y6I5HZH8= X-Gm-Gg: ATEYQzyfqiWxujybIkvQLbqpTpAOj5GAok0H/JkRD5+x4HR1u0cdUsLvQsGi5xt2h2d lAWB30Vfe6iBOH1F5b0BSL44IIy13Mxd1IBdptnt5Ee8T4WytBEwLsPHIWhjuYVydCWodlL9zPx kELqwfoBSmIfcthHB8NeHLzY4fTBIFhdrjlR32CN9dUQ/7vPffUy5BeyAwsw8uRTiLcG939j6ln mu2fspBxfZEh1Xyu/Iacdr+TzVY3Jqv91KdMtyGlMi4dczr7XnQlA01t3hqH2t3we/BEI2rRAPy 3PR9+9P56ZkxLxjE4RWYNKXwr+lcS4au00oilw341JqkW+l3LHQc0+eCAcGNFxjRijq1pjy7eEW Zv4MYKHnvFYnhptuBD+EEbSV/ezWucvjikQmn3I/yQ9oq2bNwHWw9HkQvwMpYnBhlNIS3ickZ6T WooD3eD8ZMi6KGmlsOSyKP6YMLr+qqBJaKkG2AhCfPW0iYKSfbH//6IzfOgyDYtiNZXrWmkhj6y Qi2 X-Received: by 2002:a05:6a00:b486:b0:81f:4a36:1c7c with SMTP id d2e1a72fcca58-82c6df281e9mr1709709b3a.23.1774406580262; Tue, 24 Mar 2026 19:43:00 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , Mahmoud Mandour , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Pierrick Bouvier , Alexandre Iooss Subject: [PATCH 2/3] include/plugins/qemu-plugin.h: add note about endianness of value returned by qemu_plugin_mem_get_value Date: Tue, 24 Mar 2026 19:42:51 -0700 Message-ID: <20260325024252.3369186-3-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325024252.3369186-1-pierrick.bouvier@linaro.org> References: <20260325024252.3369186-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42c; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774406639422154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pierrick Bouvier --- include/plugins/qemu-plugin.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/plugins/qemu-plugin.h b/include/plugins/qemu-plugin.h index 2ce7a7fb6c3..4eb1d2cd85c 100644 --- a/include/plugins/qemu-plugin.h +++ b/include/plugins/qemu-plugin.h @@ -374,7 +374,8 @@ enum qemu_plugin_mem_value_type { * * @type: the memory access size * @data: the value accessed during the memory operation (value after - * read/write) + * read/write). It's directly stored following host endianness, so = no + * further swap is needed. */ typedef struct { enum qemu_plugin_mem_value_type type; @@ -682,7 +683,7 @@ bool qemu_plugin_mem_is_store(qemu_plugin_meminfo_t inf= o); * qemu_plugin_mem_get_value() - return last value loaded/stored * @info: opaque memory transaction handle * - * Returns: memory value + * Returns: memory value in host-endian order (no further swap is necessar= y). */ QEMU_PLUGIN_API qemu_plugin_mem_value qemu_plugin_mem_get_value(qemu_plugin_meminfo_t info= ); --=20 2.47.3 From nobody Fri Apr 3 03:04:47 2026 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=1774406636; cv=none; d=zohomail.com; s=zohoarc; b=PUF5GvdBB2rVLq0Xsg8yjhRjHARpCCiimJtWqJQCNnNu09v248UBT0e3cfeE69nYAvPdadlQQAymYyLZ7Ng1Hz5S7YpA+QxVPXd4HJGu9zjQjqU0TEARjkMxW1nfXFLP6x9Ef7KXR/U1guTPJKPpQxFradNZrMejr6blNHkWPQM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774406636; h=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=HXFYKSBtZ3rl5sjFkHrU2KpK/1VnbUweUNCoeUTZG00=; b=bLkLciQIQPtjgUmSHlBK5P6K7iR79YQb8ziRqQ8+3CBkMzQH3XRnHNphkb43DT3fPP5a+0GXlqJwDdNWbPPHY6CxFVeRZEH+bKomguddJ3J/+9FinQokq/jxG3u+/i+W7iBOtHARZpT2R4G2o+Aj1Wb6eJ/lADt5mY5Qdkr4TiY= 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 1774406636391474.85377364568444; Tue, 24 Mar 2026 19:43:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w5ED3-0003Dg-SJ; Tue, 24 Mar 2026 22:43: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 1w5ED2-0003D1-3v for qemu-devel@nongnu.org; Tue, 24 Mar 2026 22:43:04 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0: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 1w5ED0-0002hU-Lk for qemu-devel@nongnu.org; Tue, 24 Mar 2026 22:43:03 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-82c28f0a4ecso3047800b3a.3 for ; Tue, 24 Mar 2026 19:43:02 -0700 (PDT) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82b04222f42sm16762716b3a.61.2026.03.24.19.43.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 19:43:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774406581; x=1775011381; 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=HXFYKSBtZ3rl5sjFkHrU2KpK/1VnbUweUNCoeUTZG00=; b=u9h8pdBcw1sQ/nUHEB5m4sZH6M3+DRdFjXOuwtEDgk1UXuavjlre8Ya3gBUh/fWzj6 tVslWmXtMVlINpnY15rLtH4qDRHUM05DDe43gkTs9LFj1/4bAN/kkqGE5jFAJWJX0fEj BBOggac9poWeCZuSv1Uuc049MCoYCrg79nJvNjAxKp3i1D9dZ5ISaHwd3BcJfFWh8vOH D/4Aoc1tt6eur3+xIVCUp2Td+I821MyKnZOT6k25jS67jMYhrpVvTpDR77kTXkdreC8S MZvGPZMofZSYq5dRsf2iKbFKxU9sFkL1qOd54F4CbtwX4KYxNtzBzEClAxjbFH52bJrc L3fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774406581; x=1775011381; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HXFYKSBtZ3rl5sjFkHrU2KpK/1VnbUweUNCoeUTZG00=; b=Pu5rgbfZgTdfuMsZ5FqHmZAZWwfLi6R2+ylr+4Kbdl79pQJ7b7cL7ju0ehbKKylK7x bQjE2CKfHzfdlKSpXb/sLkFIH4apEo70SbV8VihjfTIQB26diExjFA9DwYVCB+M8DJOO n2q6jc4rg3HhoIu/H7iFLyOWow6uBxkJJeihvtLmCCua6YdmWHIE46t+ngX51WVC9I6a iw0lhUsDDfVFuX/TbG288idKn0iepvx0GdCzibVdHBsXPYMUxFcxyvarPRd8GFqXND2q /ZZc2sr1Q5uXRikLCVttiiF6YNrROl1T//znCWH916veP731U5720y/2L2qRvAbKYGfD b5iw== X-Gm-Message-State: AOJu0Yxzo8B+PxkQbu/mcsXkEouzgclN+DSZzCiqR1kl29G0WlgxnJIx AGxV3cS0ffRygLyMH5bMB69Z/4EI7bAbBfzynfJuLSLVdvNVbgcG+5fh28zOTv47sPq2mI6M5+Y Fbjg7QdM= X-Gm-Gg: ATEYQzwHdZJpKFd88dG0oV9o2Ak3EOYLNZbQKE0754mpMROgpLl127Wd9/qTQljvfxo /zfY5UyozIw+ngbNDw8GimDcPtknKe3KDiz75LKuzP3G3w3bphwpTNMOd51xSTF1gavTM+E1VbI nSWcu/a/yskOCyhfCL+Ap99QLStgtY0jOdYBCGXymCw3uzCTzxvS+UpjhaLHgZXEc3pDN6FB2Hq IbmlEdeWvvYhfqyQ/tjww/NwAR8eVHP1N4ot+UJYKpCcyfnuvK3w2+5ct2F8deA5fQkqOcDJDP+ 3muI83KlFgFGEXIUpZ+vg0DFe+2zD0s8VZT35wzfCahWMHny/sM8Rgh6heVAREYFzGN6S0eb59/ 5fVifXCBPA7Z8F7onGRrpHAhsxNXKeOPzrsE/Kdcw356+BsZAHTX1o9oLtE7CC6tMZTBmmRsyPl F0cbb7lTzeO+7Rspmt6Vk38NvdwHwN7StlrRhqSGeuwH1Q2zacEn11UG0BehF+tVH45tscv60ZL 38X X-Received: by 2002:a05:6a00:f89:b0:82c:6c90:c77f with SMTP id d2e1a72fcca58-82c6e1353a3mr1742795b3a.50.1774406580978; Tue, 24 Mar 2026 19:43:00 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Richard Henderson , Mahmoud Mandour , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Pierrick Bouvier , Alexandre Iooss Subject: [PATCH 3/3] tests/tcg/plugins/mem.c: fix endian swap in update_region_info Date: Tue, 24 Mar 2026 19:42:52 -0700 Message-ID: <20260325024252.3369186-4-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325024252.3369186-1-pierrick.bouvier@linaro.org> References: <20260325024252.3369186-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774406637855154100 Content-Type: text/plain; charset="utf-8" value returned by qemu_plugin_mem_get_value() is always in host-endian order, so we need to convert TO target endianness and not FROM it. Signed-off-by: Pierrick Bouvier Reviewed-by: Alex Benn=C3=A9e --- tests/tcg/plugins/mem.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/tcg/plugins/mem.c b/tests/tcg/plugins/mem.c index 1ee257f855b..6b0732dc0fd 100644 --- a/tests/tcg/plugins/mem.c +++ b/tests/tcg/plugins/mem.c @@ -154,20 +154,20 @@ static void update_region_info(uint64_t region, uint6= 4_t offset, val_size =3D 1; break; case QEMU_PLUGIN_MEM_VALUE_U16: - swapped_value.data.u16 =3D be ? GUINT16_FROM_BE(value.data.u16) : - GUINT16_FROM_LE(value.data.u16); + swapped_value.data.u16 =3D be ? GUINT16_TO_BE(value.data.u16) : + GUINT16_TO_LE(value.data.u16); val_ptr =3D &swapped_value.data.u16; val_size =3D 2; break; case QEMU_PLUGIN_MEM_VALUE_U32: - swapped_value.data.u32 =3D be ? GUINT32_FROM_BE(value.data.u32) : - GUINT32_FROM_LE(value.data.u32); + swapped_value.data.u32 =3D be ? GUINT32_TO_BE(value.data.u32) : + GUINT32_TO_LE(value.data.u32); val_ptr =3D &swapped_value.data.u32; val_size =3D 4; break; case QEMU_PLUGIN_MEM_VALUE_U64: - swapped_value.data.u64 =3D be ? GUINT64_FROM_BE(value.data.u64) : - GUINT64_FROM_LE(value.data.u64); + swapped_value.data.u64 =3D be ? GUINT64_TO_BE(value.data.u64) : + GUINT64_TO_LE(value.data.u64); val_ptr =3D &swapped_value.data.u64; val_size =3D 8; break; --=20 2.47.3