From nobody Tue Feb 10 10:20:11 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=1769708383; cv=none; d=zohomail.com; s=zohoarc; b=jEuZQxQofr9mDMeVAxZqObL/XeiDZQf9wO0nBKxNNjCxqsXDdqq6pt/ol7/Zx+rymCZafrMtRT8Hajuiw/LzN1EMaoWr61UAvRh2MqWbxCzdLTf2JK5fF1mvJRpBJTUduRCjALkf94gd8YJSeZvRdaAQcxARDJeGUXzv67rMBk8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769708383; 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=InBZElLJ2/mcvIPaOt6RbJMQf2ySklUloiFPz1R6SEY=; b=COYUnSpHd0HxSjNAZQZLv+nNS9Chkoy790PX4s5Y2JUeLt7CbLt5VbfhSQ10GHbkDvBz2dZJBIhnhLgGUAiAcAbdV32ykjpDdO0PTdGF4nHHqSwc6OE8dHfDvf1MDqTPhqCtNeQqfxSH5ei7v831In9/t65MFZmClXaUbQlSxEg= 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 1769708383695416.1974378326388; Thu, 29 Jan 2026 09:39:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vlVyV-0004tQ-GA; Thu, 29 Jan 2026 12:38:35 -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 1vlVyS-0004ob-49 for qemu-devel@nongnu.org; Thu, 29 Jan 2026 12:38:32 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0: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 1vlVyQ-0000ft-6p for qemu-devel@nongnu.org; Thu, 29 Jan 2026 12:38:31 -0500 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-81f47610542so751511b3a.0 for ; Thu, 29 Jan 2026 09:38:29 -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 d2e1a72fcca58-82379b222f1sm6706246b3a.7.2026.01.29.09.38.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jan 2026 09:38:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769708309; x=1770313109; 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=InBZElLJ2/mcvIPaOt6RbJMQf2ySklUloiFPz1R6SEY=; b=XdYNlvkYsZldrstq6d2cP23uGgNHAKtkoGRchfV4aPci1lUSmFmG1cQwba5XEK78qq cLe//U98eNziGUdW1DYhK9UdN+4WckzyHvSd4xB55Dm9dMRu2xymtmBNjgwi31GQ4wuz mAb8c8rwgWaTMXBLpe1n4CSpQzHZ9xhuVtInK+caU41lzlUwGjWpSvxCyBITubuAly9G Fp5bQN9jfrvGP8/d07vuy1pgcHu74gDy3q2I5mDfmmS08qxErL5tmZkoZT7sSQZ78BK1 /cnbZvoHQZNNS3P+h4GT3JM5evSQFM0/IgTOhipgKHYAubPOtzZ734+bdZhWK12jDk8m hUjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769708309; x=1770313109; 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=InBZElLJ2/mcvIPaOt6RbJMQf2ySklUloiFPz1R6SEY=; b=XOoTv0rpXo60doYe7lkQO/keWWG/4txoKE0Jr17z8K+rNaV8e+jJVIjyZhSaPJJIqp pNWyfDSqi2dPJSsjlpaSjak3fp1UuexIoWanUp4JggBCZCCL8dcpjbxZmph7CXrRY4Oh PBWvdTzslhxbOfZ8gH4t5qQQ325rOc26LiOxGbMBOHUKjJdBqkmQoFtfyl1gclfWdk07 XWYBuWuz6WR+YUXHhPs9YRUJA86HJ6bmfmIbz7SE+Si+ja6JTbuxn/6ojmDC6+Uguu1g QXrvA5Ad1Ou67sjLpyz6cYWjKh4BtP8Ca7HVzfQq9nmT4ip08+DLufb6aNQBH6UOmFwh XS5A== X-Gm-Message-State: AOJu0YyAIs2w1Xkw/zBqAjCYTYZA5LcwYeAVtiH/ZL0PfzVpAUs0iEy2 HDIePi0kh6SaDKFGhqX2j4ogQnciez6Ab1FvHXeoQnZj4U5jPcSa2qwruC4mMUoh6aFVybiMeGT /hLb0 X-Gm-Gg: AZuq6aLU3ZenN9m5b9cPj/YXQpr+61ca59Rp/FRs6A0BvtPRn3iCVU65gbH380haGQr Xwj1uFDnsIwfsLv2uygjKsaDGwfOH3XeMtx4Fdft/F7YK0IBIX8d/ik3hiuwIxALvqWgaDT5Rxl XKXByWZtDY+q9CSh0nABqXpW2aDV6orVBoRJhazLzGUTGktb7fJS0ngqLP2eDXeywN75/eIEbCz gUiC1L5RtAyC02PsJioMAXwp6dpUW8+fk6evYwfgdcSlr+HNjwn7skL7Hh8mcWuz6QD3/iJqemw /eSxH5l4fons2U6wPmUgMzK7sCHiNVKgjY2nBVoSeuVpQwADviIeMYcfmNK8l+XjTKwFqh0bDyE C87rzKSZ75ZtUb6UHLADX5iytxqOkY2KADiiSoq3EA76e4GWKtBArGHM6KVv9v9PgRznMRoH7z3 IvKvtWkiyIlDRw13jXpDYih+XNyHS55T9U6NJcdWrmr4mcukaYsNzGG7/fDC6W6RUb X-Received: by 2002:a05:6a00:114f:b0:823:172f:f0c with SMTP id d2e1a72fcca58-823692922c4mr9112043b3a.45.1769708308556; Thu, 29 Jan 2026 09:38:28 -0800 (PST) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Manos Pitsidianakis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 14/21] tests/tcg/plugins/mem.c: remove dependency on qemu headers Date: Thu, 29 Jan 2026 09:38:00 -0800 Message-ID: <20260129173811.138036-15-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260129173811.138036-1-pierrick.bouvier@linaro.org> References: <20260129173811.138036-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::435; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-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: 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: 1769708384094158500 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 Link: https://lore.kernel.org/qemu-devel/20260124182921.531562-6-pierrick.b= ouvier@linaro.org 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