From nobody Thu Apr 2 23:59:16 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=1774475558; cv=none; d=zohomail.com; s=zohoarc; b=N66+yoh5C7G1pk9L48JkVFlOSS5BlTMmxrzbgL8vUog6fj7Rnb4Es50bEUf5+N/B2V2uwr1pdkJXXLeGPhrR0oTlF01LI1nZr5mBe/gJc9A6dZjjWkSp4cVB0dQAYDHsUuKbrstJ/sULEHuGBD09MoTfaPsxGlnhSZyRBwTZ+LI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774475558; 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=fbUGtCfoCGCVolSue1QmNHvxDOUS5kWpaU84SjRz1q8=; b=WIH4wHNMAIgqgJSwlRBBv8GaUq3Jgp5rk0fBoBCpzLkG4oad6qUgRlqgS3p9kDKpeW/CBtakv/CmGw1GJ9gBa46erx858oHhH5hO7mo3P6cmKicCkakfRTF1WmzXE24qvGeadh2q4eZAGoi5Tno6t7p5Sul2qgRre4HkT9PfoXU= 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 1774475558374913.4064866432898; Wed, 25 Mar 2026 14:52:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w5W9S-0000wV-4Y; Wed, 25 Mar 2026 17:52:34 -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 1w5W9Q-0000vW-Py for qemu-devel@nongnu.org; Wed, 25 Mar 2026 17:52:32 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w5W9P-000341-1j for qemu-devel@nongnu.org; Wed, 25 Mar 2026 17:52:32 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-35a02f3b8feso136800a91.3 for ; Wed, 25 Mar 2026 14:52:30 -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 98e67ed59e1d1-35c0313eedasm6402987a91.5.2026.03.25.14.52.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2026 14:52:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774475549; x=1775080349; 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=fbUGtCfoCGCVolSue1QmNHvxDOUS5kWpaU84SjRz1q8=; b=U6aIz36UABLnsY3/rozXdIdcSFOU5ApkFspDNfqml9ZbFcptvqstLZAvOaRlFUAonW kZo3tm3vvpzmFUoXeZoXdm/fq5m79ekJw5uLLGQNhbFAeV7oK8v+uv3OD3ZxqwBbHD4A VkALTg9XoaNPUCfFyYH1na/i0++XHdl50LoEvUpfW9guMg0JNxSeYir0fjolzWDHkQ+z Ja50uCSLNg+bF96CmMpbMEUYrxXGYlNOBxzHPCjnwpjcVg2GlQHJfnFpLUWpivIBRviL qWk/fZo4avx8AjnJmsesyvQzCuinDwBRz6wBMnYRK6elm0w6jda0EVXULxTYDIqFLW8O l/VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774475549; x=1775080349; 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=fbUGtCfoCGCVolSue1QmNHvxDOUS5kWpaU84SjRz1q8=; b=EwNrmwSuJdWOaasJfRUqxT9M/NLR76YK4Tu/dY2n+5PIGxwRReNTem+gJC4PE7zeys peY1iuzwdD5+wdG1sADKhBbOtvc06WfxAy/skJ1uO1xOZ9+SU2pnmZZKEx05e8TUxSz5 uOmB01NS4TPhQKTFFyj3nXs+zO/japPBebjPvukhOdlTtub5gDPeh4bawHH07uhRjuS5 LOXsHi0F4r85QK7T7S2Ko0O2qB9BGuY9Zo8L/oR37GHs4m+iLCBD1H/gqSKZNgpRRfaC 7tadEtLFu39FgsMQZLIhgGmv+zUjLGG6Xpe8W4wb+kVzhyQbCD30KQ3dfwXlZfLvwnls MS0w== X-Gm-Message-State: AOJu0Yz39Jhd4epNFvNnFWLUyRyKPaRanGiZdNSwbfh1rdzZC/tSiBJR ztas5sp2X290xKOZZO+ASm3nieUiUSZ9MP3HM35bJXMxds8aCAIEFb2x/YbP5t76evedo/0ri9Z 3dC+Vkw4= X-Gm-Gg: ATEYQzwCrAo4kxL7E3WX6Mm1QhF5RUB2e5p73mNouRyGb0OlAI6yFqaR1IJQPWQ+vE+ lA/P98WYGzEes1Rze35IYQwOZC1I7zV844VR4VNQHT91mJKQ1494/Itf/q12Ovc1UzuE3qxw4L8 x9MjGz19TlM2ocdGItTqzt9c03cOfZyXRnJ8XI0PtAoXjfQ4QT8jG2kxtsD8rPE9HXzwe6eg4Ot QMVYSsKlhVR9+LITrNyvZm3NqRYTuOJwIkyAm3XNBtnR2NfKJXbaZza9b7Y/WWnOTdQ3gzFDu2+ gY5lzDjJ0R+An+YL6XOfptpUEROMgpTKrPUJsvV0uh7dC6a0dEZ3ZCEOWLVoFThiCzZweb8dFL8 k4Re4TdBqGdV20ZPetpibMF9HExaPAvrNsv5cN8XhlN11+EWNRgRgwbgr/f8sucrmxZKfbVuluO 8MatGTq7kSYdlRWMJIRjqO7Am15c7SqQ3QhZ7GLZCpPpR3GX0tkBBo0gyx1ebG4iqazXcp7AItO YQ4 X-Received: by 2002:a17:90a:d408:b0:35b:a8cf:7969 with SMTP id 98e67ed59e1d1-35c0dd0d076mr4250175a91.11.1774475549442; Wed, 25 Mar 2026 14:52:29 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 1/3] tcg: Pass host-endian values to plugin_gen_mem_callbacks_* Date: Wed, 25 Mar 2026 14:52:20 -0700 Message-ID: <20260325215222.3678982-2-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325215222.3678982-1-pierrick.bouvier@linaro.org> References: <20260325215222.3678982-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::102a; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pj1-x102a.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: 1774475559163158500 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 Link: https://lore.kernel.org/qemu-devel/20260325024252.3369186-2-pierrick.= bouvier@linaro.org 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 Thu Apr 2 23:59:16 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=1774475590; cv=none; d=zohomail.com; s=zohoarc; b=NA6nGthDSqAY+I4javgrC85aW4F4GdQ1SvWk+wZFioo2PPCFARW2FuTKP3nX2wRi19JqgmSwVG7ng/lXAhYcTHSnIZ/xffTouUWLPw4O3tbvmD2aPJrXOxItCtQFI6PhWBCsgTg6BZcXfsVlO7xUioQcBkxUDkLke/x+TNE0etU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774475590; 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=OhuC67npbeF55oq6DIBT6Wta/p6WeDjzvn37ZsiDmLE=; b=l7iL0Fa3swvW6idSvKjGuqoUPwgM/U8F5zw8E1qYX2qVd4NlExAAgeBflRtDox9fmoJYIKN6D9wzEV8ak0ujosireK0tqZiVc65Hu2kTpD5buAnrhXvcS3H7uJIkx6RVVa31A6v6XOhacAoJe7nw7Hk0PJvF47LIIXET79muJHc= 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 1774475590764382.3446665313634; Wed, 25 Mar 2026 14:53:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w5W9T-0000xK-I2; Wed, 25 Mar 2026 17:52:35 -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 1w5W9S-0000wn-B3 for qemu-devel@nongnu.org; Wed, 25 Mar 2026 17:52:34 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w5W9P-00034Q-Qm for qemu-devel@nongnu.org; Wed, 25 Mar 2026 17:52:34 -0400 Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-35a094cc3e9so203458a91.3 for ; Wed, 25 Mar 2026 14:52:31 -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 98e67ed59e1d1-35c0313eedasm6402987a91.5.2026.03.25.14.52.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2026 14:52:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774475550; x=1775080350; 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=OhuC67npbeF55oq6DIBT6Wta/p6WeDjzvn37ZsiDmLE=; b=c+Lzsx4LOvGD7axTIKjOZuXGvW1MTesG+inScQVVpyoQxZtNBnCR3XjD+ijy24Pnyk r9yIGciBkWF30MdgbEzY0rX4WEnn+G/IHjANprXZnCkDMpro+4Vhff1KybSzgBUYzy5i GoyKrBhtImHypwTVYoFhYFXyk06cNam+K2198w450VGKMhWpAnVpNZfPOb9onYdVuh9V eLXqvQV6JyCnKzZ+AY09eGXIN8TM+JGSViYzxuMgtfCFgX57fc1EB3jzx7Z1MqTyTuY8 Z6cXIqhK6f0ydTtOM0QEFVY+hrpRHJ4n0H4fXiHg0yImNQi9YT/dllfiYgkFwhWTcfSV Q24w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774475550; x=1775080350; 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=OhuC67npbeF55oq6DIBT6Wta/p6WeDjzvn37ZsiDmLE=; b=aJk6029lJwbG+6eBnfrrXhLsKUFBr9jAcYr1rlYd6fqleoHYoEC32lEr0DoB8fqAa/ qtE+kbQMHlFmdjgSiBio4YWkxnX993NWn5FrEophhfKW4xXSIlZ1eh5s57R6KplnbfVr 5F0zCEbMoyb5fQNUixO+YiqToVVmkCcBQCcu1fXfk7V4FSjDL6Qat4PPrb5BwYUOjJRj IqfWsn3OGShiRP3R9LpGNYHRDggTwwtOFKdxHEpGO2ehqeTD7PoqLXS7NV9a6t0ucM1g Z20Dc/+YQ6YRIC7zC18VI1/GsBa2R4DibBILfPbbChQv4dJ3U16q4I5sgzH/rxlxXPIv 6HKQ== X-Gm-Message-State: AOJu0YzO2cbodZQcXhUPRD+MUGvziM6Y9AmTcD5ZSW61AWSisiE9vZ9K S0/VnDv/B1HMdhyaXAr0fwnlAd4xjz53veUDZQa3p+iF0REu6bRBW3CdPLJljxLSdlb6iDeiz1R 6A7Xvh4s= X-Gm-Gg: ATEYQzz6Bqwm4/h1Ea6UKvvuktwNRwZxkB0VuW+KJOQSB+AkpDMq6KrbyOyat7LWjA7 BtxifscWv7TYDSYswUCbbpqZbjOHCEggz5QCp0pAURvCnxOjT/OuP88xRDVk3DCntidu7EPr+a9 1KeVoM3AMwxo52bINplFw4N2DlWE2dlBaP98twVDzwTkqfp19/vS3CVijx5DR7Cm1zklSYTbiNK N9tk74PFPhXAUNjT8pFXvmJVtb+2FKPR3Gj++ROaBcJJ4BRNBSIh1DYc1K45ophS7dYfZxMC93U 4CMYrEw2l1crv9shjgZhLoNLvDQQEsUmBxrHjq33Mem54VjrPCIwH5LhMP6DTkh2zmqtT/XgOIL g7VFvLXu18RmWSh/mNEkVvDrAZBeDBNn6wPKUxYIVWP0tANHlXVyQSdGjLAH8p3B3GoHYLbRq9d lKc3Jh5npIj3MtmOhiYnUAavWuVMPxBLIDn5Bu/aJr0k2XCMz/XZizuNh8lN1oUvYghsLWDgPZn kQR X-Received: by 2002:a17:90b:2747:b0:35b:e5cf:20fc with SMTP id 98e67ed59e1d1-35c0dd98967mr4890427a91.26.1774475550158; Wed, 25 Mar 2026 14:52:30 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 2/3] include/plugins/qemu-plugin.h: add note about endianness of value returned by qemu_plugin_mem_get_value Date: Wed, 25 Mar 2026 14:52:21 -0700 Message-ID: <20260325215222.3678982-3-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325215222.3678982-1-pierrick.bouvier@linaro.org> References: <20260325215222.3678982-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::102e; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pj1-x102e.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: 1774475591103158500 Content-Type: text/plain; charset="utf-8" Reviewed-by: Pierrick Bouvier Link: https://lore.kernel.org/qemu-devel/20260325024252.3369186-3-pierrick.= bouvier@linaro.org 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 Thu Apr 2 23:59:16 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=1774475590; cv=none; d=zohomail.com; s=zohoarc; b=Hp7lRCjRYRaDsKqjSBX3qofo/dFH5xznwPlleXGV8XbbdLi0etzqAcbafR0Pc6lyYXXttu/0fZJ76IRFwVuUNsA+e2cfRJ1wnbZhbDZ5+afjS19/l6HwF+HcutZfFWku9k0kwhbBHogVRm38gdaCKFx4Yr209aGU7XChJ1kd1Yw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774475590; 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=v/6uNAZDRg3OvgbspkHXUcua3vTL1U01rrAn4eKcg5k=; b=YA2gNDIAsF+NWsMrC5b4plnOLlwS8EoXcblhCQUWJkyF6Z29IcRQbEDjyve8HXpw0oGto8Gd8PDrogeV65mdgF1W2AQamSrCBQAx5mN6p0oUdg6AP5+0gATMgwd72+WONE5jBQ2z26dytxzaorPiEJnP+n605Awi6JebHDWImUg= 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 1774475590545974.1339341496606; Wed, 25 Mar 2026 14:53:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w5W9T-0000x9-CH; Wed, 25 Mar 2026 17:52:35 -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 1w5W9S-0000wZ-5w for qemu-devel@nongnu.org; Wed, 25 Mar 2026 17:52:34 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w5W9Q-00034d-Bm for qemu-devel@nongnu.org; Wed, 25 Mar 2026 17:52:33 -0400 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-35c1a131946so312137a91.0 for ; Wed, 25 Mar 2026 14:52:31 -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 98e67ed59e1d1-35c0313eedasm6402987a91.5.2026.03.25.14.52.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2026 14:52:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774475551; x=1775080351; 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=v/6uNAZDRg3OvgbspkHXUcua3vTL1U01rrAn4eKcg5k=; b=XGsy1ELehUUekP58BGH4rbE5x4Cw5XfqdVfwbZQdDVyl5+y2nheuCNwUlbGBVf4p2a 226L7p6KHj3tGl3rGY+VfHx3NyzGG9iKo7G+UhD3/HXEb2YoHibYHqWkEHeC+Tqs7M58 zJ/0zvaumTZYgGc7lcbjsprR5N61jddKL8R9Kd2m2saaFke8vPgz5k0jC5QB3anV4f0G JPbnWld0f6WOmPUr3206/4JwT5BM+v3Mia1VJYu9TJ4rGRF88Shy9PxhFpph7+aHeiVH NA8wPGLvRD49an7MlOePC4K5Z3kUDJyKkSnqUhy8NFx4OzKvEiygZYBUNVl9RN+nFM3w 9H9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774475551; x=1775080351; 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=v/6uNAZDRg3OvgbspkHXUcua3vTL1U01rrAn4eKcg5k=; b=tXIrv9E6nAJtrfYY5iq25LwDkG89W3sDyQCr8/5KBb/igm42T2pqXGgM4ikvl6k3WB v+BMyW4U+u4XHASDUkFLNiqlWP3KoE5S+dihoYhx1qztauMkNz+2U13HVPuCXywGFfuC v5mVAOy4F4l+phNrGr6x56wO0l7Hjubwq+ELzCVuLFokkbhaGvB/hXVSQ9u2JmxMnSKX Fk6j1VD9KsSJNwBzGZWBTUAD2k6TiOyaSnTFV1E5urrFgwH4ZwPZ3D8oK6u40ytsttbW 3C6FJ9ziJTCh8z7B+rv33ZA4Dn6io0T97EJ41IKO+CqGz9ySKzHB02hRCa3lAPiLnuR3 B5rA== X-Gm-Message-State: AOJu0YwshKBgqANd+pk0WnyoITqXO4O/o3Asq3FeY3LnqXJpKkClLAFR HWG5u+iM2UakpmyCtkDDcJ/scvC5850nYJOOuCwGYuylaPJzTFgiostO5yXP3ARra7kiazcF8gq CP3ugQ28= X-Gm-Gg: ATEYQzwC1NAx6YmV8iiJ66eDO8LvB6UJXcRXPiIEoT86iOPgU7VxWEL/voKlRQAnTiI SBXnO5Al2KutQQqiH+HLr/hLkhRqBdnwcfk8BgC9op5vNKzWdN6Hs06I4jdE5JedD1WqX9MqNAx 943waFTWuO9iY+Bufq4RUQhcFyoePe/XkVbZQU5eqxZShg6JMCeBmKS0i8KQD/mfoYD7PBWGD4l Z8mUJW+pNP16DBbubdE677GBiDbvSot1GvHde4tZuq6LF81GjtOHJa64JtI+lwHt6ySxPuTkD48 uhLtRKYR2DNI8IGLi5ewrdVaNOCOsEYtmjWs9gA/i3yUlQICg/fhpAGxAMEWWj8UlWqtuci2cZ6 tIzfgI3m3fReV5eYr0bRF//JZJRwA1KMWmg2EsCC3hdjJYthmZbe3BAU0gkT/p1DMEP7Lpxr9aL HNXoTN2zfyeRauNNUmgeMWL7aTxGB+tjwAE+Pn7XSWHvH4uSZrIHNJwoVPBBDXbn2hmjDNBJbNi ixR X-Received: by 2002:a17:90b:3d8d:b0:35b:e4d4:8290 with SMTP id 98e67ed59e1d1-35c008d3242mr7937420a91.9.1774475550941; Wed, 25 Mar 2026 14:52:30 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org, peter.maydell@linaro.org, richard.henderson@linaro.org, pbonzini@redhat.com, stefanha@redhat.com Cc: pierrick.bouvier@linaro.org Subject: [PULL 3/3] tests/tcg/plugins/mem.c: fix endian swap in update_region_info Date: Wed, 25 Mar 2026 14:52:22 -0700 Message-ID: <20260325215222.3678982-4-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325215222.3678982-1-pierrick.bouvier@linaro.org> References: <20260325215222.3678982-1-pierrick.bouvier@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=2607:f8b0:4864:20::1033; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pj1-x1033.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: 1774475591135158500 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. Reviewed-by: Alex Benn=C3=A9e Link: https://lore.kernel.org/qemu-devel/20260325024252.3369186-4-pierrick.= bouvier@linaro.org Signed-off-by: Pierrick Bouvier --- 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