From nobody Tue Feb 10 20:31:10 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=1768849985; cv=none; d=zohomail.com; s=zohoarc; b=lhIv90eGmY1YZ+aOpCbrfZSF1A4fp8vSF+p5xM+r9pvMeYpJysUKZ+vT7YJc5G/MurMWG93F0V8SrmlzziYntfg7wZgpzdToOuXXK5oS6j7zDbj93EjkKpzCMSELQQq+dDb+WG0QO3WqFd0Jg6kNQbjVuIqkPNHq3jol4rWhBig= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768849985; 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=yGgLGlFAGuY8onq4gi0buc3E93WA2jrqRIHzedx5bAc=; b=AD3e4CxRTPkTPD7grGEFMQKBF3mVJgl58oLBMbydz64YGFUBwndEclDVt1XbjUxdG3EmZ9pk7qo122gOvjXAdQ2/xpxJlhKX+PlU+OW09AJ0FopbIp8usZf5l0iE1Wda1ecK/8cYY08ePe2czVWUG5+3dAVLYJDtQeeDEEQjbXo= 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 176884998597788.15749236686202; Mon, 19 Jan 2026 11:13:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhufN-0006q1-Ri; Mon, 19 Jan 2026 14:11:57 -0500 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 1vhufJ-0006n1-OB for qemu-devel@nongnu.org; Mon, 19 Jan 2026 14:11:54 -0500 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhufH-0001U0-LB for qemu-devel@nongnu.org; Mon, 19 Jan 2026 14:11:53 -0500 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2a09d981507so34932025ad.1 for ; Mon, 19 Jan 2026 11:11:51 -0800 (PST) Received: from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net. [216.71.219.44]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a719415f0asm47011795ad.89.2026.01.19.11.11.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jan 2026 11:11:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768849910; x=1769454710; 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=yGgLGlFAGuY8onq4gi0buc3E93WA2jrqRIHzedx5bAc=; b=y1DBe5wPVwa3sJyhqxWw3dBujgbsJuVIAPuwbu55jR7G29n7ZrIbEQ7Z01jM8jAXRF 1mqly2rjMBkZYkqKNQe7Z+7uP5ngCnncMERPcFUNxBOYE7EB7drV1RnFYqzghaUwQJgj +sGExEB5mnLbdk3jPiIHzzbzZSLF386Ju7XuBPBe7XJl83f4Qi/JBPszIN7gl8qUW0T7 Kbl1fjQkcqD1m3VDiFF/hfWibCuuQXBXkW6q5RgRKqyW05kOwBPvojVSi89F+gfyStw2 ZoawKU9Bjmtj2lwoev6jMsoLRb8DD06Y1acxyQaXSE9OLlYz4O08d2qX3HwaNES9nVIe vvRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768849910; x=1769454710; 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=yGgLGlFAGuY8onq4gi0buc3E93WA2jrqRIHzedx5bAc=; b=ngu4XJ9IojGufUSXsfQhtfew3JtE+P/hp9O6/oLmR9pCq6JUsrAgD8qT7iMfOU5KXX RZIk/RMYdW8kx7eKULC8Xe0Mf1b1dWmTU6bvbrcrAwWzOjXV3tx8aK7ZayAY1rSYh+7B du4D1pOfTMsRl09A0ByIfqXYyWoKXKRuDh8Fo/X970IjrgJN/wf6PmDA704/4lExwgLm g3NfPg2paBEyJuJ7ghonCMxkuL9w3BQ+v9WSvSJFhX8BbjgOnkgvrZlPV53vwv89e764 YZj2lmtC1eSU6Iqpxwi7tcRU+rJKgWu3+lN9JoksMxyIAn0x970F7kCYdS1hfyurv9hR shaw== X-Gm-Message-State: AOJu0Yx0W6FxqbjuTDucUH50SuLrDyXz8W4x2p7qukfibjvxVjYN5uLL qP5OVbcwpsj/QYvmPQJUyjMbFGMOhfvH9DEnzBJsEcLicokOGdUPVZRowIIwsNc9PaGV3C28RzQ H4EAn X-Gm-Gg: AZuq6aJSOGR5CBLQloCYbO5KeOeV2R90kDOiVK/I0XhNREAvS7WBVBULgeyX9aNM0ie fsccQ6F8xl2FJoXJ0XnOrFlfaD3LkVjQIjoethAsSs0kqflBXwxLAKFLjFxQGexfdYKUI0/MkxJ +f+wmJ7x2STWjHyk1RhIbKugO3ixSTMfJWJAYH7BeFIZfSYz2mu4rLvv/a9+y3aRFlP4vRUja1q cP+qUA81kykQ8inEbdB+0VVyg2qq6UT5U2dg3Kq5NrK5Wnpdl0UBpEf2vQzXG1AUt9AfRUcZ6fu dofvuN1NqPvAc7ImvNTYY3GmRWFeHzNG5g8jWDjBXePioBSkv1Qn7BnHk1orHpqTbi+bpuXdGQP wRi8VunULvQvIJ6GJ5l5chhFc5C75hZdJQ0RBvOpscX2NALNZrishKxBwOCG7GvQ3P7zLCyqHpk rAFDD+nNGZrgoo9aooLMk7VSmFVFc1WBEcIEMa8GkJbxi8QKwos+ahcx7incULu7YS X-Received: by 2002:a17:902:c407:b0:2a0:99f7:67b4 with SMTP id d9443c01a7336-2a71756c272mr119357085ad.8.1768849909834; Mon, 19 Jan 2026 11:11:49 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Mahmoud Mandour , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Manos Pitsidianakis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Paolo Bonzini , Alexandre Iooss , Kostiantyn Kostiuk , Michael Roth , Gustavo Bueno Romero , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Pierrick Bouvier Subject: [PATCH v3 05/11] tests/tcg/plugins/mem.c: remove dependency on qemu headers Date: Mon, 19 Jan 2026 11:11:31 -0800 Message-ID: <20260119191138.811069-6-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260119191138.811069-1-pierrick.bouvier@linaro.org> References: <20260119191138.811069-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 (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::632; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x632.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: 1768849987050154100 This plugin uses endianness conversion primitives from QEMU headers. As next commit will strongly isolate plugins code from those headers, those primitives can't be used anymore. glib.h provides such primitives: https://docs.gtk.org/glib/conversion-macros.html#byte-order-conversion Reviewed-by: Manos Pitsidianakis Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier --- tests/tcg/plugins/mem.c | 59 ++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/tests/tcg/plugins/mem.c b/tests/tcg/plugins/mem.c index 9649bce99ca..7d64e7018f2 100644 --- a/tests/tcg/plugins/mem.c +++ b/tests/tcg/plugins/mem.c @@ -12,16 +12,7 @@ #include #include =20 -/* - * plugins should not include anything from QEMU aside from the - * API header. However as this is a test plugin to exercise the - * internals of QEMU and we want to avoid needless code duplication we - * do so here. bswap.h is pretty self-contained although it needs a - * few things provided by compiler.h. - */ -#include #include -#include #include =20 QEMU_PLUGIN_EXPORT int qemu_plugin_version =3D QEMU_PLUGIN_VERSION; @@ -152,56 +143,52 @@ static void update_region_info(uint64_t region, uint6= 4_t offset, ri->reads++; } =20 + void *ri_data =3D &ri->data[offset]; switch (value.type) { case QEMU_PLUGIN_MEM_VALUE_U8: + { + uint8_t val =3D value.data.u8; + uint8_t *p =3D ri_data; if (is_store) { - ri->data[offset] =3D value.data.u8; - } else if (ri->data[offset] !=3D value.data.u8) { - unseen_data =3D true; + *p =3D val; + } else { + unseen_data =3D *p !=3D val; } break; + } case QEMU_PLUGIN_MEM_VALUE_U16: { - uint16_t *p =3D (uint16_t *) &ri->data[offset]; + uint16_t val =3D be ? GUINT16_FROM_BE(value.data.u16) : + GUINT16_FROM_LE(value.data.u16); + uint16_t *p =3D ri_data; if (is_store) { - if (be) { - stw_be_p(p, value.data.u16); - } else { - stw_le_p(p, value.data.u16); - } + *p =3D val; } else { - uint16_t val =3D be ? lduw_be_p(p) : lduw_le_p(p); - unseen_data =3D val !=3D value.data.u16; + unseen_data =3D *p !=3D val; } break; } case QEMU_PLUGIN_MEM_VALUE_U32: { - uint32_t *p =3D (uint32_t *) &ri->data[offset]; + uint32_t val =3D be ? GUINT32_FROM_BE(value.data.u32) : + GUINT32_FROM_LE(value.data.u32); + uint32_t *p =3D ri_data; if (is_store) { - if (be) { - stl_be_p(p, value.data.u32); - } else { - stl_le_p(p, value.data.u32); - } + *p =3D val; } else { - uint32_t val =3D be ? ldl_be_p(p) : ldl_le_p(p); - unseen_data =3D val !=3D value.data.u32; + unseen_data =3D *p !=3D val; } break; } case QEMU_PLUGIN_MEM_VALUE_U64: { - uint64_t *p =3D (uint64_t *) &ri->data[offset]; + uint64_t val =3D be ? GUINT64_FROM_BE(value.data.u64) : + GUINT64_FROM_LE(value.data.u64); + uint64_t *p =3D ri_data; if (is_store) { - if (be) { - stq_be_p(p, value.data.u64); - } else { - stq_le_p(p, value.data.u64); - } + *p =3D val; } else { - uint64_t val =3D be ? ldq_be_p(p) : ldq_le_p(p); - unseen_data =3D val !=3D value.data.u64; + unseen_data =3D *p !=3D val; } break; } --=20 2.47.3