From nobody Sat Feb 7 07:41:21 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=1768764956; cv=none; d=zohomail.com; s=zohoarc; b=k2ooORXrzPQ/RVG1yLl6rk/lRprnkXCiZpAKDfqvcSRTQX651Uxjo8okzqPrG6DqfPtO6sSZe1uipdbUv8O1jijmOczAkk7foSeRW5te6Gn+VgSauT54qJSDHv9o76KvTMzYmK02/zWsqbFMBnajG6EgyDB0bi32GFYTs6vb8S8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768764956; 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=6TMJh25P01fbyCqTCyF8lbOVh7yUzhOqUbvGeEO3WWI=; b=QqsmZzqZBVmyLpMz9yLgSpf3scDAhyfBKwbzoRFSQbV1fwZBzVNaNB2ERbBNR5BkTAY2OszlMPpuavAJqM57dNg38EFVIMsZFSaHvBFKAleDPkz5DnOhI15tJ3VkTaVSKOCvUFiiLObLR+Fct7oNki1MIQFr2K3anu+Nz4etzuA= 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 1768764956504160.84499574356926; Sun, 18 Jan 2026 11:35:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYYX-00054s-HH; Sun, 18 Jan 2026 14:35:25 -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 1vhYYV-00050i-Dd for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:23 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYYT-0006df-7Y for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:23 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-47d63594f7eso24417165e9.0 for ; Sun, 18 Jan 2026 11:35:20 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4802dc90068sm76413205e9.7.2026.01.18.11.35.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764919; x=1769369719; 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=6TMJh25P01fbyCqTCyF8lbOVh7yUzhOqUbvGeEO3WWI=; b=fy6G6HLPvJCps6JxPXNyJ00PvPOpBMlRKR7KV/t0yENGnpkXC2IFOrL+DvhfGyuxzf K95KzuNGDRveCyyKPHAg5n0zEcjtW6yUMqiH8oPiIuJrRbieF0jY35+hcidwcMs8osaj fzzXYAseIQaPePeqvyN6osL745b5BImrRf9Mwy0vYoIPF588bXguWCawiza5camTlTQ9 7pWd94Od7bK5Me0edFsbBpVSyF73DcRACManf72vAHoJ/t+4GO5lvYynHIPw8W1h0pFo DXK+uBLVQGcYnFDb/QWFpzMXK/IAyPeATBkemfNG55l7YPvGgiV8Sj92v9dz/wyEO64l aSrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764919; x=1769369719; 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=6TMJh25P01fbyCqTCyF8lbOVh7yUzhOqUbvGeEO3WWI=; b=Ru6dUc9foGiBA8/h9aOXbxx3pELtIoROdyyd8KiEft9B5JGvbB2zJq+wc0zx5IbfnH e5g/eirNIi1yZj67xiFCQPMFXALrOya9PlR8A5RH3jnUeH8r91VQR5L12RzAJVG6uyYq VIAAQcOYV1K2WgFF6m0gpYeNoAfCKbD+BaPoJK1T2DAQrLEksGZOzZ2OKvktrbFf/ai1 YIBh2F/UwjnxW8kLYekkFaUBw+eYv/R91N7OuL21rRskUJORsPwHUxpyQkPsRYOObPwe at2GrItqB3j6NHiD4ue6c++diiHHeaRclClU5dbYOPxfroG0WcAQVctVf2mtB1WNH0T3 Qq4w== X-Gm-Message-State: AOJu0Yy1+iqePAnE/o4Ch3pkQecEuYWGrJozUXNolfNtU/Dtyy3Xbv3s HtcB+BVT7QAF9pMKGylJwlJfipdZbve15cF/J7yU6vDP5+/cJX9dpVQ3ALsGUHhiN/u2rG8JLv1 xsL6UYCw= X-Gm-Gg: AY/fxX72N8H5K4ya9BgBpoHUnGP2alzGqAMGE7/q54SKvhsqy+aeyupsdg1druOIzys Npt8TRZlEWIXk93jRAjGD0NxuGrJjO3NtmgXMoiaAubb1OosB3Tkj49haFofLu0+cDnN9PwKQNU 0K/r/yfuQImAl4IO5cLfNqk8RTM5RhHn+dfSfpjs8xF4B1PJuPBk9Cll6k/6UAqIpLDhR3ppWlf +yBSfnEEHX56OZ/T6BYCSEWQ6Vdrf/ANkMZ5K2jRD616pQPVBCNlxTkWaCMbYJ5wIYWApn0Cx0c cWQRBO5cxL9vJgc2eGKWpYuxKlSxnG418Glw8/BFKF5ln0x8XIHFiJ9rgpUzD1SpyBZvm858LYa ZZMycQpDepS8jlhpJzcncCpQtz+3K+Vzo4I4ffVnYECDsmstpow4lC40LyEaWICus9Rkk/CzB1K w6jkg10YExLOlrh8JOkMPh/slBUvdR72J73JiMawldkAXZOOKOqLCrB2dZqpfv X-Received: by 2002:a05:600c:a399:b0:480:1d0b:2d15 with SMTP id 5b1f17b1804b1-4801e345c96mr90254755e9.27.1768764918293; Sun, 18 Jan 2026 11:35:18 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 01/18] bswap: Include missing 'qemu/bswap.h' header Date: Sun, 18 Jan 2026 20:34:51 +0100 Message-ID: <20260118193509.42923-2-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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: 1768764959446158500 All these files indirectly include the "qemu/bswap.h" header. Make this inclusion explicit to avoid build errors when refactoring unrelated headers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- block/qcow2.h | 1 + audio/audio.c | 1 + block/blklogwrites.c | 1 + block/export/vduse-blk.c | 1 + block/export/vhost-user-blk-server.c | 1 + block/export/virtio-blk-handler.c | 1 + block/parallels-ext.c | 1 + hw/9pfs/9p-local.c | 1 + hw/block/cdrom.c | 1 + hw/block/hd-geometry.c | 1 + hw/net/can/ctucan_core.c | 1 + hw/nvram/xlnx-efuse.c | 1 + hw/scsi/scsi-generic.c | 1 + hw/sd/sd.c | 1 + hw/sd/ssi-sd.c | 1 + net/l2tpv3.c | 1 + qga/commands-linux.c | 1 + scsi/pr-manager-helper.c | 1 + target/arm/tcg/arith_helper.c | 1 + tests/qtest/acpi-utils.c | 1 + tests/qtest/aspeed-hace-utils.c | 1 + tests/qtest/bios-tables-test.c | 1 + tests/qtest/libqos/igb.c | 1 + tests/qtest/libqos/virtio-9p-client.c | 1 + tests/qtest/migration/framework.c | 1 + tests/qtest/npcm7xx_emc-test.c | 1 + tests/qtest/tpm-emu.c | 1 + tests/qtest/ufs-test.c | 1 + tests/qtest/vmgenid-test.c | 1 + tests/unit/test-hbitmap.c | 1 + util/bitmap.c | 1 + 31 files changed, 31 insertions(+) diff --git a/block/qcow2.h b/block/qcow2.h index 96db7c51ec2..192a45d596b 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -26,6 +26,7 @@ #define BLOCK_QCOW2_H =20 #include "crypto/block.h" +#include "qemu/bswap.h" #include "qemu/coroutine.h" #include "qemu/units.h" #include "block/block_int.h" diff --git a/audio/audio.c b/audio/audio.c index 86e674410ab..b7a28f79d4f 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -32,6 +32,7 @@ #include "qapi/qapi-visit-audio.h" #include "qapi/qapi-commands-audio.h" #include "qobject/qdict.h" +#include "qemu/bswap.h" #include "qemu/error-report.h" #include "qemu/log.h" #include "qemu/module.h" diff --git a/block/blklogwrites.c b/block/blklogwrites.c index aa1f8888690..2490e91802c 100644 --- a/block/blklogwrites.c +++ b/block/blklogwrites.c @@ -16,6 +16,7 @@ #include "block/block_int.h" #include "qobject/qdict.h" #include "qobject/qstring.h" +#include "qemu/bswap.h" #include "qemu/cutils.h" #include "qemu/module.h" #include "qemu/option.h" diff --git a/block/export/vduse-blk.c b/block/export/vduse-blk.c index bd852e538dc..8af13b7f0bf 100644 --- a/block/export/vduse-blk.c +++ b/block/export/vduse-blk.c @@ -13,6 +13,7 @@ #include "qemu/osdep.h" #include =20 +#include "qemu/bswap.h" #include "qapi/error.h" #include "block/export.h" #include "qemu/error-report.h" diff --git a/block/export/vhost-user-blk-server.c b/block/export/vhost-user= -blk-server.c index d9d2014d9b7..a4d54e824f2 100644 --- a/block/export/vhost-user-blk-server.c +++ b/block/export/vhost-user-blk-server.c @@ -10,6 +10,7 @@ * later. See the COPYING file in the top-level directory. */ #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "qemu/error-report.h" #include "block/block.h" #include "subprojects/libvhost-user/libvhost-user.h" /* only for the type = definitions */ diff --git a/block/export/virtio-blk-handler.c b/block/export/virtio-blk-ha= ndler.c index bc1cec67570..3dd6c43af1a 100644 --- a/block/export/virtio-blk-handler.c +++ b/block/export/virtio-blk-handler.c @@ -13,6 +13,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "qemu/error-report.h" #include "virtio-blk-handler.h" =20 diff --git a/block/parallels-ext.c b/block/parallels-ext.c index 778b8f684ef..3410daa6206 100644 --- a/block/parallels-ext.c +++ b/block/parallels-ext.c @@ -30,6 +30,7 @@ #include "block/dirty-bitmap.h" #include "parallels.h" #include "crypto/hash.h" +#include "qemu/bswap.h" #include "qemu/uuid.h" #include "qemu/memalign.h" =20 diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c index 376b377698c..c3745f2839f 100644 --- a/hw/9pfs/9p-local.c +++ b/hw/9pfs/9p-local.c @@ -28,6 +28,7 @@ #include #include "qemu/xattr.h" #include "qapi/error.h" +#include "qemu/bswap.h" #include "qemu/cutils.h" #include "qemu/error-report.h" #include "qemu/option.h" diff --git a/hw/block/cdrom.c b/hw/block/cdrom.c index c6bfa50ad0c..70399a54601 100644 --- a/hw/block/cdrom.c +++ b/hw/block/cdrom.c @@ -26,6 +26,7 @@ here. */ =20 #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "hw/scsi/scsi.h" =20 static void lba_to_msf(uint8_t *buf, int lba) diff --git a/hw/block/hd-geometry.c b/hw/block/hd-geometry.c index db221901cf4..a86f2b406b6 100644 --- a/hw/block/hd-geometry.c +++ b/hw/block/hd-geometry.c @@ -31,6 +31,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "system/block-backend.h" #include "qapi/qapi-types-block.h" #include "hw/block/block.h" diff --git a/hw/net/can/ctucan_core.c b/hw/net/can/ctucan_core.c index b6ad7cdb400..f6ff4ad2003 100644 --- a/hw/net/can/ctucan_core.c +++ b/hw/net/can/ctucan_core.c @@ -29,6 +29,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" #include "qemu/bitops.h" +#include "qemu/bswap.h" #include "hw/core/irq.h" #include "migration/vmstate.h" #include "net/can_emu.h" diff --git a/hw/nvram/xlnx-efuse.c b/hw/nvram/xlnx-efuse.c index facbef3fc4c..34436705dde 100644 --- a/hw/nvram/xlnx-efuse.c +++ b/hw/nvram/xlnx-efuse.c @@ -27,6 +27,7 @@ #include "qemu/osdep.h" #include "hw/nvram/xlnx-efuse.h" =20 +#include "qemu/bswap.h" #include "qemu/error-report.h" #include "qemu/log.h" #include "qapi/error.h" diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c index 0a676a16fa4..6acaf8831a3 100644 --- a/hw/scsi/scsi-generic.c +++ b/hw/scsi/scsi-generic.c @@ -13,6 +13,7 @@ =20 #include "qemu/osdep.h" #include "qapi/error.h" +#include "qemu/bswap.h" #include "qemu/ctype.h" #include "qemu/error-report.h" #include "qemu/module.h" diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 5a1fda38a7b..37f6e0702b0 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -35,6 +35,7 @@ #include "qemu/osdep.h" #include "qemu/units.h" #include "qemu/cutils.h" +#include "qemu/bswap.h" #include "hw/core/irq.h" #include "hw/core/registerfields.h" #include "system/block-backend.h" diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 1782fb74316..a3a9f0c7efd 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -19,6 +19,7 @@ #include "hw/ssi/ssi.h" #include "migration/vmstate.h" #include "hw/sd/sd.h" +#include "qemu/bswap.h" #include "qemu/crc-ccitt.h" #include "qom/object.h" =20 diff --git a/net/l2tpv3.c b/net/l2tpv3.c index 3044fa46081..68c95552687 100644 --- a/net/l2tpv3.c +++ b/net/l2tpv3.c @@ -29,6 +29,7 @@ #include "net/net.h" #include "clients.h" #include "qapi/error.h" +#include "qemu/bswap.h" #include "qemu/error-report.h" #include "qemu/option.h" #include "qemu/sockets.h" diff --git a/qga/commands-linux.c b/qga/commands-linux.c index ae2c4d442a3..378f4d080c1 100644 --- a/qga/commands-linux.c +++ b/qga/commands-linux.c @@ -12,6 +12,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "qapi/error.h" #include "qga-qapi-commands.h" #include "qapi/error.h" diff --git a/scsi/pr-manager-helper.c b/scsi/pr-manager-helper.c index aea751fb047..f6454cd80de 100644 --- a/scsi/pr-manager-helper.c +++ b/scsi/pr-manager-helper.c @@ -19,6 +19,7 @@ #include "pr-helper.h" #include "qapi/qapi-events-block.h" #include "qemu/module.h" +#include "qemu/bswap.h" =20 #include #include "qom/object.h" diff --git a/target/arm/tcg/arith_helper.c b/target/arm/tcg/arith_helper.c index 670139819df..97c6362992c 100644 --- a/target/arm/tcg/arith_helper.c +++ b/target/arm/tcg/arith_helper.c @@ -6,6 +6,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "qemu/crc32c.h" #include /* for crc32 */ =20 diff --git a/tests/qtest/acpi-utils.c b/tests/qtest/acpi-utils.c index 9dc24fbe5a0..28cca00b960 100644 --- a/tests/qtest/acpi-utils.c +++ b/tests/qtest/acpi-utils.c @@ -15,6 +15,7 @@ #include "qemu/osdep.h" #include #include "qemu/bitmap.h" +#include "qemu/bswap.h" #include "acpi-utils.h" #include "boot-sector.h" =20 diff --git a/tests/qtest/aspeed-hace-utils.c b/tests/qtest/aspeed-hace-util= s.c index 0f7f911e5eb..25450a296bf 100644 --- a/tests/qtest/aspeed-hace-utils.c +++ b/tests/qtest/aspeed-hace-utils.c @@ -8,6 +8,7 @@ #include "qemu/osdep.h" #include "libqtest.h" #include "qemu/bitops.h" +#include "qemu/bswap.h" #include "aspeed-hace-utils.h" =20 /* diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 6b892ef23e1..e489d943312 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -59,6 +59,7 @@ #include #include "hw/firmware/smbios.h" #include "qemu/bitmap.h" +#include "qemu/bswap.h" #include "acpi-utils.h" #include "boot-sector.h" #include "tpm-emu.h" diff --git a/tests/qtest/libqos/igb.c b/tests/qtest/libqos/igb.c index ab3ef6f0c3b..64fdadac90a 100644 --- a/tests/qtest/libqos/igb.c +++ b/tests/qtest/libqos/igb.c @@ -27,6 +27,7 @@ #include "qemu/iov.h" #include "qemu/module.h" #include "qemu/bitops.h" +#include "qemu/bswap.h" #include "libqos-malloc.h" #include "qgraph.h" #include "e1000e.h" diff --git a/tests/qtest/libqos/virtio-9p-client.c b/tests/qtest/libqos/vir= tio-9p-client.c index 6ab4501c6e1..af01d4c3458 100644 --- a/tests/qtest/libqos/virtio-9p-client.c +++ b/tests/qtest/libqos/virtio-9p-client.c @@ -13,6 +13,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "virtio-9p-client.h" =20 #define QVIRTIO_9P_TIMEOUT_US (10 * 1000 * 1000) diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 57d3b9b7c5a..6a0063c322d 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -21,6 +21,7 @@ #include "qapi/error.h" #include "qobject/qjson.h" #include "qobject/qlist.h" +#include "qemu/bswap.h" #include "qemu/module.h" #include "qemu/option.h" #include "qemu/range.h" diff --git a/tests/qtest/npcm7xx_emc-test.c b/tests/qtest/npcm7xx_emc-test.c index eeedb27ee68..71505356b04 100644 --- a/tests/qtest/npcm7xx_emc-test.c +++ b/tests/qtest/npcm7xx_emc-test.c @@ -19,6 +19,7 @@ #include "qobject/qdict.h" #include "qobject/qnum.h" #include "qemu/bitops.h" +#include "qemu/bswap.h" #include "qemu/iov.h" =20 /* Name of the emc device. */ diff --git a/tests/qtest/tpm-emu.c b/tests/qtest/tpm-emu.c index 9e4c2005d0e..189374a9cec 100644 --- a/tests/qtest/tpm-emu.c +++ b/tests/qtest/tpm-emu.c @@ -16,6 +16,7 @@ #include "backends/tpm/tpm_ioctl.h" #include "io/channel-socket.h" #include "qapi/error.h" +#include "qemu/bswap.h" #include "qobject/qlist.h" #include "qobject/qstring.h" #include "tpm-emu.h" diff --git a/tests/qtest/ufs-test.c b/tests/qtest/ufs-test.c index 4867ccf08a1..8cfdc41d3ce 100644 --- a/tests/qtest/ufs-test.c +++ b/tests/qtest/ufs-test.c @@ -14,6 +14,7 @@ #include "scsi/constants.h" #include "block/ufs.h" #include "qemu/bitmap.h" +#include "qemu/bswap.h" =20 #define DWORD_BYTE 4 /* Test images sizes in Bytes */ diff --git a/tests/qtest/vmgenid-test.c b/tests/qtest/vmgenid-test.c index 33e96b7c559..2a159e24dd4 100644 --- a/tests/qtest/vmgenid-test.c +++ b/tests/qtest/vmgenid-test.c @@ -10,6 +10,7 @@ =20 #include "qemu/osdep.h" #include "qemu/bitmap.h" +#include "qemu/bswap.h" #include "qemu/uuid.h" #include "hw/acpi/acpi-defs.h" #include "boot-sector.h" diff --git a/tests/unit/test-hbitmap.c b/tests/unit/test-hbitmap.c index a4fe0679178..d6e710b9cf6 100644 --- a/tests/unit/test-hbitmap.c +++ b/tests/unit/test-hbitmap.c @@ -12,6 +12,7 @@ #include "qemu/osdep.h" #include "qemu/hbitmap.h" #include "qemu/bitmap.h" +#include "qemu/bswap.h" #include "block/block.h" =20 #define LOG_BITS_PER_LONG (BITS_PER_LONG =3D=3D 32 ? 5 : 6) diff --git a/util/bitmap.c b/util/bitmap.c index 8d12e90a5a4..7095a0c398c 100644 --- a/util/bitmap.c +++ b/util/bitmap.c @@ -12,6 +12,7 @@ #include "qemu/osdep.h" #include "qemu/bitops.h" #include "qemu/bitmap.h" +#include "qemu/bswap.h" #include "qemu/atomic.h" =20 /* --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768764956; cv=none; d=zohomail.com; s=zohoarc; b=ZcNZdOhzMGxf/0Z0vro5Opa/Pq6WzQYFfTV+RLIraa+pmIx/sEilSFP8o++PMaU06hD9QkKBI8YlsXF2ptADamSxZA/fyvPsJn2Ij+p/W+/nDifk/j5HwGQ7vzKfSFcNjrEqwN5k77sYnm7jTdf3SpgVGUBprh7vqm7XSfTzDdc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768764956; 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=RTAOH/xq/3mecKgOFQc299O+6eUqLk/ATHdhAOXEHr4=; b=OrBiOtYQWksIVfnOpe0JmSxXl993sWCj+CXPcGwBN8lC6NmBvib6Jys/Epyug/EZ54cjblR0McegFj9LenvtL0xMJ/kA2VFcOsmYOk+1aYE/na4XCuyE9fUiVWT9nAnaD+msmp3v2yV4KR2VdeWT+N7p4Kv/NHDvqowePwfH4tg= 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 176876495648029.152649803455347; Sun, 18 Jan 2026 11:35:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYYb-0005DH-UI; Sun, 18 Jan 2026 14:35:29 -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 1vhYYa-0005B1-9R for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:28 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYYY-0006e8-O1 for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:28 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47ff94b46afso23481475e9.1 for ; Sun, 18 Jan 2026 11:35:26 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47f428ac749sm213885615e9.5.2026.01.18.11.35.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764925; x=1769369725; 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=RTAOH/xq/3mecKgOFQc299O+6eUqLk/ATHdhAOXEHr4=; b=GOp2KxgHSxkHUKiLcqws2pRPk6wDcCr9JvXRx+Wle8I/CWEWv0WAbEMVdZmryiZc/L dyQh0t9gmBKkmhsGEmkgzMUyikg4/s15H+dLOjIxa9UeQ9fXjdeQQBm13p+/K2qGj7M0 juImmVHen2OxMDDjfzSINGG+NeQwUNpU+vMKK5nV6ktcH7wk3Xz4zsBdsxPoYg3QT7r8 aT8K2I/6YnM66wY1yydMB8jqWcUw7xNb8F73mIxDGcvIM+vL23+kTZM7RZr1Z9erZlRL c+E6K50yWPYhGPxR3M8VA2ikFYZUuiDlGTDwqA//eKPNHdglROOs1Sof63/7ThPzCfz2 +B6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764925; x=1769369725; 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=RTAOH/xq/3mecKgOFQc299O+6eUqLk/ATHdhAOXEHr4=; b=Umtb3sUOZ46OyVceTWwEEEPBOBc/ZvJp0qEA1TdkeiNYND38Hh768WoSc7uP5akgR7 Q3mpUHX7nB98fFI1gvn8bCkufIuGwlofu9uK1IkumRanwKAct8W/G4UR/nHBiSNIqWdY OqT8ApaIt42OceBIn0/lnDsqCeFlKS/YximtHSQo/KtCxu3sGo9LnPbFmcb862drzjoc liVaC88glTfJ8N/ro8enCdzxaMaZvGZrFCg085iGdr4NYjgCuY4LnBlE0d+a5f5mnmHE Jap3xc6kEFEKFv551gaZ433PwFe2UbDZUkKUz6AxzguOsp/2h5k5gwsYKBWFEh5SEME8 3vMA== X-Gm-Message-State: AOJu0Yx0EMV9IRmOViVtICRAyP8+Uzt8TYW3MPA8O3hd/MWznDZ7fTjF AUpt/Qhu2G0d/t3X88DVjjYZpVupTBTrYHusRVRuQhLVbl6bkcjWVIRzhQOAySnIVIbnLhVIRyA hyugsC9o= X-Gm-Gg: AY/fxX6t/dKGBVOZPlbJOA8vm8p4IOqWhoeoILtn9Xbr50UvUgdY5HY9wiV+KKuR6oM yxidAYkZP3LP9ASQtlJorUVBhxygR7ZGhftYlc1SQSpsGrkTuTgyobTSwKXsLR2ekUqCw9HheIP 3KlS1fUMklmcvkIeG+m3TYGfPibHeT8Cg/QGfo0Y2TIGwwH27A84JKR7jRfGbCWpYrnMpn8x81Z 8+EmWtnkwamdQx0CSTrmzTiY0r3ZPWCIR9o17CaVmWSNhqp1ONvWPgSY6Ey79ZCug1b9e+rRVRM sYSSMpg2flCuk5eIDdUKUSmLlrlKSBMmhRfJNVgdb+KjTN8K+ay80BfJW6pvHTPJQq7dRuLSMtw W3U9fblWBx+T5RuosFRDHWwf3BSYRP0e2WL9fUtebDWDdcpRrOrBibylR1rVlP6/iuzS8NW9pZI 4XkoA/uarN+jll046Nps6TNmeclT8WE57/OoZqXj4U3igsMyH6byw8t8mqfJ/1 X-Received: by 2002:a05:600c:4094:b0:47a:8383:f2b2 with SMTP id 5b1f17b1804b1-47f44d4dfb4mr109274705e9.17.1768764925003; Sun, 18 Jan 2026 11:35:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 02/18] bswap: Use 'qemu/bswap.h' instead of 'qemu/host-utils.h' Date: Sun, 18 Jan 2026 20:34:52 +0100 Message-ID: <20260118193509.42923-3-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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: 1768764959257158500 These files only require "qemu/bswap.h", not "qemu/host-utils.h". Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- tests/qtest/ahci-test.c | 2 +- tests/qtest/libqos/ahci.c | 2 +- tests/qtest/libqos/generic-pcihost.c | 2 +- tests/qtest/libqos/pci-spapr.c | 2 +- util/hbitmap.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c index e8aabfc13f5..5c32ff20029 100644 --- a/tests/qtest/ahci-test.c +++ b/tests/qtest/ahci-test.c @@ -31,7 +31,7 @@ #include "libqos/pci-pc.h" =20 #include "qobject/qdict.h" -#include "qemu/host-utils.h" +#include "qemu/bswap.h" =20 #include "hw/pci/pci_ids.h" #include "hw/pci/pci_regs.h" diff --git a/tests/qtest/libqos/ahci.c b/tests/qtest/libqos/ahci.c index 34a75b7f43b..0621a6c4775 100644 --- a/tests/qtest/libqos/ahci.c +++ b/tests/qtest/libqos/ahci.c @@ -28,7 +28,7 @@ #include "ahci.h" #include "pci-pc.h" =20 -#include "qemu/host-utils.h" +#include "qemu/bswap.h" =20 #include "hw/pci/pci_ids.h" #include "hw/pci/pci_regs.h" diff --git a/tests/qtest/libqos/generic-pcihost.c b/tests/qtest/libqos/gene= ric-pcihost.c index 4bbeb5ff508..b77617524ca 100644 --- a/tests/qtest/libqos/generic-pcihost.c +++ b/tests/qtest/libqos/generic-pcihost.c @@ -15,7 +15,7 @@ #include "generic-pcihost.h" #include "qobject/qdict.h" #include "hw/pci/pci_regs.h" -#include "qemu/host-utils.h" +#include "qemu/bswap.h" =20 #include "qemu/module.h" =20 diff --git a/tests/qtest/libqos/pci-spapr.c b/tests/qtest/libqos/pci-spapr.c index 0f1023e4a73..3723cbb38db 100644 --- a/tests/qtest/libqos/pci-spapr.c +++ b/tests/qtest/libqos/pci-spapr.c @@ -13,7 +13,7 @@ =20 #include "hw/pci/pci_regs.h" =20 -#include "qemu/host-utils.h" +#include "qemu/bswap.h" #include "qemu/module.h" =20 /* diff --git a/util/hbitmap.c b/util/hbitmap.c index d9a1dabc630..3525bf7751a 100644 --- a/util/hbitmap.c +++ b/util/hbitmap.c @@ -10,8 +10,8 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/bswap.h" #include "qemu/hbitmap.h" -#include "qemu/host-utils.h" #include "trace.h" #include "crypto/hash.h" =20 --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768764987; cv=none; d=zohomail.com; s=zohoarc; b=Bd2vVtXcqqZYTM1SGC/FgGmfy4Nqk0DNLkHE7Qc3NnqNuhnNcmCQAlqNEQ8V8fOBCotEKbJGOb6M9HvmbUgu83CETpciEE8GLb9AfEvWN3OQYidkgZLh+5WfAybP48ppGJqCR8a5rvjU1mtYpJWYgyavrE4RGuZCQBVhLXtoomk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768764987; 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=ku6MKAbz0lsq66NK21aSSMinHF4P8+aWQtofxx0ViFw=; b=kb+l635zaGfBy1ppIF9ZXiaQoGZJpeIMa8bXvn2ElraiQVLIYu00ULDWJWa3DE032qkcbdfmqMbJPWIiCpOBAJmEljmGJC2O24IhTwMwT1pur6CwQ5a4BvwEBnij4KphdG63azD3E0JtWM0eoFpZUaILgqKvXeGViTTqYKzQ2ag= 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 1768764987874104.0136131952537; Sun, 18 Jan 2026 11:36:27 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYYj-0005We-Ea; Sun, 18 Jan 2026 14:35:37 -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 1vhYYh-0005RF-0a for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:35 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYYf-0006ei-KL for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:34 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47ee07570deso23917705e9.1 for ; Sun, 18 Jan 2026 11:35:33 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801e8c0499sm158334345e9.9.2026.01.18.11.35.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764932; x=1769369732; 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=ku6MKAbz0lsq66NK21aSSMinHF4P8+aWQtofxx0ViFw=; b=Fnu5lJAbLCwi6suxE5PbrAWR9FTxHIT3Du4vItRxPw7tiDqsHn4EkpRCo6mUyEs4MU hyUo5VFJMHsGGBVU46FNU53N4EG6w13aHgZD/goNUlLyi4ND9Sov/tszYr2qV4DpehDs V3LSkq3l53MJWoJcGCEx1t4AsN2Infn20hK/5A8VsacAE+bmEWSK83hNP9HSN1rL6sB7 XkF0wAMXRr9/NP3RoY0mAxovD1f1jIAQjwsI9uGvsEqWQavBPUvM3Q+OZGSoV9DdmOOr vR+5rpKqGu5CB6TE5Y75AWwtYLqDLxCITILVaej1qSi1BO9nEzpNJMf2Houkf1pHG9w/ h6Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764932; x=1769369732; 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=ku6MKAbz0lsq66NK21aSSMinHF4P8+aWQtofxx0ViFw=; b=w/6mQkT9+rc9JaSLdUJ1i7/LnN4QugdKZlEn+bzKcglo8h0WcQB94i8B5puMH6Q/az O9fJn2aCNvnqe23+hcy4Tf20DDWkNacn9FC3dor5kGOJoBCEnkG441W5XdtiRjo+W/TW 3L2GZrnW1pIgq5VkT8/7OndQTUnTH4LxwFggE4Jj/6lA/+OSpyuRqqv6YG+BtaboqP4e WYh02cd0FYtDAuE0FGS82yRlHCN+fiVYtDZxgU7Gvj6klEL86mv0f0iQXBOrLUxjXUV5 R+VsGraDDLFK9ozZLysLTTqYbA8zfhEF2UZ0NAZgPAABlTNauAB1bRzbOXYpQRgc5fJ8 KtzA== X-Gm-Message-State: AOJu0Yzu/dBuDYhNwy5dks2glyNxsw/5KnS/Qt0JBTxK6WKRnQGksZeo QN/Ni7RSCeP4uOW/SG5Kt6l0Y9gxT1OcN7cvaCRXKMHY9pI+eGM2WU4FM/Qr6YdyN200sj/d3mL RTlU1a3Y= X-Gm-Gg: AY/fxX6y/m77Wq7a3HwNug9cQsOf4ZTCo8JsuihKmQNi+nzYKe6lKEjOneoFMEqDqba 4igrIxqXnzXiveXwRvJ+PHRgTPCeh4S/y1ilshxdGxgZLPk0lVL7ZZQixSDgXpBq2TqM4fzj1cE cc+vfdzOOKqaPxDlfgkeKcYzQNcz/ebPctKvyIzM/SDc0xGsggS8jmiNGFyfDdwn38Q1Dkw8UMM vn+wJTbHldbdOy0zmlcYvHpbLUDd+OAhcBneY5BgBzpcbKSjV9V9dA2DR7UM6GkZjJZk3mPVWQA /Gjgj0a9SdPgs0Q+f+lcm0DQgJETGC/2apVz+tqT19HqZA1gBLfJj69semqjlb/f60UUpzM1wt3 SRd2mg9Vkhe0lCnOuhNshituMmgyvrWoMMezXRHAbF/5ghVemTI/55mfXOzOg/qIzVHq/FXgrlT KXmKV8zslyTSch0WDFNQd62xdaaGQsyVVYJ3kleT3dWwd5WSrxauJE2+m9WOfH X-Received: by 2002:a05:600c:4e93:b0:46e:4a13:e6c6 with SMTP id 5b1f17b1804b1-4801eb09274mr93487815e9.19.1768764931981; Sun, 18 Jan 2026 11:35:31 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 03/18] bswap: Remove unnecessary 'qemu/bswap.h' Date: Sun, 18 Jan 2026 20:34:53 +0100 Message-ID: <20260118193509.42923-4-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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: 1768764988928158500 "qemu/host-utils.h" and "qemu/int128.h" are included a lot in the tree, and don't use any definition from "qemu/bswap.h"... Since it contains a lot of inlined functions, remove it to reduce pointless compilation cycles. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/qemu/host-utils.h | 1 - include/qemu/int128.h | 2 -- 2 files changed, 3 deletions(-) diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h index 0777a2bb60e..181d026b6c7 100644 --- a/include/qemu/host-utils.h +++ b/include/qemu/host-utils.h @@ -30,7 +30,6 @@ #ifndef HOST_UTILS_H #define HOST_UTILS_H =20 -#include "qemu/bswap.h" #include "qemu/int128.h" =20 #ifdef CONFIG_INT128 diff --git a/include/qemu/int128.h b/include/qemu/int128.h index 2b8dd4dec9f..7b3b071c512 100644 --- a/include/qemu/int128.h +++ b/include/qemu/int128.h @@ -1,8 +1,6 @@ #ifndef INT128_H #define INT128_H =20 -#include "qemu/bswap.h" - /* * With TCI, we need to use libffi for interfacing with TCG helpers. * But libffi does not support __int128_t, and therefore cannot pass --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768765033; cv=none; d=zohomail.com; s=zohoarc; b=eHTOLWD14PAR/3pvF1pQLPh0g/MfFsilixtbUgrc874DKGGlx37cGqO1Go7zNVKJ8wV4Yw7q0GypylihS9Zq5HeZlwarLisQ3EnTMHZ9crg7fTUx9uve0yY1aTjJNoh0ZiBwpkAZzDWSpI6LyHULw3iLyeEm72gjOK8fCfJHZjA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765033; 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=rCCB9HNX1wAOtME2z2I9ds2IWShnOrLBot6ZnveN7zw=; b=bxEQz8rbkNn2PPkWR5v9kkoW2CP0kpQQwjDI2vSFLkhLsvHaBl6vp16MXj/ubut1Yla0hXYplm1mqUjhT359WxmyPhAc+AnxYiIqqCwUJ9MSpWQFj743jduJTKOHJtEZLJgVVsyi8845E7Fs9+iIEZd/5kH9bkb+SuZj2+vEe44= 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 1768765033981282.99823533014796; Sun, 18 Jan 2026 11:37:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYZ1-0005uz-Vy; Sun, 18 Jan 2026 14:35:56 -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 1vhYYw-0005ou-2C for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:51 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYYm-0006ey-RX for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:42 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4801d24d91bso23517225e9.2 for ; Sun, 18 Jan 2026 11:35:40 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801fe2c2a2sm63720935e9.10.2026.01.18.11.35.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764939; x=1769369739; 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=rCCB9HNX1wAOtME2z2I9ds2IWShnOrLBot6ZnveN7zw=; b=ts9LNirTqncer6PF8MDXAW5GtSEEKnQZSEN/csON6EujCtXPJ6SCY8B+vvF0ryLCf5 rKYXxjjWo9540rRAvUrcBHPkSGGtW5FyHefHWhQa83jCTS4JThLBrpNJ5ViHtnZvwzIc Q+o0yx+fj5xENXRHRSOziEQlPWLm3KLG5XZjj4J6IzcYmk125N0GQnbZ6wiKEFr+R8qH 34p5z4EbrxOMb7xx3kNOGJEwx4U2i3A3Y95I0aEYpMCdPcOl+Sm6PEx89z+wBgmr1fPu XJnR4VwJ862zCGaZxiEQv9TXCE4i06dNS5TsiFoS5NSIsfclrWjl8JhLc8Skjn4nKQMI x7aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764939; x=1769369739; 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=rCCB9HNX1wAOtME2z2I9ds2IWShnOrLBot6ZnveN7zw=; b=uVnba1RrO6ZZ/kWIj8BTz+vTcozxs63L5v9vGgoStwlJYkFCCV/c1ibH2+naaPVgVo fhXBlVBCrwFPTTB7juD9zwP2LUIiicsRM+3NLfqjZv4VkJF3CsDIQ5J3hFRNLyHL/FQA cH+wKztz+PDOsDgDVmQ9kVcEDLMucQaBrY9XDTvVHAC7tngZ4N66RzaHGPWEokfMkfi0 2Didxk0/6xBbgm/K2zO76jnyeWJ98WHbuVv+yoGa5FgZEG8LYnsqijWFBHid4c2+nB65 CtKwwmIHbUl8Sth1/R2xv9VP0z85xYauMCOa8K6vKhBRu927XwCN34fblmTOYLiaCDsL V7mg== X-Gm-Message-State: AOJu0Yx6Y84u3Jq/w8NNMy41AGD20bAbxMbEmNAULyydtcXsamwNR6Kk SpBLldX3snEOfkBPqZUozI6nIG5LjZBB+QUFe4kAYuWmF5AlID/JoLisAN/4Ac395KawA+nti2V NCcjDbM0= X-Gm-Gg: AY/fxX5gLXlU8k8mYcblwvMh7+estVhgHhOivfLGgU3kBS7FNRId8caXc1/Yw4+NBGs ck3yP7hOvejFvQli44X6n//JFghZ4PfPMkk2JUt/vdd2oslyFo40jPbPHDiyLbdUszzngq90p9X 6W9gXceRlkbeNEWUvMD1Pr0KECsqQvHxG4ux9WWXSXj0OrWrrcjAPUICiGb1XDBQ6z+xJ4yRdga 2C7G6vrzWV8jS+njPqZ6hoiCBKBxNq9YK6HYD/U2Jg7CpwDB4i+V/o+vbGzxMrG2UKmLjnMxGXl G5FQcOWhn5ESliN250EkHL0QbvR9sqrcls0aXLUQR10YOIsMdVlUmm77jlOuyN19ivG3FGPoN3d oL1M1wD6LwZe92nHhwAOR3ElvdqbEVo74TgUIkX+KJlbaz/tQLsHg5ugpDg1m4USbvu2bpz2GwE NjCcG7TLnmPPKzDkcfrNwDyARUhly5bUFTSY/t3+doI/xuXUef7a8glwII3xkigBx2DQTngdg= X-Received: by 2002:a05:600c:8b2f:b0:477:7f4a:44b0 with SMTP id 5b1f17b1804b1-4801e34f952mr101625605e9.33.1768764939062; Sun, 18 Jan 2026 11:35:39 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 04/18] system/memory: Introduce ldm_p() and stm_p() load/store helpers Date: Sun, 18 Jan 2026 20:34:54 +0100 Message-ID: <20260118193509.42923-5-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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: 1768765034875158500 Introduce load/store helpers which take a MemOp argument. Inspired-by: Paolo Bonzini Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- Possible optimization: https://lore.kernel.org/qemu-devel/546f3a4b-64ff-4f63-bb07-f5cb52b6c64c@red= hat.com/ --- include/qemu/bswap.h | 72 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 65a1b3634f4..387d65c0b0b 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -2,6 +2,7 @@ #define BSWAP_H =20 #include "qemu/target-info.h" +#include "exec/memop.h" =20 #undef bswap16 #define bswap16(_x) __builtin_bswap16(_x) @@ -375,6 +376,77 @@ static inline void stq_be_p(void *ptr, uint64_t v) stq_he_p(ptr, be_bswap(v, 64)); } =20 + +/** + * ldm_p: Load value from host memory (byteswapping if necessary) + * + * @ptr: the host pointer to be accessed + * @mop: #MemOp mask containing access size and optional byteswapping + * + * Convert the value stored at @ptr in host memory and byteswap if necessa= ry. + * + * Returns: the converted value. + */ +static inline uint64_t ldm_p(const void *ptr, MemOp mop) +{ + switch (mop & (MO_SIZE | MO_BSWAP)) { + case MO_8: + return ldub_p(ptr); + case MO_16 | MO_LE: + return lduw_le_p(ptr); + case MO_16 | MO_BE: + return lduw_be_p(ptr); + case MO_32 | MO_LE: + return ldl_le_p(ptr); + case MO_32 | MO_BE: + return ldl_be_p(ptr); + case MO_64 | MO_LE: + return ldq_le_p(ptr); + case MO_64 | MO_BE: + return ldq_be_p(ptr); + default: + g_assert_not_reached(); + } +} + +/** + * stm_p: Store value to host memory (byteswapping if necessary) + * + * @ptr: the host pointer to be accessed + * @mop: #MemOp mask containing access size and optional byteswapping + * @val: the value to store + * + * Convert the value (byteswap if necessary) and store at @ptr in host mem= ory. + */ +static inline void stm_p(void *ptr, MemOp mop, uint64_t val) +{ + switch (mop & (MO_SIZE | MO_BSWAP)) { + case MO_8: + stb_p(ptr, val); + break; + case MO_16 | MO_LE: + stw_le_p(ptr, val); + break; + case MO_16 | MO_BE: + stw_be_p(ptr, val); + break; + case MO_32 | MO_LE: + stl_le_p(ptr, val); + break; + case MO_32 | MO_BE: + stl_be_p(ptr, val); + break; + case MO_64 | MO_LE: + stq_le_p(ptr, val); + break; + case MO_64 | MO_BE: + stq_be_p(ptr, val); + break; + default: + g_assert_not_reached(); + } +} + /* Store v to p as a sz byte value in host order */ #define DO_STN_LDN_P(END) \ static inline void stn_## END ## _p(void *ptr, int sz, uint64_t v) \ --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768765074; cv=none; d=zohomail.com; s=zohoarc; b=X3y+1/0P4mJ1LhUR5vGSKu7sI41eJ/hq0P/4N4LZtAiXmD/jFEtY35vO76DjdBO3jm5KQ1BmkuKctDQRbnreQRFNsBA72I4qOqJCrCv6aNusC7g9ASnL21WrjYJdlTuLmhdMYuQKvvuyNkOhre74ckYBGoFU0foBdg3gdcxOA2w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765074; 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=/7rQibL1Ys0LV+Qe1gOPgNRuzLQkR+Ce7UdPV5JDgms=; b=Ydql0qvK8kCCSnsDY0KgSxucTmlPmxn77P+qT0tBqa7lv+MTsSqLY0Nhq0z6/DE/LRY7SvQvK2iWuPt2p84aJpPadAFVkhlI3d2aQFlC5gF7uX5OjqkNTAnX7EIdpkOaWAsm80kLGchg2xT/c7pbpe3JO1t6IWchT0UIzEM/KsE= 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 176876507447113.035391787068875; Sun, 18 Jan 2026 11:37:54 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYZS-00069W-Rn; Sun, 18 Jan 2026 14:36:23 -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 1vhYYz-0005qm-S2 for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:53 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYYw-0006fN-0B for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:53 -0500 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-42fb5810d39so2860881f8f.2 for ; Sun, 18 Jan 2026 11:35:47 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4356992201csm19056835f8f.2.2026.01.18.11.35.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764946; x=1769369746; 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=/7rQibL1Ys0LV+Qe1gOPgNRuzLQkR+Ce7UdPV5JDgms=; b=a/3tscmxbWwh1WjLuC0oU19Cpkc3RIh/Ea+76RlXk2nPPq8Cmcn0Oy0oOp2nIc3etb MC7/+O/y86y6V36yPuNuODulK2GDSWmRAlDvfWOb4H2BVRdt4k53eyV9RysC60Ckz3+X uEStLxvu+PhtZCUe/uL2tHcfr1r4+Fb2ZJVDipf/KwyaMZQiAbibK7IHunwUuBHJ+2SN ORCHNl4rZRL1icCL35VVhmP8VY8/eFXadJ3BpxsXpzoakrXsVGwv3O4LyON85Lh0BHwH E8pMdnOfGiaq2jnk6ffv4NR+ldyOXNTfZ5zA4Hk2y0XzWgjpnJCNtzlmiVAnOxr5RYVS HGIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764946; x=1769369746; 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=/7rQibL1Ys0LV+Qe1gOPgNRuzLQkR+Ce7UdPV5JDgms=; b=Gt7jjqg37Si1NJLuFJM+/ShTkbm0gcd/oT/MVu46PJLFSets6sb6R+wVeHgz20Qn8n EQyNft9HiKB29WRuxHTY9rNWI62sLZ+5K4dkesWNgSsah1FSjHQ80I/tmvA6q7wiCBvx 33LHGA7es0Xeqy2yL0xzZOR9jjs8ewm5s/sSe2Wmh5e5hFPfAp7ipv3yzjGNHfEGOX5S fRtAf6pjep1lfcB1jTHh4ssLNUhHZkbu9HnvpoKaBUls2n78gYdpzw//xwuXqFeGCsY6 mxAdoCDbM1EuhnhoYTUfeXSSfVFHtrVAXcQKQ1ukltY948w+OdwbVNvz9VVwF5ISynGd 62oA== X-Gm-Message-State: AOJu0Yx2Aq9AO9s1TzN8T1cdFa4Xk9/CtHXw2W0FNVN2zQSdInFFZO3T mdlFjHsvLDHe9sn6j80gDtrrDj9tdIWQslYDQZFLVBX9aa2lle5aBhy8v7soCD4ipE7Z4pOq6NN /hH+dXqk= X-Gm-Gg: AY/fxX75Hw/wSHNI8JsSpifAMAxzpgSX4LOI9OSWND2aGg4FB6ASVXvROJ20cl/a+VD YRhF261Yc/5GGByoqNhMRJ6OqMZkcGgY4y1KDj4hba+4t5tmzYp3Td1KjS+5kUkItDG1V00SMYh XliCe6sNIEJX68+p3ZjD5OXmE9qfqrkfGTQP0BLYq6zRW8ZTKK+XCpyKzFEnkw2hUwz8dEPtaPg CcmRIPEJSkvUl4Wxcgw0ladCwYER3jRbt9JJx1S92AiU/gYr6YG13imQ7Hz3XgEiV0wycn/2eI3 AlvAzhM7rYo+PufihE3NaEpyzEZpJdxm24HdjExvdkgXf1KiZ9Vum6S3QOHpXkqGHg/dOY9jdZj AmOErcDKo0B4QAtwWoO2VCQx6c7oDBxZ/bMRFtsWVaR6Z2b3l+xYiaoxxjEY6gN+WtOz9GFj24S Tx2C6YmSBrnZGJ8AamLSz6idA1lZsfi7Uu103pE566bwhJ/UjlVAwGKVziJ7c9 X-Received: by 2002:a5d:5886:0:b0:430:ff0c:35fb with SMTP id ffacd0b85a97d-4356a05c404mr11709911f8f.52.1768764946092; Sun, 18 Jan 2026 11:35:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 05/18] system/memory: Define address_space_ldst[W] endian variants via template Date: Sun, 18 Jan 2026 20:34:55 +0100 Message-ID: <20260118193509.42923-6-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.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: 1768765075272158500 Like we do for other LD/ST APIs, use one template to declare and define all endianness variants of the address_space_ldst[W] methods. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- MAINTAINERS | 1 + include/system/memory_ldst.h.inc | 21 ++++---- include/system/memory_ldst_endian.h.inc | 25 +++++++++ include/system/memory_ldst_phys.h.inc | 45 ++++------------ include/system/memory_ldst_phys_endian.h.inc | 37 ++++++++++++++ system/memory_ldst.c.inc | 54 +++++--------------- system/memory_ldst_endian.c.inc | 42 +++++++++++++++ 7 files changed, 135 insertions(+), 90 deletions(-) create mode 100644 include/system/memory_ldst_endian.h.inc create mode 100644 include/system/memory_ldst_phys_endian.h.inc create mode 100644 system/memory_ldst_endian.c.inc diff --git a/MAINTAINERS b/MAINTAINERS index de8246c3ffd..a99a629d722 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3296,6 +3296,7 @@ F: system/ioport.c F: system/memory.c F: system/memory_mapping.c F: system/physmem.c +F: system/memory_ldst* F: system/memory-internal.h F: system/ram-block-attributes.c F: scripts/coccinelle/memory-region-housekeeping.cocci diff --git a/include/system/memory_ldst.h.inc b/include/system/memory_ldst.= h.inc index 173164fee3a..73c0366a247 100644 --- a/include/system/memory_ldst.h.inc +++ b/include/system/memory_ldst.h.inc @@ -19,24 +19,16 @@ * License along with this library; if not, see . */ =20 -uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stw, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stl, SUFFIX)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stq, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL, @@ -47,10 +39,6 @@ uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stw_le, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stw_be, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stl_le, SUFFIX)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stl_be, SUFFIX)(ARG1_DECL, @@ -60,6 +48,15 @@ void glue(address_space_stq_le, SUFFIX)(ARG1_DECL, void glue(address_space_stq_be, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); =20 +#define ENDIANNESS +#include "system/memory_ldst_endian.h.inc" + +#define ENDIANNESS _le +#include "system/memory_ldst_endian.h.inc" + +#define ENDIANNESS _be +#include "system/memory_ldst_endian.h.inc" + #undef ARG1_DECL #undef ARG1 #undef SUFFIX diff --git a/include/system/memory_ldst_endian.h.inc b/include/system/memor= y_ldst_endian.h.inc new file mode 100644 index 00000000000..3f216197663 --- /dev/null +++ b/include/system/memory_ldst_endian.h.inc @@ -0,0 +1,25 @@ +/* + * Physical memory access endian templates + * + * Copyright (c) 2003 Fabrice Bellard + * Copyright (c) 2015 Linaro, Inc. + * Copyright (c) 2016 Red Hat, Inc. + * Copyright (c) 2025 Linaro Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define ADDRESS_SPACE_LD(size) \ + glue(glue(address_space_ld, size), glue(ENDIANNESS, SUFFIX)) +#define ADDRESS_SPACE_ST(size) \ + glue(glue(address_space_st, size), glue(ENDIANNESS, SUFFIX)) + +uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result); +void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, + MemTxAttrs attrs, MemTxResult *result); + +#undef ADDRESS_SPACE_LD +#undef ADDRESS_SPACE_ST + +#undef ENDIANNESS diff --git a/include/system/memory_ldst_phys.h.inc b/include/system/memory_= ldst_phys.h.inc index db67de75251..71c2e64ff0f 100644 --- a/include/system/memory_ldst_phys.h.inc +++ b/include/system/memory_ldst_phys.h.inc @@ -19,12 +19,6 @@ * License along with this library; if not, see . */ =20 -static inline uint16_t glue(lduw_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_lduw, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline uint32_t glue(ldl_phys, SUFFIX)(ARG1_DECL, hwaddr addr) { return glue(address_space_ldl, SUFFIX)(ARG1, addr, @@ -37,12 +31,6 @@ static inline uint64_t glue(ldq_phys, SUFFIX)(ARG1_DECL,= hwaddr addr) MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline void glue(stw_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint16_t= val) -{ - glue(address_space_stw, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline void glue(stl_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint32_t= val) { glue(address_space_stl, SUFFIX)(ARG1, addr, val, @@ -61,18 +49,6 @@ static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL,= hwaddr addr) MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline uint16_t glue(lduw_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_lduw_le, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NUL= L); -} - -static inline uint16_t glue(lduw_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_lduw_be, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NUL= L); -} - static inline uint32_t glue(ldl_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr) { return glue(address_space_ldl_le, SUFFIX)(ARG1, addr, @@ -103,18 +79,6 @@ static inline void glue(stb_phys, SUFFIX)(ARG1_DECL, hw= addr addr, uint8_t val) MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline void glue(stw_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint1= 6_t val) -{ - glue(address_space_stw_le, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - -static inline void glue(stw_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint1= 6_t val) -{ - glue(address_space_stw_be, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline void glue(stl_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint3= 2_t val) { glue(address_space_stl_le, SUFFIX)(ARG1, addr, val, @@ -139,6 +103,15 @@ static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL= , hwaddr addr, uint64_t va MEMTXATTRS_UNSPECIFIED, NULL); } =20 +#define ENDIANNESS +#include "system/memory_ldst_phys_endian.h.inc" + +#define ENDIANNESS _le +#include "system/memory_ldst_phys_endian.h.inc" + +#define ENDIANNESS _be +#include "system/memory_ldst_phys_endian.h.inc" + #undef ARG1_DECL #undef ARG1 #undef SUFFIX diff --git a/include/system/memory_ldst_phys_endian.h.inc b/include/system/= memory_ldst_phys_endian.h.inc new file mode 100644 index 00000000000..25ab52a88d9 --- /dev/null +++ b/include/system/memory_ldst_phys_endian.h.inc @@ -0,0 +1,37 @@ +/* + * Physical memory access endian templates + * + * Copyright (c) 2003 Fabrice Bellard + * Copyright (c) 2015 Linaro, Inc. + * Copyright (c) 2016 Red Hat, Inc. + * Copyright (c) 2025 Linaro Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define LD_PHYS(size) \ + glue(glue(ld, size), glue(ENDIANNESS, glue(_phys, SUFFIX))) +#define ADDRESS_SPACE_LD(size) \ + glue(glue(address_space_ld, size), glue(ENDIANNESS, SUFFIX)) + +#define ST_PHYS(size) \ + glue(glue(st, size), glue(ENDIANNESS, glue(_phys, SUFFIX))) +#define ADDRESS_SPACE_ST(size) \ + glue(glue(address_space_st, size), glue(ENDIANNESS, SUFFIX)) + +static inline uint16_t LD_PHYS(uw)(ARG1_DECL, hwaddr addr) +{ + return ADDRESS_SPACE_LD(uw)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); +} + +static inline void ST_PHYS(w)(ARG1_DECL, hwaddr addr, uint16_t val) +{ + ADDRESS_SPACE_ST(w)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); +} + +#undef LD_PHYS +#undef ST_PHYS +#undef ADDRESS_SPACE_LD +#undef ADDRESS_SPACE_ST + +#undef ENDIANNESS diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index d5776678edf..c37a07b4f4a 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -240,27 +240,6 @@ static inline uint16_t glue(address_space_lduw_interna= l, SUFFIX)(ARG1_DECL, return val; } =20 -uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_lduw_internal, SUFFIX)(ARG1, addr, attrs, re= sult, - DEVICE_NATIVE_ENDIAN); -} - -uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_lduw_internal, SUFFIX)(ARG1, addr, attrs, re= sult, - DEVICE_LITTLE_ENDIAN); -} - -uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_lduw_internal, SUFFIX)(ARG1, addr, attrs, re= sult, - DEVICE_BIG_ENDIAN); -} - /* warning: addr must be aligned */ static inline void glue(address_space_stl_internal, SUFFIX)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, @@ -401,27 +380,6 @@ static inline void glue(address_space_stw_internal, SU= FFIX)(ARG1_DECL, RCU_READ_UNLOCK(); } =20 -void glue(address_space_stw, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stw_internal, SUFFIX)(ARG1, addr, val, attrs, resul= t, - DEVICE_NATIVE_ENDIAN); -} - -void glue(address_space_stw_le, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stw_internal, SUFFIX)(ARG1, addr, val, attrs, resul= t, - DEVICE_LITTLE_ENDIAN); -} - -void glue(address_space_stw_be, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stw_internal, SUFFIX)(ARG1, addr, val, attrs, resul= t, - DEVICE_BIG_ENDIAN); -} - static inline void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) @@ -486,6 +444,18 @@ void glue(address_space_stq_be, SUFFIX)(ARG1_DECL, DEVICE_BIG_ENDIAN); } =20 +#define ENDIANNESS +#define DEVICE_ENDIANNESS DEVICE_NATIVE_ENDIAN +#include "memory_ldst_endian.c.inc" + +#define ENDIANNESS _le +#define DEVICE_ENDIANNESS DEVICE_LITTLE_ENDIAN +#include "memory_ldst_endian.c.inc" + +#define ENDIANNESS _be +#define DEVICE_ENDIANNESS DEVICE_BIG_ENDIAN +#include "memory_ldst_endian.c.inc" + #undef ARG1_DECL #undef ARG1 #undef SUFFIX diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.= inc new file mode 100644 index 00000000000..e1ae44ca232 --- /dev/null +++ b/system/memory_ldst_endian.c.inc @@ -0,0 +1,42 @@ +/* + * Physical memory access endian templates + * + * Copyright (c) 2003 Fabrice Bellard + * Copyright (c) 2015 Linaro, Inc. + * Copyright (c) 2016 Red Hat, Inc. + * Copyright (c) 2025 Linaro Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define ADDRESS_SPACE_LD(size) \ + glue(glue(address_space_ld, size), glue(ENDIANNESS, SUFFIX)) +#define ADDRESS_SPACE_LD_INTERNAL(size) \ + glue(glue(address_space_ld, size), glue(_internal, SUFFIX)) + +#define ADDRESS_SPACE_ST(size) \ + glue(glue(address_space_st, size), glue(ENDIANNESS, SUFFIX)) +#define ADDRESS_SPACE_ST_INTERNAL(size) \ + glue(glue(address_space_st, size), glue(_internal, SUFFIX)) + +uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result) +{ + return ADDRESS_SPACE_LD_INTERNAL(uw)(ARG1, addr, attrs, result, + DEVICE_ENDIANNESS); +} + +void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, + MemTxAttrs attrs, MemTxResult *result) +{ + ADDRESS_SPACE_ST_INTERNAL(w)(ARG1, addr, val, attrs, result, + DEVICE_ENDIANNESS); +} + +#undef ADDRESS_SPACE_LD +#undef ADDRESS_SPACE_LD_INTERNAL +#undef ADDRESS_SPACE_ST +#undef ADDRESS_SPACE_ST_INTERNAL + +#undef ENDIANNESS +#undef DEVICE_ENDIANNESS --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768765024; cv=none; d=zohomail.com; s=zohoarc; b=esQn1Au8dMGSAIwm/+GL2r+r8+rKG5UkGIWofKUPM+zpkqVWe7bx4VO8TgDHCiCzPsf7ZwsLh7+pRvqFmw0cXu90YZ9x73yhN2czONiDHKg8UesC1SJZERTK3WJ8RTCmw2p1A9yzxVjvF/QKjdtDKxQaDd2jMheTGgV7rtKirL0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765024; 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=igCseaXkituHRUHlgN3vHTspEqy2I4p8ueKPXus93fI=; b=gtZhcvvi1m3XSCpTyFqAif4kfkIJ5xS7TtmqKbyzdsbHqzaRw+5H7klJWRGDpDbAx89dHRtil0dqA1Jh/EckoyttYYsJKKQHaceM7QpbH9hn7TUUQ1NTVXqZnaeoRN246ml+A4z6v/oubMkr+qal02WD3j/HFAndApbcZg2CTqo= 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 1768765024946488.6611154271278; Sun, 18 Jan 2026 11:37:04 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYZS-00068e-CF; Sun, 18 Jan 2026 14:36:22 -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 1vhYZ3-0005vU-L4 for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:01 -0500 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 1vhYZ1-0006fj-GB for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:35:57 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-432755545fcso1960485f8f.1 for ; Sun, 18 Jan 2026 11:35:54 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4356992c6f2sm18425785f8f.19.2026.01.18.11.35.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764953; x=1769369753; 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=igCseaXkituHRUHlgN3vHTspEqy2I4p8ueKPXus93fI=; b=SlIHHQ+GCv2Zmrlqq3QCwiy8x6YYDIsLcp+7I+kz8cv18jclxeSOD++16i9CA0EFOy Mlw16HcrGHxuxXcB0XDdkEK9XpVm9um4aE2R/o9QJTalDzrCcZmuzO+U2NL8SJZAn/+H pbdo0wmQHmETRBAiP1hhpSk6JI9okqxuUWijBDt4Cn+e9Ru/D0cHdptJYhPU5mdNf/JH o9ENyE/i1JJ6qMiekLITVScjNaPJf2wCYTC7zQI28QXRZxt7PjlEX+Nj3zywHmDlBGCd H6OU91Ky+bg3cmBe2hxgsXVFcScJ8cTIxPvYxdwsOcqQg0bl9v7aeYO9IOcIulJg7dg3 Q9/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764953; x=1769369753; 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=igCseaXkituHRUHlgN3vHTspEqy2I4p8ueKPXus93fI=; b=QaMth10H3VLpsvtDnXMAIetcjTJECkJOvd7OcRym4LSjnCTwKXYMedHyASmeP1W2pA yGhxVKTNE6eDLZgncnnJHdNjZkR8Oa67rzLZI23IubyGmtTRZxTytmFupMHErh0/CNkm 6riHekX8wre3fA0MCQbIVOM5E07K/9WfZdUJiZZ7Q31ElRJQD1t24iROSAFBiL4Imiof BGaeFPHG8FNTzChJwaxkKiLF7O7ydpvqwsIUiZa0G1iCW8iG4L76TP72AhL7BX+xkjIc 0nnhu7Uow7mylZj46uB/tnNE+MQgDJwD6XXth5Ld1z6IwdmtfG0XJbeaD0QMWJVxn355 t4oQ== X-Gm-Message-State: AOJu0Yx49+RSZbcdfF7XcSkwCoseHd3wC+gThn2yGqmm5w3pfrp4OH/G xADz2CrY93hPngYWrjhkBr4rnnVXOJ3mLxkkVneQ6Mx3bj5iEoSB1ocQT5gytKFtCj4x+9Z7V9o fherewCY= X-Gm-Gg: AY/fxX5MzQ8ugLjs5YAAPDpfy1Y2uPoMIq68KnrRgjqWjujvzftvJn9w2dO7c2drs/H yKSTQ9PoxOUj3JeFG1teFKIlaCnZJLcZYTIe2dISXCnt3mpPMrXpcwFGtivnluM7+p+kClCDosx G+7D3Qya1iDVLPl0cAY+iSsRrvF8aIMKKQ+nkgXsZiDLEMkpFKGAmMA3Dn5iTK4fQC6XlQibl0k nNL4MqhS5ukhLxsmBCHhFgD36C9DSii4eBLSruKhnyHrUXORkFA7lSpD3GgbZAdNDm8ZT5xNbQy gTeaSzJrBudtCyhRZO9ElDG5kG7lIpwUUSdxgvM+rBsXNoCf7DnsSXQChEFBjq+0yzOlJhuqyBw wzMSs9a2cA5FnsjNp++bvYjAJEQQEbGSZNP1GU5TOMaWRV0prpmJpIHxfU9H6MTc2l4hgMtAHgr 0hV0UYnWDHjb3h5msy3MKEh6bo7EumBybFsggjyMxQHZRrOKatcBQxeBJG1GmHI3jwOa1LSbk= X-Received: by 2002:a05:6000:1845:b0:431:491:7e8c with SMTP id ffacd0b85a97d-43569bd30cbmr11067498f8f.63.1768764952967; Sun, 18 Jan 2026 11:35:52 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 06/18] system/memory: Define address_space_ldst[L] endian variants via template Date: Sun, 18 Jan 2026 20:34:56 +0100 Message-ID: <20260118193509.42923-7-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765027136158500 Define address_space_ldst[L] endian variants via template. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/memory_ldst.h.inc | 12 ------ include/system/memory_ldst_endian.h.inc | 4 ++ include/system/memory_ldst_phys.h.inc | 36 ----------------- include/system/memory_ldst_phys_endian.h.inc | 10 +++++ system/memory_ldst.c.inc | 42 -------------------- system/memory_ldst_endian.c.inc | 14 +++++++ 6 files changed, 28 insertions(+), 90 deletions(-) diff --git a/include/system/memory_ldst.h.inc b/include/system/memory_ldst.= h.inc index 73c0366a247..7ccca46f2a9 100644 --- a/include/system/memory_ldst.h.inc +++ b/include/system/memory_ldst.h.inc @@ -19,30 +19,18 @@ * License along with this library; if not, see . */ =20 -uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stl, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stq, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stl_le, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stl_be, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stq_le, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); void glue(address_space_stq_be, SUFFIX)(ARG1_DECL, diff --git a/include/system/memory_ldst_endian.h.inc b/include/system/memor= y_ldst_endian.h.inc index 3f216197663..845ec3b4ad1 100644 --- a/include/system/memory_ldst_endian.h.inc +++ b/include/system/memory_ldst_endian.h.inc @@ -16,8 +16,12 @@ =20 uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); +uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result); void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result); +void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_t val, + MemTxAttrs attrs, MemTxResult *result); =20 #undef ADDRESS_SPACE_LD #undef ADDRESS_SPACE_ST diff --git a/include/system/memory_ldst_phys.h.inc b/include/system/memory_= ldst_phys.h.inc index 71c2e64ff0f..c3c73419e61 100644 --- a/include/system/memory_ldst_phys.h.inc +++ b/include/system/memory_ldst_phys.h.inc @@ -19,24 +19,12 @@ * License along with this library; if not, see . */ =20 -static inline uint32_t glue(ldl_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_ldl, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline uint64_t glue(ldq_phys, SUFFIX)(ARG1_DECL, hwaddr addr) { return glue(address_space_ldq, SUFFIX)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline void glue(stl_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint32_t= val) -{ - glue(address_space_stl, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t= val) { glue(address_space_stq, SUFFIX)(ARG1, addr, val, @@ -49,18 +37,6 @@ static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL,= hwaddr addr) MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline uint32_t glue(ldl_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_ldl_le, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL= ); -} - -static inline uint32_t glue(ldl_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_ldl_be, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL= ); -} - static inline uint64_t glue(ldq_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr) { return glue(address_space_ldq_le, SUFFIX)(ARG1, addr, @@ -79,18 +55,6 @@ static inline void glue(stb_phys, SUFFIX)(ARG1_DECL, hwa= ddr addr, uint8_t val) MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline void glue(stl_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint3= 2_t val) -{ - glue(address_space_stl_le, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - -static inline void glue(stl_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint3= 2_t val) -{ - glue(address_space_stl_be, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline void glue(stq_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint6= 4_t val) { glue(address_space_stq_le, SUFFIX)(ARG1, addr, val, diff --git a/include/system/memory_ldst_phys_endian.h.inc b/include/system/= memory_ldst_phys_endian.h.inc index 25ab52a88d9..1589f34e8e4 100644 --- a/include/system/memory_ldst_phys_endian.h.inc +++ b/include/system/memory_ldst_phys_endian.h.inc @@ -24,11 +24,21 @@ static inline uint16_t LD_PHYS(uw)(ARG1_DECL, hwaddr ad= dr) return ADDRESS_SPACE_LD(uw)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); } =20 +static inline uint32_t LD_PHYS(l)(ARG1_DECL, hwaddr addr) +{ + return ADDRESS_SPACE_LD(l)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); +} + static inline void ST_PHYS(w)(ARG1_DECL, hwaddr addr, uint16_t val) { ADDRESS_SPACE_ST(w)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); } =20 +static inline void ST_PHYS(l)(ARG1_DECL, hwaddr addr, uint32_t val) +{ + ADDRESS_SPACE_ST(l)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); +} + #undef LD_PHYS #undef ST_PHYS #undef ADDRESS_SPACE_LD diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index c37a07b4f4a..ab2df6e429b 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -67,27 +67,6 @@ static inline uint32_t glue(address_space_ldl_internal, = SUFFIX)(ARG1_DECL, return val; } =20 -uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldl_internal, SUFFIX)(ARG1, addr, attrs, res= ult, - DEVICE_NATIVE_ENDIAN); -} - -uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldl_internal, SUFFIX)(ARG1, addr, attrs, res= ult, - DEVICE_LITTLE_ENDIAN); -} - -uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldl_internal, SUFFIX)(ARG1, addr, attrs, res= ult, - DEVICE_BIG_ENDIAN); -} - /* warning: addr must be aligned */ static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result, @@ -284,27 +263,6 @@ static inline void glue(address_space_stl_internal, SU= FFIX)(ARG1_DECL, RCU_READ_UNLOCK(); } =20 -void glue(address_space_stl, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stl_internal, SUFFIX)(ARG1, addr, val, attrs, - result, DEVICE_NATIVE_ENDIAN); -} - -void glue(address_space_stl_le, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stl_internal, SUFFIX)(ARG1, addr, val, attrs, - result, DEVICE_LITTLE_ENDIAN); -} - -void glue(address_space_stl_be, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stl_internal, SUFFIX)(ARG1, addr, val, attrs, - result, DEVICE_BIG_ENDIAN); -} - void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result) { diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.= inc index e1ae44ca232..5d46524ec4c 100644 --- a/system/memory_ldst_endian.c.inc +++ b/system/memory_ldst_endian.c.inc @@ -26,6 +26,13 @@ uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, DEVICE_ENDIANNESS); } =20 +uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result) +{ + return ADDRESS_SPACE_LD_INTERNAL(l)(ARG1, addr, attrs, result, + DEVICE_ENDIANNESS); +} + void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) { @@ -33,6 +40,13 @@ void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_= t val, DEVICE_ENDIANNESS); } =20 +void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_t val, + MemTxAttrs attrs, MemTxResult *result) +{ + ADDRESS_SPACE_ST_INTERNAL(l)(ARG1, addr, val, attrs, result, + DEVICE_ENDIANNESS); +} + #undef ADDRESS_SPACE_LD #undef ADDRESS_SPACE_LD_INTERNAL #undef ADDRESS_SPACE_ST --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768765024; cv=none; d=zohomail.com; s=zohoarc; b=KWetvyYunAMJlsA6pBltWVCcp88G03bypAVUuOrs26fQRI/Zub7nAsPE8/iC2hgEHKFHwOzSsvHJ220JYJIdyP8guExAoHrFvBXooPOroC/nUN8Gc3Cfjghl404L126sy65KpkJ1AIpBWm7zUx6Z6sRcHJ4MtVut3FVlRIx0Q2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765024; 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=giWdPoxyT7GeYpAJXZMpfomroD+LhNldKaXalY7TMhs=; b=aFMBOSftnKC3g8Tt9X+WbucUXx7E/9aVXPWk0+nIiiVNXVK77RXf0Sxe7ZFB9iqsNlxslUzbg8A6vkLRpeqQQKoqhuRW6sXygyz1wl/nSaHbErRR6P/Cd/XLrvQvtbAL3oR5YxIVC0/exveR6Pqyvcz0h7fuo0ZyL/EUzWdzxaQ= 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 1768765024664476.2204753369151; Sun, 18 Jan 2026 11:37:04 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYZq-00072x-29; Sun, 18 Jan 2026 14:36:46 -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 1vhYZB-0005wj-JV for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:13 -0500 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 1vhYZ7-0006fz-QP for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:05 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4801d98cf39so13845335e9.1 for ; Sun, 18 Jan 2026 11:36:01 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801fe3ae95sm67969465e9.4.2026.01.18.11.35.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:35:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764960; x=1769369760; 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=giWdPoxyT7GeYpAJXZMpfomroD+LhNldKaXalY7TMhs=; b=VRHMVaYxtF3dxXsuF9hHEOezNrOhQ6ZKQ+BRMRJB2ay90ZoZyO5eQr8RL7/dSlb3aS YbwX45gAPVwrg508SzAcw8aqH7Gen78W2zhKRsmoFYJ2RroR8rYheW+ZPDw3ngsBJo0N Wui3ERtcLRGAOImWYYnK0X7Fn4REtztAxDClsUYoQmloFyE4fAk5UNwutvDO4jya/v5y Trqcs8O9nVUQnYIJ9JuE5VRcUWldDGUKb2GNNJcfPuE4obJlBdOep5i8L+fD8LrIOkcB j0xm70N2hO1XFeeJqQx/CeMfGfpi8e7cYiFsrp0/M3tzn9KysDNTmUz3Yjam3NydaBk5 FGkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764960; x=1769369760; 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=giWdPoxyT7GeYpAJXZMpfomroD+LhNldKaXalY7TMhs=; b=NseioNo+oJ5qm0334Zcm53LM5Lqpu2c1LamsDHo0fisvuBiSLShWv7JFftbDnrHpYi XljMGF5F00iFAB+EGJdr7kZR2sV7dYOEfKgD5/VSy5fG4oc+5PJZBXyYpeyNje6F4b00 FSE8xCWLm/IXcvY6jUPt15ilrKNLOg+JTI3Qq1LZtOXQbkAXTmzSjuA3L8NBd0RemHYL 1BoP3eU6wFsAdloFpQKv1dXNQjLosU2jiPaxjh6BGgziurQnrE2jocf1r74K4o4P0vDs 7YJ7PtqSqp7c1UjHhW0JShu4on6t4A4XfUFGq2fS1yJTMrPQgeJQOclHzwVAixgQNM+i p0kg== X-Gm-Message-State: AOJu0YzkRavdtUtpRsMh8A3ZS1ubBoLBCysONNUY7grwhDUnGCy+GpXi JrtpcWdgMfh3EgUmSerUEnc5K+GxkSC75WPAaNRGfyfvEX2GsvutB/TB5Kg9TOw4gIO/A1XXWLV 6guMTuV8= X-Gm-Gg: AY/fxX4JeBPm1XJR9BsOapeasZOwyPxvqkdIu2aW8aWkE5soOxj5cB4Qw3qZiVU8h9X E1m7CoMuLOz12+P0inHE3cIuSOx2oa9sqC+ZD1Jqy9eixSfONKR5b/rN/pG0RDOCeGCIbN4vCrh oI1YAdVMkSiArjLPNOjkHCmGYXo1VK0KZuRBHDaboKQO6Uk8PbcK0uu8BVwqTqIFzvkPca5aMVb DNO32t8HWgr21W+hM8U0YgIzntZvKliP9XER+JU8O1drk8wDoq6r2uE1mEzC5fmMtzUQ4yXnC+E jl7AcrinIT38reyEu01G5z2PHqUaDP4aDNn2M1HIn8WQ7mgJgiLKMaCeZHOMN57wencrriUm6MN qud/9vbphFj6R3Vl4ONDHsFjXEMLhv5hCocPbZmhXNr4DImh6ZUM2iKWvl1U84c6qx/xxtzmCdX wPzKluwg+I8LlQcsCNRpicq6gqdJ4VHrnP0+cgSiLWh2LGC89aXKNUWLDzqZPY X-Received: by 2002:a05:600c:811a:b0:480:1dc6:2686 with SMTP id 5b1f17b1804b1-4801eac0cfcmr94510205e9.13.1768764959898; Sun, 18 Jan 2026 11:35:59 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 07/18] system/memory: Define address_space_ldst[Q] endian variants via template Date: Sun, 18 Jan 2026 20:34:57 +0100 Message-ID: <20260118193509.42923-8-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765027104158500 Define address_space_ldst[Q] endian variants via template. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/memory_ldst.h.inc | 17 ++------ include/system/memory_ldst_endian.h.inc | 4 ++ include/system/memory_ldst_phys.h.inc | 36 ----------------- include/system/memory_ldst_phys_endian.h.inc | 10 +++++ system/memory_ldst.c.inc | 42 -------------------- system/memory_ldst_endian.c.inc | 14 +++++++ 6 files changed, 31 insertions(+), 92 deletions(-) diff --git a/include/system/memory_ldst.h.inc b/include/system/memory_ldst.= h.inc index 7ccca46f2a9..dd1fb482eac 100644 --- a/include/system/memory_ldst.h.inc +++ b/include/system/memory_ldst.h.inc @@ -19,22 +19,11 @@ * License along with this library; if not, see . */ =20 -uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stq, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); -uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result); + hwaddr addr, MemTxAttrs attrs, MemTxResult *result); + void glue(address_space_stb, SUFFIX)(ARG1_DECL, - hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stq_le, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); -void glue(address_space_stq_be, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result); + hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result); =20 #define ENDIANNESS #include "system/memory_ldst_endian.h.inc" diff --git a/include/system/memory_ldst_endian.h.inc b/include/system/memor= y_ldst_endian.h.inc index 845ec3b4ad1..f5b6b496be5 100644 --- a/include/system/memory_ldst_endian.h.inc +++ b/include/system/memory_ldst_endian.h.inc @@ -18,10 +18,14 @@ uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result); +uint64_t ADDRESS_SPACE_LD(q)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result); void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result); void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result); +void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_t val, + MemTxAttrs attrs, MemTxResult *result); =20 #undef ADDRESS_SPACE_LD #undef ADDRESS_SPACE_ST diff --git a/include/system/memory_ldst_phys.h.inc b/include/system/memory_= ldst_phys.h.inc index c3c73419e61..f4c91dc7a91 100644 --- a/include/system/memory_ldst_phys.h.inc +++ b/include/system/memory_ldst_phys.h.inc @@ -19,54 +19,18 @@ * License along with this library; if not, see . */ =20 -static inline uint64_t glue(ldq_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_ldq, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL); -} - -static inline void glue(stq_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t= val) -{ - glue(address_space_stq, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - static inline uint8_t glue(ldub_phys, SUFFIX)(ARG1_DECL, hwaddr addr) { return glue(address_space_ldub, SUFFIX)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline uint64_t glue(ldq_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_ldq_le, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL= ); -} - -static inline uint64_t glue(ldq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr) -{ - return glue(address_space_ldq_be, SUFFIX)(ARG1, addr, - MEMTXATTRS_UNSPECIFIED, NULL= ); -} - static inline void glue(stb_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t = val) { glue(address_space_stb, SUFFIX)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); } =20 -static inline void glue(stq_le_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint6= 4_t val) -{ - glue(address_space_stq_le, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - -static inline void glue(stq_be_phys, SUFFIX)(ARG1_DECL, hwaddr addr, uint6= 4_t val) -{ - glue(address_space_stq_be, SUFFIX)(ARG1, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - #define ENDIANNESS #include "system/memory_ldst_phys_endian.h.inc" =20 diff --git a/include/system/memory_ldst_phys_endian.h.inc b/include/system/= memory_ldst_phys_endian.h.inc index 1589f34e8e4..820e9dd1f13 100644 --- a/include/system/memory_ldst_phys_endian.h.inc +++ b/include/system/memory_ldst_phys_endian.h.inc @@ -29,6 +29,11 @@ static inline uint32_t LD_PHYS(l)(ARG1_DECL, hwaddr addr) return ADDRESS_SPACE_LD(l)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); } =20 +static inline uint64_t LD_PHYS(q)(ARG1_DECL, hwaddr addr) +{ + return ADDRESS_SPACE_LD(q)(ARG1, addr, MEMTXATTRS_UNSPECIFIED, NULL); +} + static inline void ST_PHYS(w)(ARG1_DECL, hwaddr addr, uint16_t val) { ADDRESS_SPACE_ST(w)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); @@ -39,6 +44,11 @@ static inline void ST_PHYS(l)(ARG1_DECL, hwaddr addr, ui= nt32_t val) ADDRESS_SPACE_ST(l)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); } =20 +static inline void ST_PHYS(q)(ARG1_DECL, hwaddr addr, uint64_t val) +{ + ADDRESS_SPACE_ST(q)(ARG1, addr, val, MEMTXATTRS_UNSPECIFIED, NULL); +} + #undef LD_PHYS #undef ST_PHYS #undef ADDRESS_SPACE_LD diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index ab2df6e429b..823fc3a7561 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -115,27 +115,6 @@ static inline uint64_t glue(address_space_ldq_internal= , SUFFIX)(ARG1_DECL, return val; } =20 -uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldq_internal, SUFFIX)(ARG1, addr, attrs, res= ult, - DEVICE_NATIVE_ENDIAN); -} - -uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldq_internal, SUFFIX)(ARG1, addr, attrs, res= ult, - DEVICE_LITTLE_ENDIAN); -} - -uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldq_internal, SUFFIX)(ARG1, addr, attrs, res= ult, - DEVICE_BIG_ENDIAN); -} - uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { @@ -381,27 +360,6 @@ static inline void glue(address_space_stq_internal, SU= FFIX)(ARG1_DECL, RCU_READ_UNLOCK(); } =20 -void glue(address_space_stq, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stq_internal, SUFFIX)(ARG1, addr, val, attrs, resul= t, - DEVICE_NATIVE_ENDIAN); -} - -void glue(address_space_stq_le, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stq_internal, SUFFIX)(ARG1, addr, val, attrs, resul= t, - DEVICE_LITTLE_ENDIAN); -} - -void glue(address_space_stq_be, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result) -{ - glue(address_space_stq_internal, SUFFIX)(ARG1, addr, val, attrs, resul= t, - DEVICE_BIG_ENDIAN); -} - #define ENDIANNESS #define DEVICE_ENDIANNESS DEVICE_NATIVE_ENDIAN #include "memory_ldst_endian.c.inc" diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.= inc index 5d46524ec4c..791d041b15d 100644 --- a/system/memory_ldst_endian.c.inc +++ b/system/memory_ldst_endian.c.inc @@ -33,6 +33,13 @@ uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr, DEVICE_ENDIANNESS); } =20 +uint64_t ADDRESS_SPACE_LD(q)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result) +{ + return ADDRESS_SPACE_LD_INTERNAL(q)(ARG1, addr, attrs, result, + DEVICE_ENDIANNESS); +} + void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) { @@ -47,6 +54,13 @@ void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_= t val, DEVICE_ENDIANNESS); } =20 +void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_t val, + MemTxAttrs attrs, MemTxResult *result) +{ + ADDRESS_SPACE_ST_INTERNAL(q)(ARG1, addr, val, attrs, result, + DEVICE_ENDIANNESS); +} + #undef ADDRESS_SPACE_LD #undef ADDRESS_SPACE_LD_INTERNAL #undef ADDRESS_SPACE_ST --=20 2.52.0 From nobody Sat Feb 7 07:41:21 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=1768765081; cv=none; d=zohomail.com; s=zohoarc; b=b++nT28pAM/38kP2zwM8zODN+TyRxCrngn8Mbr4mQGtdqBNLR/ydMWGFEvcFBVcxhcOw2um+k52Z5kfGaHsq4VRSVnEBYOLeG1OSF2mMarVIxR61NUiGTVQOQueoenP16wb/KPqzP8Olf4OBsEHBGVf2Rz4tnsGT3OCZTtaHtto= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765081; 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=P2hpwvKk7ET9jTr/WrRA7ZwlKa0SgDvCP9URR6HvV7k=; b=QvBwn2MtlOXCyrnO8KJRstlJsrTsmeA0++Xq8JMZ9E/Ac8G0LsrgApqruADnMhIFC+8J34Zc32U404UlpY4hmyCzAB8wSmyPJPZG46KepicXHMHEJHbeX+g54eTBNQWP+BXQmZNUUb+DjxT35z5oAeVmCIXCv0D1NSoDo6ZYzMI= 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 1768765081438656.1430072083988; Sun, 18 Jan 2026 11:38:01 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYZs-00076P-0p; Sun, 18 Jan 2026 14:36:50 -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 1vhYZN-00065l-Ow for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:19 -0500 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 1vhYZF-0006hD-42 for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:11 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-47d63594f7eso24418665e9.0 for ; Sun, 18 Jan 2026 11:36:08 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801fe3b01csm67835085e9.5.2026.01.18.11.36.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764967; x=1769369767; 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=P2hpwvKk7ET9jTr/WrRA7ZwlKa0SgDvCP9URR6HvV7k=; b=pCltBL2Qiq19BZZ1ObsOB4bCawkPChVKAp6R2p1PYP77VLsMQ19GRNVgl/VPO7pjwL aR48KmslytuOw5GdUoCsYro4r6a7U+A6s5njOrPvJ7O+B1Ndwpu6U+2ENKXsL+Ozlk9W xmoLfCA5oVLn2uG9UNTAZIUeq4b4nFVzw6DNxm6s26fnIUD4SlWfdhUTM+sVO4wmZXxm 567TRaEYbXcBhdA9wyNi7pDJ8i3L+ShBFRPSS3ot6k+RNHnRRxhnfjMUpBi41gAtxFyK d/X1jDINFCjbdpdZ9RbD8ivvEFRtALiDP6Eyh7zj6pvxW1ic0M7eBCIOgEKNAyQwyCKh Au6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764967; x=1769369767; 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=P2hpwvKk7ET9jTr/WrRA7ZwlKa0SgDvCP9URR6HvV7k=; b=cEpQR7uKv77a/jp8+U3R76ygAR3fR3cFk/slie/jeUVfo3/psXRlErBD1pgynV8e6a feMbZonO7eu3NFCkuisgayqG8LZWfr/YIS41lesAMJ1jOO8SrX/K9EMbnNUnWOn9P5QC 3fMXRYkp0tSLcp8lTVphSidPGPDYd9dDa/XNUhkelIoQ2icxwpQCuk0EP1scQKFUscYN 07kiDYRHCC7V91JbONhZTNJZjqolXd3I/a1rwk4HJ/Lgp3oTzmdvcmhf9iPI/kWp0F/s rIjht+CK7Gg9pFmYYVP24tsqkx/4XE3S4HmBLjyjrdNATClqYUao6TDWFFFCZXMuXMSB RG1A== X-Gm-Message-State: AOJu0YyzMsEFRxSRqIyruUoDUAxRz/jOdZnTPWHFXwH707EuS46402qR vexLVC1RlZmB1k+eZMGQ1Lp/YFzr9HxALUUssoUaIeOBmcH7h6jHJINSV2YshdQ6+EbDCsaHR/G cuCNE0mo= X-Gm-Gg: AY/fxX43I8Gj5iuF2L/79dCLiX3/ChYG6tLORYbJ1zFjDAchGSsEyzKWIyQwwMy3Pbo U9dweeOs8gMK+xchY0pa/Vpi0+alYB9T0zqBJb39HeY23oFAPYlucSCBgshtFb17mFk49RoKXm7 Z40m45w++qS2EKC7BE+lK7faEQ2GuGzsDzZ1WA7pYL4iEMFw4noUD6cYwrgtGN31tE1xAVwunv2 IwUexeUIxokLqLI4iE0O5zMKLv12klciWY1m8qQUCvImLzZbx4gvgm402cGtydGuCR8TJkjcerH IG2OlDD5L15hMQl6lg0HkJ87zrtFdjLF2aHFaliafyBUQ81iaTeC82MvaEH8n7n9ihEwf+N/a7O O6Ohe5DsoAQcHg0HihrSFsuPbVsUKkv0QktASM2MGqmY80Uag9diiLqGxWpZUbJx3kVj6QyXdxg qRJ9f33PJwGT4OGbtKYuZ74aYJzAD0RN/XMKXtYXIAIeBdiM10Eg5jmU7R5uAq X-Received: by 2002:a05:600c:19d0:b0:477:63b5:6f76 with SMTP id 5b1f17b1804b1-4801e3444f4mr109044635e9.25.1768764966685; Sun, 18 Jan 2026 11:36:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 08/18] system/memory: Factor address_space_ldst[M]_internal() helper out Date: Sun, 18 Jan 2026 20:34:58 +0100 Message-ID: <20260118193509.42923-9-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765083215158500 All the LD/ST[W,L,Q] variants use the same template, only modifying the access size used. Unify as a single pair of LD/ST methods taking a MemOp argument. Thus use the 'm' suffix for MemOp. Keep the pre-existing "warning: addr must be aligned" comment. We leave the wonder about why we aren't asserting alignment for later. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/memory_ldst.c.inc | 298 +++++++++------------------------------ 1 file changed, 63 insertions(+), 235 deletions(-) diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index 823fc3a7561..39b3930bf50 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -20,39 +20,43 @@ */ =20 /* warning: addr must be aligned */ -static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result, - enum device_endian endian) +static inline +uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_DECL, MemOp mop, + hwaddr addr, + MemTxAttrs attrs, + MemTxResult *result, + enum device_endian endia= n) { + const unsigned size =3D memop_size(mop); uint8_t *ptr; uint64_t val; MemoryRegion *mr; - hwaddr l =3D 4; + hwaddr l =3D size; hwaddr addr1; MemTxResult r; bool release_lock =3D false; =20 RCU_READ_LOCK(); mr =3D TRANSLATE(addr, &addr1, &l, false, attrs); - if (l < 4 || !memory_access_is_direct(mr, false, attrs)) { + if (l < size || !memory_access_is_direct(mr, false, attrs)) { release_lock |=3D prepare_mmio_access(mr); =20 /* I/O case */ r =3D memory_region_dispatch_read(mr, addr1, &val, - MO_32 | devend_memop(endian), attr= s); + mop | devend_memop(endian), attrs); } else { /* RAM case */ - fuzz_dma_read_cb(addr, 4, mr); + fuzz_dma_read_cb(addr, size, mr); ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); switch (endian) { case DEVICE_LITTLE_ENDIAN: - val =3D ldl_le_p(ptr); + val =3D ldn_le_p(ptr, size); break; case DEVICE_BIG_ENDIAN: - val =3D ldl_be_p(ptr); + val =3D ldn_be_p(ptr, size); break; default: - val =3D ldl_p(ptr); + val =3D ldn_p(ptr, size); break; } r =3D MEMTX_OK; @@ -67,87 +71,30 @@ static inline uint32_t glue(address_space_ldl_internal,= SUFFIX)(ARG1_DECL, return val; } =20 +/* warning: addr must be aligned */ +static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL, + hwaddr addr, MemTxAttrs attrs, MemTxResult *result, + enum device_endian endian) +{ + return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_32, addr, + attrs, result, endian); +} + /* warning: addr must be aligned */ static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) { - uint8_t *ptr; - uint64_t val; - MemoryRegion *mr; - hwaddr l =3D 8; - hwaddr addr1; - MemTxResult r; - bool release_lock =3D false; - - RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, false, attrs); - if (l < 8 || !memory_access_is_direct(mr, false, attrs)) { - release_lock |=3D prepare_mmio_access(mr); - - /* I/O case */ - r =3D memory_region_dispatch_read(mr, addr1, &val, - MO_64 | devend_memop(endian), attr= s); - } else { - /* RAM case */ - fuzz_dma_read_cb(addr, 8, mr); - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - switch (endian) { - case DEVICE_LITTLE_ENDIAN: - val =3D ldq_le_p(ptr); - break; - case DEVICE_BIG_ENDIAN: - val =3D ldq_be_p(ptr); - break; - default: - val =3D ldq_p(ptr); - break; - } - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); - return val; + return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_64, addr, + attrs, result, endian); } =20 -uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) +uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr, + MemTxAttrs attrs, MemTxResult *re= sult) { - uint8_t *ptr; - uint64_t val; - MemoryRegion *mr; - hwaddr l =3D 1; - hwaddr addr1; - MemTxResult r; - bool release_lock =3D false; - - RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, false, attrs); - if (!memory_access_is_direct(mr, false, attrs)) { - release_lock |=3D prepare_mmio_access(mr); - - /* I/O case */ - r =3D memory_region_dispatch_read(mr, addr1, &val, MO_8, attrs); - } else { - /* RAM case */ - fuzz_dma_read_cb(addr, 1, mr); - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - val =3D ldub_p(ptr); - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); - return val; + return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_8, addr, + attrs, result, + DEVICE_NATIVE_ENDIAN); } =20 /* warning: addr must be aligned */ @@ -155,37 +102,47 @@ static inline uint16_t glue(address_space_lduw_intern= al, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) { + return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_16, addr, + attrs, result, endian); +} + +/* warning: addr must be aligned */ +static inline +void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL, MemOp mop, + hwaddr addr, uint64_t val, + MemTxAttrs attrs, + MemTxResult *result, + enum device_endian endian) +{ + const unsigned size =3D memop_size(mop); uint8_t *ptr; - uint64_t val; MemoryRegion *mr; - hwaddr l =3D 2; + hwaddr l =3D size; hwaddr addr1; MemTxResult r; bool release_lock =3D false; =20 RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, false, attrs); - if (l < 2 || !memory_access_is_direct(mr, false, attrs)) { + mr =3D TRANSLATE(addr, &addr1, &l, true, attrs); + if (l < size || !memory_access_is_direct(mr, true, attrs)) { release_lock |=3D prepare_mmio_access(mr); - - /* I/O case */ - r =3D memory_region_dispatch_read(mr, addr1, &val, - MO_16 | devend_memop(endian), attr= s); + r =3D memory_region_dispatch_write(mr, addr1, val, + mop | devend_memop(endian), attrs= ); } else { /* RAM case */ - fuzz_dma_read_cb(addr, 2, mr); ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); switch (endian) { case DEVICE_LITTLE_ENDIAN: - val =3D lduw_le_p(ptr); + stn_le_p(ptr, size, val); break; case DEVICE_BIG_ENDIAN: - val =3D lduw_be_p(ptr); + stn_be_p(ptr, size, val); break; default: - val =3D lduw_p(ptr); + stn_p(ptr, size, val); break; } + invalidate_and_set_dirty(mr, addr1, size); r =3D MEMTX_OK; } if (result) { @@ -195,7 +152,6 @@ static inline uint16_t glue(address_space_lduw_internal= , SUFFIX)(ARG1_DECL, bql_unlock(); } RCU_READ_UNLOCK(); - return val; } =20 /* warning: addr must be aligned */ @@ -203,74 +159,16 @@ static inline void glue(address_space_stl_internal, S= UFFIX)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) { - uint8_t *ptr; - MemoryRegion *mr; - hwaddr l =3D 4; - hwaddr addr1; - MemTxResult r; - bool release_lock =3D false; - - RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, true, attrs); - if (l < 4 || !memory_access_is_direct(mr, true, attrs)) { - release_lock |=3D prepare_mmio_access(mr); - r =3D memory_region_dispatch_write(mr, addr1, val, - MO_32 | devend_memop(endian), att= rs); - } else { - /* RAM case */ - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - switch (endian) { - case DEVICE_LITTLE_ENDIAN: - stl_le_p(ptr, val); - break; - case DEVICE_BIG_ENDIAN: - stl_be_p(ptr, val); - break; - default: - stl_p(ptr, val); - break; - } - invalidate_and_set_dirty(mr, addr1, 4); - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); + glue(address_space_stm_internal, SUFFIX)(ARG1, MO_32, addr, val, + attrs, result, endian); } =20 -void glue(address_space_stb, SUFFIX)(ARG1_DECL, - hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result) +void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, + MemTxAttrs attrs, MemTxResult *result) { - uint8_t *ptr; - MemoryRegion *mr; - hwaddr l =3D 1; - hwaddr addr1; - MemTxResult r; - bool release_lock =3D false; - - RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, true, attrs); - if (!memory_access_is_direct(mr, true, attrs)) { - release_lock |=3D prepare_mmio_access(mr); - r =3D memory_region_dispatch_write(mr, addr1, val, MO_8, attrs); - } else { - /* RAM case */ - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - stb_p(ptr, val); - invalidate_and_set_dirty(mr, addr1, 1); - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); + glue(address_space_stm_internal, SUFFIX)(ARG1, MO_8, addr, val, + attrs, result, + DEVICE_NATIVE_ENDIAN); } =20 /* warning: addr must be aligned */ @@ -278,86 +176,16 @@ static inline void glue(address_space_stw_internal, S= UFFIX)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) { - uint8_t *ptr; - MemoryRegion *mr; - hwaddr l =3D 2; - hwaddr addr1; - MemTxResult r; - bool release_lock =3D false; - - RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, true, attrs); - if (l < 2 || !memory_access_is_direct(mr, true, attrs)) { - release_lock |=3D prepare_mmio_access(mr); - r =3D memory_region_dispatch_write(mr, addr1, val, - MO_16 | devend_memop(endian), att= rs); - } else { - /* RAM case */ - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - switch (endian) { - case DEVICE_LITTLE_ENDIAN: - stw_le_p(ptr, val); - break; - case DEVICE_BIG_ENDIAN: - stw_be_p(ptr, val); - break; - default: - stw_p(ptr, val); - break; - } - invalidate_and_set_dirty(mr, addr1, 2); - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); + glue(address_space_stm_internal, SUFFIX)(ARG1, MO_16, addr, val, + attrs, result, endian); } =20 static inline void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) { - uint8_t *ptr; - MemoryRegion *mr; - hwaddr l =3D 8; - hwaddr addr1; - MemTxResult r; - bool release_lock =3D false; - - RCU_READ_LOCK(); - mr =3D TRANSLATE(addr, &addr1, &l, true, attrs); - if (l < 8 || !memory_access_is_direct(mr, true, attrs)) { - release_lock |=3D prepare_mmio_access(mr); - r =3D memory_region_dispatch_write(mr, addr1, val, - MO_64 | devend_memop(endian), att= rs); - } else { - /* RAM case */ - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - switch (endian) { - case DEVICE_LITTLE_ENDIAN: - stq_le_p(ptr, val); - break; - case DEVICE_BIG_ENDIAN: - stq_be_p(ptr, val); - break; - default: - stq_p(ptr, val); - break; - } - invalidate_and_set_dirty(mr, addr1, 8); - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); + glue(address_space_stm_internal, SUFFIX)(ARG1, MO_64, addr, val, + attrs, result, endian); } =20 #define ENDIANNESS --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765071; cv=none; d=zohomail.com; s=zohoarc; b=W4C6bJN4HgH4J5MPaHwwOXpx2HWBP8KATSRuX88vunTnCz5iqv1qkkTs4r30dgZ3uct/Qsy7M30L/fXdtxD7kAbDSaR1YWx64j3L6pmXX2c80N31RciYTwbu1oLTIodHAiXJZ8/To/3Muw/Gm/IeIvEX/JF8SCwYbBsnyW1omks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765071; 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=Uu0YsdTBGNvRl7GKd0ROR30NB9/cvkxUZHZEthSPaaE=; b=ZvSHgjtqmkPiP+kG+qmFaYVhNrfGxDUiGSKdJcMIkgRtClViUl/qtEVJwadaEWJmsqAUT7UoRz2L/6bDixeT86UjZywtkeqJ/SoKtB9m5G641evEjUyXLJnl7moWmJykTycavq65A8x2TsrhDzrbPGthYgudR4Pw1O5j1eriD+c= 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 1768765071953282.8608974521678; Sun, 18 Jan 2026 11:37:51 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYaS-0007RC-Ge; Sun, 18 Jan 2026 14:37:26 -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 1vhYZQ-00066g-DF for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:20 -0500 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYZN-0006kg-IB for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:20 -0500 Received: by mail-wm1-x341.google.com with SMTP id 5b1f17b1804b1-47ee9817a35so18945085e9.1 for ; Sun, 18 Jan 2026 11:36:15 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4356992681esm18600150f8f.11.2026.01.18.11.36.12 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764974; x=1769369774; 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=Uu0YsdTBGNvRl7GKd0ROR30NB9/cvkxUZHZEthSPaaE=; b=XBzRsqoeHKREtRz50/zK6cgUPNZCYxOwGGffInBb+xTwdTk5Ipda4XyqeyW/JKrhaQ XXrY/VDRcnFC/uCCMMulcPYCBZhAIAmyQywYZfnetGiQQ8Su1iFY3gqGOWGXUU7wR/rh NYiTTklI0tFQSgMmWZmT52LBKHj3W4hoxODgE3Lc6vS2vfuaP/7euMP+AA7lXxZ5f1m9 XFlG9vGYVIxoWAf4FMk/DQpRRqBSTG0bScZ0Kxkq56Mzk7+VrhD6KDohxQgMgbn5GyOJ +2cr+yBpajfsDxJRFCnaec02S/tFIRYWHKZ+JIIrYA7Yrphww3S7TPaEwyr0+GuTEsKe Evaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764974; x=1769369774; 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=Uu0YsdTBGNvRl7GKd0ROR30NB9/cvkxUZHZEthSPaaE=; b=oo0oVhX3B9zzs/xXBO8SDBxKuUvr5npV3Vj7+zNVRl9IovaTGBAYEo4/pDPASGlzdf 7HzrheT4rrLFTYeyifj9obBOo144cEkHm7dIPW0mdITT/4HrnxpfLxaDrC5zYjUF3Jfq ZaQOAMZ0OBL28y9W8hB8str8RPUfRNLOzfTuuBIpVH0qBZ7/ugw7Sqo8YSKzjd0Eo7nc dIi/L0V/02W09kON2paGy9Hvw1gSIcdeshBcPI9bOlwhn7V4HoAHCDrUF1jrMwII+Aw6 3H6m1kjG5VcBSIdOddVznyXLuGp6lkmADqkoSxAgxCnRMyYI86nDni6Z13JWgcXow9jZ eMug== X-Gm-Message-State: AOJu0Yx+j+fOmQtHLAxCIpyVlDuOGh4/Eb2zwu/VUP+o1QcEKUmN5NFp JV5w6WRZ5pT/6oPACK7iA0fA4SUIz1hHfWWvFfgmxuY8+yPjkCZ343kjqP4+vlZzPfzR1UCaW+s 1ri2Xz0tPSQ== X-Gm-Gg: AY/fxX6EBaUhEQxp8MmP/0QJD6yzVCKe1NqBqzt/K/EZ5LY7VJf8S5U84Ki/OZHO3e4 idDKhrJc90A765e2X2kZN9S4ZEnq3XxaQdRFeiyEn0fCPws0U0x4SWIzdGV74mCPTFs/twBcE+9 zxJ0aQgqVWsWICrYCV0bZnsGtxDJJjzOMBU7OVYWylo+E9t0YiG57g5Wj/8xgyBYlbTzcAFSluI 463LTRp46tyJebfvSA1yY+B55SWsFcOB45J0lGcyD6eJr4qN0UaQ42GfQaoU/L0o6EagwhzMMWp 8v+06pBUw6iG9h0yxfF9ypYF5sqeosPc3PIo0HsJpxGTdhQa5BRwF6gRL379pju0gGgXWZ3sLyE 6aDca7ZcBeENiu3OwJ2PRs/aKm+ReyyKKtPDJjR26ejM81Yp4T9mZJVfNnras9P+TXExSVtFAQw mdv2WyPavrDXFZI4O3SpaHZ5mvw7bCtVfoFqGEDOkrEZz0P7lSvEcg1A4gyqyM X-Received: by 2002:a05:600c:821a:b0:480:3338:292d with SMTP id 5b1f17b1804b1-480349dfa72mr10807075e9.31.1768764973903; Sun, 18 Jan 2026 11:36:13 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 09/18] system/memory: Pass device_endian argument as MemOp bit Date: Sun, 18 Jan 2026 20:34:59 +0100 Message-ID: <20260118193509.42923-10-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::341; envelope-from=philmd@linaro.org; helo=mail-wm1-x341.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: 1768765073265158500 Use the MemOp argument to hold both the access size and its endianness. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/memory_ldst.c.inc | 86 ++++++++++++--------------------- system/memory_ldst_endian.c.inc | 26 +++++----- 2 files changed, 44 insertions(+), 68 deletions(-) diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index 39b3930bf50..5c8299e0cdc 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -24,8 +24,7 @@ static inline uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_DECL, MemOp mop, hwaddr addr, MemTxAttrs attrs, - MemTxResult *result, - enum device_endian endia= n) + MemTxResult *result) { const unsigned size =3D memop_size(mop); uint8_t *ptr; @@ -42,22 +41,15 @@ uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_= DECL, MemOp mop, release_lock |=3D prepare_mmio_access(mr); =20 /* I/O case */ - r =3D memory_region_dispatch_read(mr, addr1, &val, - mop | devend_memop(endian), attrs); + r =3D memory_region_dispatch_read(mr, addr1, &val, mop, attrs); } else { /* RAM case */ fuzz_dma_read_cb(addr, size, mr); ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - switch (endian) { - case DEVICE_LITTLE_ENDIAN: + if ((mop & MO_BSWAP) =3D=3D MO_LE) { val =3D ldn_le_p(ptr, size); - break; - case DEVICE_BIG_ENDIAN: + } else { val =3D ldn_be_p(ptr, size); - break; - default: - val =3D ldn_p(ptr, size); - break; } r =3D MEMTX_OK; } @@ -73,37 +65,33 @@ uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_= DECL, MemOp mop, =20 /* warning: addr must be aligned */ static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result, - enum device_endian endian) + MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_32, addr, - attrs, result, endian); + return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_32, add= r, + attrs, result); } =20 /* warning: addr must be aligned */ static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result, - enum device_endian endian) + MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_64, addr, - attrs, result, endian); + return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_64, add= r, + attrs, result); } =20 uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *re= sult) { return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_8, addr, - attrs, result, - DEVICE_NATIVE_ENDIAN); + attrs, result); } =20 /* warning: addr must be aligned */ static inline uint16_t glue(address_space_lduw_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result, - enum device_endian endian) + MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return glue(address_space_ldm_internal, SUFFIX)(ARG1, MO_16, addr, - attrs, result, endian); + return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_16, add= r, + attrs, result); } =20 /* warning: addr must be aligned */ @@ -111,8 +99,7 @@ static inline void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL, MemOp mop, hwaddr addr, uint64_t val, MemTxAttrs attrs, - MemTxResult *result, - enum device_endian endian) + MemTxResult *result) { const unsigned size =3D memop_size(mop); uint8_t *ptr; @@ -126,21 +113,14 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DE= CL, MemOp mop, mr =3D TRANSLATE(addr, &addr1, &l, true, attrs); if (l < size || !memory_access_is_direct(mr, true, attrs)) { release_lock |=3D prepare_mmio_access(mr); - r =3D memory_region_dispatch_write(mr, addr1, val, - mop | devend_memop(endian), attrs= ); + r =3D memory_region_dispatch_write(mr, addr1, val, mop, attrs); } else { /* RAM case */ ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - switch (endian) { - case DEVICE_LITTLE_ENDIAN: + if ((mop & MO_BSWAP) =3D=3D MO_LE) { stn_le_p(ptr, size, val); - break; - case DEVICE_BIG_ENDIAN: + } else { stn_be_p(ptr, size, val); - break; - default: - stn_p(ptr, size, val); - break; } invalidate_and_set_dirty(mr, addr1, size); r =3D MEMTX_OK; @@ -156,48 +136,44 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DE= CL, MemOp mop, =20 /* warning: addr must be aligned */ static inline void glue(address_space_stl_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, - MemTxResult *result, enum device_endian endian) + MemOp mop, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *r= esult) { - glue(address_space_stm_internal, SUFFIX)(ARG1, MO_32, addr, val, - attrs, result, endian); + glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_32, addr, val, + attrs, result); } =20 void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result) { glue(address_space_stm_internal, SUFFIX)(ARG1, MO_8, addr, val, - attrs, result, - DEVICE_NATIVE_ENDIAN); + attrs, result); } =20 /* warning: addr must be aligned */ static inline void glue(address_space_stw_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, uint16_t val, MemTxAttrs attrs, - MemTxResult *result, enum device_endian endian) + MemOp mop, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *r= esult) { - glue(address_space_stm_internal, SUFFIX)(ARG1, MO_16, addr, val, - attrs, result, endian); + glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_16, addr, val, + attrs, result); } =20 static inline void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL, - hwaddr addr, uint64_t val, MemTxAttrs attrs, - MemTxResult *result, enum device_endian endian) + MemOp mop, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *r= esult) { - glue(address_space_stm_internal, SUFFIX)(ARG1, MO_64, addr, val, - attrs, result, endian); + glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_64, addr, val, + attrs, result); } =20 #define ENDIANNESS -#define DEVICE_ENDIANNESS DEVICE_NATIVE_ENDIAN +#define MO_ENDIAN (target_big_endian() ? MO_BE : MO_LE) #include "memory_ldst_endian.c.inc" =20 #define ENDIANNESS _le -#define DEVICE_ENDIANNESS DEVICE_LITTLE_ENDIAN +#define MO_ENDIAN MO_LE #include "memory_ldst_endian.c.inc" =20 #define ENDIANNESS _be -#define DEVICE_ENDIANNESS DEVICE_BIG_ENDIAN +#define MO_ENDIAN MO_BE #include "memory_ldst_endian.c.inc" =20 #undef ARG1_DECL diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.= inc index 791d041b15d..9cf36017135 100644 --- a/system/memory_ldst_endian.c.inc +++ b/system/memory_ldst_endian.c.inc @@ -22,43 +22,43 @@ uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return ADDRESS_SPACE_LD_INTERNAL(uw)(ARG1, addr, attrs, result, - DEVICE_ENDIANNESS); + return ADDRESS_SPACE_LD_INTERNAL(uw)(ARG1, MO_ENDIAN, + addr, attrs, result); } =20 uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return ADDRESS_SPACE_LD_INTERNAL(l)(ARG1, addr, attrs, result, - DEVICE_ENDIANNESS); + return ADDRESS_SPACE_LD_INTERNAL(l)(ARG1, MO_ENDIAN, + addr, attrs, result); } =20 uint64_t ADDRESS_SPACE_LD(q)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return ADDRESS_SPACE_LD_INTERNAL(q)(ARG1, addr, attrs, result, - DEVICE_ENDIANNESS); + return ADDRESS_SPACE_LD_INTERNAL(q)(ARG1, MO_ENDIAN, + addr, attrs, result); } =20 void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) { - ADDRESS_SPACE_ST_INTERNAL(w)(ARG1, addr, val, attrs, result, - DEVICE_ENDIANNESS); + ADDRESS_SPACE_ST_INTERNAL(w)(ARG1, MO_ENDIAN, + addr, val, attrs, result); } =20 void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result) { - ADDRESS_SPACE_ST_INTERNAL(l)(ARG1, addr, val, attrs, result, - DEVICE_ENDIANNESS); + ADDRESS_SPACE_ST_INTERNAL(l)(ARG1, MO_ENDIAN, + addr, val, attrs, result); } =20 void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result) { - ADDRESS_SPACE_ST_INTERNAL(q)(ARG1, addr, val, attrs, result, - DEVICE_ENDIANNESS); + ADDRESS_SPACE_ST_INTERNAL(q)(ARG1, MO_ENDIAN, + addr, val, attrs, result); } =20 #undef ADDRESS_SPACE_LD @@ -67,4 +67,4 @@ void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_t= val, #undef ADDRESS_SPACE_ST_INTERNAL =20 #undef ENDIANNESS -#undef DEVICE_ENDIANNESS +#undef MO_ENDIAN --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765089; cv=none; d=zohomail.com; s=zohoarc; b=IUXzoVvBlxISyEndt6N8bfot9spJQe5jpw14bXvbWpJIWCXf4GnzIqQHZZejqRt7X1zW8MxOIxzhBEI6qglQdtpZibz5QlxVvftUdEBFu9/pEI/2mP0/LhAmV32zlklNWnB3eZMCw30BqLQuon5Mli9YW5lO/CCqnfmVvuP6QEI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765089; 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=RRVd3/fIp9XGWnatHHkuG/q29nD05xPL4cBPZy1sqvs=; b=hYjKAhQmcubDVAoPlbHvTBryJpJ7vkyZCCWfj8Ze3oo5Lsut74mb2p+npx4NnTVCXtwq2kTza7PDDQK2vpgP3BYuJsgtGxdLuMZ8l4AanCHpAtI1OJ2PsgKGy0WxCFSLNo92rKb9fQhtyeoK+LmWD6VZ+1ZlyA/YeY1cy3GoOVc= 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 1768765089310902.2853807204932; Sun, 18 Jan 2026 11:38:09 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYar-0007w9-8z; Sun, 18 Jan 2026 14:37:51 -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 1vhYZV-0006FZ-1i for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:26 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYZS-0006lu-Nn for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:24 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-47fedb7c68dso23618555e9.2 for ; Sun, 18 Jan 2026 11:36:22 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801e879542sm159776465e9.4.2026.01.18.11.36.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764981; x=1769369781; 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=RRVd3/fIp9XGWnatHHkuG/q29nD05xPL4cBPZy1sqvs=; b=dtm8OBltM8Z7XtRIFXvi3XwGlBUJYt6S1YQz7ixUQ3rSOHSnkzib5nLaULRCbTiv1C l7kxrnQ3uHzFOAlunJlHmTwDuxp/3Ad0KCPLv9YtGyywwDsBkz+74BGzR8U+UtYj435E BZDEe5LVEXHKm7M3tI2CS+pckJkT2fZzqxJbkQULlOi/DL+364dHnQcMqI0uh8Zd47Lj JE3dXEo/Xme/8TlQRAIBfkYTxZrnYrNNu+mC3kQHMmxiVMxnJGu8y3ArixKJEI01v9OS f1MdrJtHJOvYBjueSYfhk5f0zaby+7uXtLrxY9smzZHte3FWTDiKQwtaUo5IRH46hxRP YElA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764981; x=1769369781; 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=RRVd3/fIp9XGWnatHHkuG/q29nD05xPL4cBPZy1sqvs=; b=Nt/w4tLrWIE+4ACmTqOLuBkCpQlpB2Wxu8/IaFfHm9TtPHSNxAxb6cnjTz1A/l2wxK ionUmXt94U12Qkno0inMrxRRFNwW02J+JwYN2Sfl7VoaLVcXPLNJLwZZvSE2nxWC9jcM hEdxrrnh0yIvmFs3IAvIO18mxvqJGwJypOoZ+J0WmrEMeHkYc40z5r2EF+5e05bXZnp6 rM5nmh0xdsYANT29g0rbk+892TZhk/r9/aGpJqnyBOaaZdkE+LYIfAe/iZ54k0DcFkuL lM0GqhjSJbSomqTd9fr0/YArxNPkt0n8DLNWT9Mu1RF/wII4kiO0mTneESyYQvsojQmU NFyA== X-Gm-Message-State: AOJu0Yx9jci/3lO3jLIOvnlD3CM5v5ZxY05EzdTxAVZVG7YHJWwIo8e0 QH+FAqTYWjeIJyUINB36HVHwVzJrqfFOf0VUV10t+djR+PQu7kfACNIE/4SLvPz1F/H1JWSCj2i bbd3TLoo= X-Gm-Gg: AY/fxX5e5GdXd1gWG14Q+qLf7YrM4CwQnSW2quFETK+130YAZ5X6oYp+Vor8ONubZ1d P2lJrZBf3B51eM9zbj20EkzPSL7QqrPalKlnWwgpvF5EtRNirnbHGOuU1Wbq4Yk26Y0+P3t7wxU L8GnKni3Y4ObegDH38siI+3nbNmmWnGOPJ8CiDac96cbgu2Rwnfed2EViguOeysD9bqzhkjmz9b u5cwaekWl+V5ZCqXjj4u8AXje4ITks40l7hJyeiS+Gp38gjTlsM0V6FV0WJdYMsC2U7MvsABJ2j oBAd3UWW+iGiLkZDM/g6eDp8I2ExtCTlk8ev0hZjUM/jJ4kDmYCL9BHr0a1FHhcFjqaRfPcYbQr 4GqXDrzTfyZvnq0fqkjEwg7IADtTMdVdfHgilouUOPehwzJruQvAJBLvqeSu6mFQyDnPJFtC3eh kfg/421CtkaaJeuUn/mDODAy3bAmhiC0DSBcVhwkgO+AnbM8A6CHZzOK21O3Zj X-Received: by 2002:a05:600c:4745:b0:479:2f95:5179 with SMTP id 5b1f17b1804b1-4801e30fae9mr120940615e9.15.1768764980873; Sun, 18 Jan 2026 11:36:20 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 10/18] system/memory: Use ldm_p() and stm_p() helpers Date: Sun, 18 Jan 2026 20:35:00 +0100 Message-ID: <20260118193509.42923-11-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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: 1768765091211158500 address_space_{ld,st}m_internal() take a MemOp argument so can directly use the {ld,st}m_p() helpers. Suggested-by: Paolo Bonzini Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/memory_ldst.c.inc | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index 5c8299e0cdc..d51c5feddf7 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -27,7 +27,6 @@ uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_DE= CL, MemOp mop, MemTxResult *result) { const unsigned size =3D memop_size(mop); - uint8_t *ptr; uint64_t val; MemoryRegion *mr; hwaddr l =3D size; @@ -45,12 +44,7 @@ uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_D= ECL, MemOp mop, } else { /* RAM case */ fuzz_dma_read_cb(addr, size, mr); - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - if ((mop & MO_BSWAP) =3D=3D MO_LE) { - val =3D ldn_le_p(ptr, size); - } else { - val =3D ldn_be_p(ptr, size); - } + val =3D ldm_p(qemu_map_ram_ptr(mr->ram_block, addr1), mop); r =3D MEMTX_OK; } if (result) { @@ -102,7 +96,6 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL,= MemOp mop, MemTxResult *result) { const unsigned size =3D memop_size(mop); - uint8_t *ptr; MemoryRegion *mr; hwaddr l =3D size; hwaddr addr1; @@ -116,12 +109,7 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DEC= L, MemOp mop, r =3D memory_region_dispatch_write(mr, addr1, val, mop, attrs); } else { /* RAM case */ - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - if ((mop & MO_BSWAP) =3D=3D MO_LE) { - stn_le_p(ptr, size, val); - } else { - stn_be_p(ptr, size, val); - } + stm_p(qemu_map_ram_ptr(mr->ram_block, addr1), mop, val); invalidate_and_set_dirty(mr, addr1, size); r =3D MEMTX_OK; } --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765085; cv=none; d=zohomail.com; s=zohoarc; b=dZnSqMNTwXvXSSx3Nk3WkCYO2BtYaFiVwFh+wcTQ58qEarnOZ4j1e+uYVn6Q2JUOXPz3XxUnQ9tK4FeNgkh5mTZUCkwosVi+EzpXsVNFaCh4m+2IeZ/Hcv+VvY3Cn3aphgbIaPKF2dcsAeN/DiIMrlnvDziUYYi7kLipYjaJn2k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765085; 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=y4SqeZxl5HqhEizpE5MaSMKz3/wkRaflVH0M8Y28zmg=; b=R2M5+XoqqxINQu1RvOIkQ3VGzBSPh5rD88YOO1AMI9GAaE389LlvOx1Cjxe8cK40C/2BYvmdJMuWcaChwTiLwiOsyGwkOMQOs2IphpvrLXCo/hTM/v9mHOw/0qeJVO1gqh7Z4YlHhelrgnqxlyiuMspwzOy26zwG1eBTVIP+MAE= 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 1768765085017280.0827198911994; Sun, 18 Jan 2026 11:38:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb1-0008Q8-IK; Sun, 18 Jan 2026 14:37:59 -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 1vhYZe-0006Vk-OR for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:38 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYZa-0006mW-Gt for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:33 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4801d98cf39so13845925e9.1 for ; Sun, 18 Jan 2026 11:36:29 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801e86c197sm156490585e9.1.2026.01.18.11.36.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764988; x=1769369788; 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=y4SqeZxl5HqhEizpE5MaSMKz3/wkRaflVH0M8Y28zmg=; b=SrciQ54MG8qeDHrrFLwDPHy4bgqT970Bo4zeHHix4GyqK9MQwmA+4wZ91q2YE/BajU SI7BrKYlCctY7qSR93aeQbs0TAil+EGnDyyuB6jcNVC7KiT37XUFL1Hw2kPhKClIilye uQbm9G8dM37BOdRLH6HkzD4acYO3yZMdYiH5MkpZrWKIRpSSAS5nVzoZRuirZoveMfFO /a3BxPTzpY84aiXukCW50tXt5RTodmS1KFKWIwXbdlEtMF9w6ewtn/vAvzBN9jdDNYrK i67ox02J8rbRAz9iTbkfPfLJlDh0/WihKAHWXMPEQQfKk94zSARR7kLvvpRgl97+/IC9 Q3ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764988; x=1769369788; 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=y4SqeZxl5HqhEizpE5MaSMKz3/wkRaflVH0M8Y28zmg=; b=D53S9vKhef9004MgQDOiLfAqCXbmkB0ZmH7BX8MrhtW9ervR5SxbPRIcPvfz6isvB5 larsDbT7r4MiISR8mU4K/UsTbdTb6F2YZrozcCNC/zF+T8flsgAcedRG7CdCkkEWVr7d PwKZ/LnqZ/7S887ViL3CgatEo3NAhyXjwWkfwAQXtN4CE687Fl19gF5eddkPB5txFQdM 8sASHlRM9k4bA+twQOiZbRvw/x/OaHpyoHQ46nqPCMjptKEw4prWJAZ+TbG8nIkhu2P/ MwoxRSMAqztXi/1foFekrcMNXMwdZn5Zstj7KE/eov2M6ShugAGDh+y4rO2In6wm/fVr Qn4Q== X-Gm-Message-State: AOJu0YxUMs6vKdXcdnoV9b0dfUDZA2rqv+5szkAuonSSSOLkcaDuFNsn +M9G38zm7BJlJ2e1M6novEKnRXA5LYw6u1onoHHdldlFpzPdzFZgkShqmnu7b6Ud0GstniCcH8f G3xvIKGs= X-Gm-Gg: AY/fxX40SilcTczdDOeTaJUIcdHaIBZ6ziuRdcjaMr7Cqk+sD9p5nmZU+wly4Az8QU9 geQadxxSQ0TKyYE5az8EpMhZdtwmDZ8GAE/SLTQSG7Y/F0wis+4V1pmWFuUgBa+vGK5SxQYLFja mclbhcZ92Db/f7TjjOepp1yQLURcVyEQtYvy0OnNI0kTM9K1RGANgcBM6f0xPGtZRB5jE/TcIh6 OCSRuNgvDN0kXdvKDwlSHdi+oIH3NbzmOMh6/BL1ectTQ7jj2eb3v8CliD4f6Xrk76+2CHgEPLd fsHTlCHYPgTuqjaYBnY0VJGwXUOgq0uyka1uCpulh21jdSOeBFtQU9l/7omt+y/W1PoU3dafL9X zZtAi82hOSMZ4a59hkuKXn0tj5W8vtWeH9070wJ9+STQ/HJdLklweamCHtbvRF3ksP+pVZV0O6d q+fFrcIS0CvwdhElw1280u05U64TWknhQDkwHvzET6AmoNqQGbAD17+/12kz9Y X-Received: by 2002:a05:600c:37cc:b0:480:1b65:b741 with SMTP id 5b1f17b1804b1-4801eac97b9mr109494195e9.15.1768764987621; Sun, 18 Jan 2026 11:36:27 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 11/18] system/memory: Directly call address_space_ldst[M]_internal() helper Date: Sun, 18 Jan 2026 20:35:01 +0100 Message-ID: <20260118193509.42923-12-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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: 1768765087174158500 Inline internal address_space_ld/st[L,D,Q] helpers, directly calling address_space_ldst[M]_internal(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/memory_ldst.c.inc | 47 --------------------------------- system/memory_ldst_endian.c.inc | 12 ++++----- 2 files changed, 6 insertions(+), 53 deletions(-) diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index d51c5feddf7..ebb441f1a66 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -57,22 +57,6 @@ uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_D= ECL, MemOp mop, return val; } =20 -/* warning: addr must be aligned */ -static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL, - MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_32, add= r, - attrs, result); -} - -/* warning: addr must be aligned */ -static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL, - MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_64, add= r, - attrs, result); -} - uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *re= sult) { @@ -80,14 +64,6 @@ uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwad= dr addr, attrs, result); } =20 -/* warning: addr must be aligned */ -static inline uint16_t glue(address_space_lduw_internal, SUFFIX)(ARG1_DECL, - MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_16, add= r, - attrs, result); -} - /* warning: addr must be aligned */ static inline void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL, MemOp mop, @@ -122,14 +98,6 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL= , MemOp mop, RCU_READ_UNLOCK(); } =20 -/* warning: addr must be aligned */ -static inline void glue(address_space_stl_internal, SUFFIX)(ARG1_DECL, - MemOp mop, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *r= esult) -{ - glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_32, addr, val, - attrs, result); -} - void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result) { @@ -137,21 +105,6 @@ void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr= addr, uint8_t val, attrs, result); } =20 -/* warning: addr must be aligned */ -static inline void glue(address_space_stw_internal, SUFFIX)(ARG1_DECL, - MemOp mop, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *r= esult) -{ - glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_16, addr, val, - attrs, result); -} - -static inline void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL, - MemOp mop, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *r= esult) -{ - glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_64, addr, val, - attrs, result); -} - #define ENDIANNESS #define MO_ENDIAN (target_big_endian() ? MO_BE : MO_LE) #include "memory_ldst_endian.c.inc" diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.= inc index 9cf36017135..fb933de11f8 100644 --- a/system/memory_ldst_endian.c.inc +++ b/system/memory_ldst_endian.c.inc @@ -22,42 +22,42 @@ uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return ADDRESS_SPACE_LD_INTERNAL(uw)(ARG1, MO_ENDIAN, + return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | MO_16, addr, attrs, result); } =20 uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return ADDRESS_SPACE_LD_INTERNAL(l)(ARG1, MO_ENDIAN, + return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | MO_32, addr, attrs, result); } =20 uint64_t ADDRESS_SPACE_LD(q)(ARG1_DECL, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { - return ADDRESS_SPACE_LD_INTERNAL(q)(ARG1, MO_ENDIAN, + return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | MO_64, addr, attrs, result); } =20 void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) { - ADDRESS_SPACE_ST_INTERNAL(w)(ARG1, MO_ENDIAN, + ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | MO_16, addr, val, attrs, result); } =20 void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result) { - ADDRESS_SPACE_ST_INTERNAL(l)(ARG1, MO_ENDIAN, + ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | MO_32, addr, val, attrs, result); } =20 void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result) { - ADDRESS_SPACE_ST_INTERNAL(q)(ARG1, MO_ENDIAN, + ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | MO_64, addr, val, attrs, result); } =20 --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765097; cv=none; d=zohomail.com; s=zohoarc; b=Oco7gWPqQvmOSIfisDnIsFJJyT3TegY3u6YLxvMM3gZqThF3WLMpjuLxXGwapCK5pvfHRp5N+jPDWGWwK8zpmPXPaMetiYzp0sgatFCotFkMCFWlddNjtK25qQb9s81gulmubPAkx/b9NouWGuE8LG6XcvKGs2AiukbaPn+kimg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765097; 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=X3ZoIJR3OjEuiKDmyBptqH1tgWzQzhR33On1g0jSsHA=; b=ArL3hBCHeDmBQqxuHZZnuiZT/poO1NWCLNIExnzrJiBHZNBjmd760yjDww0gJoM7LRvkkhsyn1HNFsGJneJQCsH7rsV8uRXh6XAN+9I/2WHRJEsOo8DOgkuxFn2IgVFByrlTuw/FYwoLdKfCFMiNP9uDX5CKchMR2rDAdeQ/lZM= 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 1768765097949175.1434831861609; Sun, 18 Jan 2026 11:38:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb3-0000Kq-HC; Sun, 18 Jan 2026 14:38:01 -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 1vhYZk-0006aG-FJ for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:40 -0500 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 1vhYZh-0006rP-Il for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:39 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-47d1d8a49f5so21974645e9.3 for ; Sun, 18 Jan 2026 11:36:36 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4356996d02dsm18707790f8f.23.2026.01.18.11.36.33 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768764995; x=1769369795; 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=X3ZoIJR3OjEuiKDmyBptqH1tgWzQzhR33On1g0jSsHA=; b=lkOpu1/vzmnfnPyp07+jX95k1TwVkWKR3Jef3A8sXbROGM1f4ucilatXXiifTV2sdb 7+BJzE7TY5cPDYNvzab04yXucV5J5/xr+Zfs7dLg2L4ewsoFm4HO/hccgBAhv6VepjMp CtsAkNktu5oGmPwIe/NA11OOMlYjbjT2CcT3g0QZ1EQ4VpDv2IkJvLQPYGm+OAU2P3iJ 7HcHYBwsnKTV1nYeRfOvQeUCL7YJnrqsGXSpFLkU8ZvENUuxFCbLNs4d4RpWn9qgKKVK LCKvLA0PIyytRHqH3g0Fyb4qas42NXR8O6IZOxsVzkSVc9bBhRpUM1peB7VBiOKpri69 htXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768764995; x=1769369795; 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=X3ZoIJR3OjEuiKDmyBptqH1tgWzQzhR33On1g0jSsHA=; b=sFNak6/JvhwJShHvhkLBapuYFPFRNQwTKoHLMLag0BSOxABhpXMryBMugyUYduOu1E B38TYKygM09QtVHZOVlHx20fxLkIRgr28EPC0GV8rlE+WZE6Ft5FosBQMpgXVdv9Eu+I 3IM0J/kBg0KlpdjqS17sE8R1jOlzBcsIzarbdntuIHg1WVJHJoKdJ2J7ChC5dIbVvcDf fTF2SQaS0XHnu9dNnQ3ITq7VHLIhEAHvizhOTii/Mt128fT8zp57ur7D4MK30uSG/3X9 0craBLnjKaEMFP4/aS4Cyuz/h4x/9P1PAoFY73brihTRSSQy6KZly2W93rB736hwxaIY R+ng== X-Gm-Message-State: AOJu0YwF7S6ur+sR56svIjN+g1SAUkUBh0M2LWfbA7zB4hE255j4rcve EcrDiRcdfUpOJS64qMqZYl3zSeKIW6jkrlqq309aHOquabdL3ahCLsjiVS1VTHyl1wVp//KibuS N0JwCwU8= X-Gm-Gg: AY/fxX5x1J6TkpI+tLzC9e+D8dx9EA9ThCaxqs6UPqYcPmlR640us7odjd3GRzvMF/7 I4qsHmtkpswcv5pioxlX4b6BI861DZFACr4irGohkGgFYmBm7Jka51V7or6VECzu1wYYmJtNfpc nDicuPID2jS2KtWtn7fchNdCDRMvxzKUbU4qqRCbpSdpNXAMkAO3yU4m/W3Vs47YMtD2fU3Ac8a D2vC4DCHgtNUfgKDU/OoRZd48GYkO3I0SkXBl7Hg04NMM1y7CjfRBrmoS/alewxpfiehdub3Rxn wGJp5S//e9u+pVtfKZ6Pr2b8jfRRr6tBdsfP1k65RbXGRA5Yk+E2LPSSoJRp8aMMMsi0k4E3hHm xahb9ywqdGvBMsTo7KZO45Ia9eDaMnSRdZcaq484x/JDo0HXIU5w4troVuzERsPQiDyBzCUS1VK KzGt85hbDXs+igshr/MDupl3sHdmzTghjPNQ1HSCiMLHY+kb2Akcc/phMhFTc4 X-Received: by 2002:a05:600c:4e43:b0:471:700:f281 with SMTP id 5b1f17b1804b1-4801e34835amr110514955e9.25.1768764994567; Sun, 18 Jan 2026 11:36:34 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 12/18] system: Allow restricting the legacy ld/st_phys() 'native-endian' API Date: Sun, 18 Jan 2026 20:35:02 +0100 Message-ID: <20260118193509.42923-13-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765099154158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Since all targets can check the definition, do not poison it. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Reviewed-by: Richard Henderson --- include/system/memory_ldst_phys.h.inc | 2 ++ scripts/make-config-poison.sh | 1 + 2 files changed, 3 insertions(+) diff --git a/include/system/memory_ldst_phys.h.inc b/include/system/memory_= ldst_phys.h.inc index f4c91dc7a91..66bbd3061c2 100644 --- a/include/system/memory_ldst_phys.h.inc +++ b/include/system/memory_ldst_phys.h.inc @@ -31,8 +31,10 @@ static inline void glue(stb_phys, SUFFIX)(ARG1_DECL, hwa= ddr addr, uint8_t val) MEMTXATTRS_UNSPECIFIED, NULL); } =20 +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #include "system/memory_ldst_phys_endian.h.inc" +#endif /* TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API */ =20 #define ENDIANNESS _le #include "system/memory_ldst_phys_endian.h.inc" diff --git a/scripts/make-config-poison.sh b/scripts/make-config-poison.sh index 937357b3531..b4d61e8bc9e 100755 --- a/scripts/make-config-poison.sh +++ b/scripts/make-config-poison.sh @@ -11,6 +11,7 @@ exec sed -n \ -e '/CONFIG_USER_ONLY/d' \ -e '/CONFIG_SOFTMMU/d' \ -e '/TARGET_NOT_USING_LEGACY_LDST_PHYS_API/d' \ + -e '/TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API/d' \ -e '/^#define / {' \ -e 's///' \ -e 's/ .*//' \ --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765084; cv=none; d=zohomail.com; s=zohoarc; b=CRNwgeWkOoMt6RIWOrarbAjeocbXZw2rErGavQ5xdbGrDP/wrBJFLYZGJHoFXNiQBQIImW9qbxeCK+IbIZoIEdUURRLhd5YF5mECS5/Qaf22BifHvZPrF5zxmuSnQeX+hEO9zuMPC8wVEfAcSqXP9rWbu+ySTnHnfGri4REyvKY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765084; 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=m7nwKohwrUhcs5GBd6WgjNcDHff3KfVrztRvD4pmA+o=; b=k2gnFrewZaP9g+eEjoVQjVAC3JKNN0vBEVAIHFE95rF5d9OhOSYxLc3I5rTdA/EU8+Yu5y1z5f4Efqtz2R8lKca4QeS4QnmHknEv7395SGNHxRSf3PCUiud6c7kFQy6ynnfYtpc2WsPGsapdDiZyZ4PzV2VyWXbe9Ov4YZYh/cE= 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 1768765084988471.29684574891223; Sun, 18 Jan 2026 11:38:04 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb1-0008QJ-KA; Sun, 18 Jan 2026 14:37:59 -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 1vhYZp-000742-8a for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:46 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYZn-0006sG-JC for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:45 -0500 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-42fb0fc5aa9so1952189f8f.1 for ; Sun, 18 Jan 2026 11:36:43 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4356997ed8bsm18705692f8f.36.2026.01.18.11.36.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768765001; x=1769369801; 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=m7nwKohwrUhcs5GBd6WgjNcDHff3KfVrztRvD4pmA+o=; b=IGfGRwVkEl0KprS1zKjsCfHkLqouJC8xKY2M2lcQofy4ajqkTRJ0HbJRWkc4rWREbJ 1POUfUiRYbfEmRk4u1RSI+0qSmFI9DeBGXkLN/p9t7dzHMBd1Cz7hPyZuNl2j/S3c0dT su9RBCe1a86+cE+TxhESsfkgZnlIT84K7WfticbSUvex4WqOuHNYK5Kap/t+pSjx9Wuq IRu3FIdyLNXThFYCRx6S26eqH7TJWnC6ZVVf9F8Dhf4c3PRxW8/vKw72TUVHBStFb4EU aE4eOcyZZWYpKa4iNrHzzdb57q619sPNYOwD5AYe/GHHiZp2i02BxUsWgGy4e993RsjG iAjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768765001; x=1769369801; 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=m7nwKohwrUhcs5GBd6WgjNcDHff3KfVrztRvD4pmA+o=; b=sGBFkqJG4sZE01yEHel7wCC4DeMxEmGPKdHZyG4Ukk/eYpim3CQrtyba4ysDiuZmu0 U28wd5a3SfdxALjBI+6YqdPy83RF2Gk55tAhmIkU30xHnG0yEDYzGyWKkyIVHjWyUbm9 wWW9Ld3IDUoLRZFWVqrlHSKI+Dp3ye1OZatxpAUlEDjNH+E55i/KFGnjHOnSNzzAIpfb QFBi1dR5Mkb1d+/kMOFMh5KGRxnVwjBLo8GnKGiclU7nC18I+VCuliGtBJU5pT/Uo2Qe gT2qJxjAPgTzRmsLGUg5gUZ+aOigj7kv7yh278bbJIo/sSpwoDu2u3EYkYej0g7rpjZO RIQw== X-Gm-Message-State: AOJu0YwPbyUO9rCoK4J+XJ433ctyxdYtpvRXfZ1spzMOCRXKWNSp2ZmD Xrv56RwS/rWeIYORpqQWDdLDwkORDJJ8N/qFeenyX8zCuFTzgJixnWu3nPFkfuhDCrSmhxUscYM JnTqheAw= X-Gm-Gg: AY/fxX7cuCfd/PcHwL+MPpXDV8kvSlZiozXHY5I3Q+9LZ+rQrd64ZdmPSFzfD7r57ng qwe3fUfHIBgj85qRknXk1LQ68juBRjgB8ICkIg6/CaYg4W/N0L+sqqfvWgawXnzBjdXx4CewAkt XlJkXn97G5P/XhEkImCjkpR5WgY7ZAiRfjkEA7cOfJpHp3Wnk6Uk7oJ53gWHPV9F/Q2yZ2399gy Y+J39vuXf2HpVH4TxbNQAxq8LUSfZ6a/d/pM7k5K49/eYUTsGDoMATrk47BS2GIhzFVl2cnu+JZ XzMxC2bF0jnEOEkfqfsi+OvT0RiJ1+yJNWMYbRClHOrxXKtAum6v4YlAWBKcpo4Pe+yu7U5+cHi hPDyEznUAJhv70YiplR5Ap8ZXJ9dZj411l9oFa/+QoQLzJh79bCrCF6z5GO2ImoPXvMZayHKteC SfxaKdhqvkrcHt2StiyH1PvWy2xWUgKoP9EoNdOR5n3mSrTqJxCSc/pPPtIHhWwz7hv93J7/g= X-Received: by 2002:a5d:5d83:0:b0:431:808:2d58 with SMTP id ffacd0b85a97d-4356a05d583mr11643440f8f.51.1768765001483; Sun, 18 Jan 2026 11:36:41 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 13/18] system: Allow restricting legacy address_space_ldst() native-endian API Date: Sun, 18 Jan 2026 20:35:03 +0100 Message-ID: <20260118193509.42923-14-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.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: 1768765087196158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/memory_cached.h | 2 ++ include/system/memory_ldst.h.inc | 2 ++ system/memory_ldst.c.inc | 2 ++ 3 files changed, 6 insertions(+) diff --git a/include/system/memory_cached.h b/include/system/memory_cached.h index e0ed54bd1eb..6eb6179140b 100644 --- a/include/system/memory_cached.h +++ b/include/system/memory_cached.h @@ -80,8 +80,10 @@ void address_space_stb_cached(MemoryRegionCache *cache, } } =20 +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #include "system/memory_ldst_cached.h.inc" +#endif =20 #define ENDIANNESS _le #include "system/memory_ldst_cached.h.inc" diff --git a/include/system/memory_ldst.h.inc b/include/system/memory_ldst.= h.inc index dd1fb482eac..896550bdd65 100644 --- a/include/system/memory_ldst.h.inc +++ b/include/system/memory_ldst.h.inc @@ -25,8 +25,10 @@ uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result); =20 +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #include "system/memory_ldst_endian.h.inc" +#endif /* TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API */ =20 #define ENDIANNESS _le #include "system/memory_ldst_endian.h.inc" diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index ebb441f1a66..a728b7737c2 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -105,9 +105,11 @@ void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr= addr, uint8_t val, attrs, result); } =20 +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #define MO_ENDIAN (target_big_endian() ? MO_BE : MO_LE) #include "memory_ldst_endian.c.inc" +#endif /* TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API */ =20 #define ENDIANNESS _le #define MO_ENDIAN MO_LE --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765089; cv=none; d=zohomail.com; s=zohoarc; b=Yr0Xi0OnZWfrXbGDWPiS5klOX18BWKZhzMubxQRouCPxrINLNtJuJ+MipxBOLA56f2rJ76FSkc5P8P+aeNf/F/8bfDlBRKq9w/7D3ILI0XpZgJ0sXRUfRkRP5Rvr7XfU+Hf52SKczfSzU7RidogjsNbP+m/7biUSWud/3V8ox4Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765089; 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=ZDayLa9IHiaG4d3i6+piUlKioZqcrfCwHQyt+SfPnIE=; b=EB7Y42bb5gZ4v31opANi2960XCwTV2Ww6E9TTtqP61nDONvlImVlABdqKq7Q5k7jqoN3wG4+WwyyOYpg12xcUuetZx9pYRFEcYO778HZwM3qIsw7d80itTP01aJI2Xac+WR2+Q7WTgZOs3H/fUGs65Stw6zF/GpEHyYoIqAzWR0= 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 1768765089669355.7652706779769; Sun, 18 Jan 2026 11:38:09 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb3-0000MB-PX; Sun, 18 Jan 2026 14:38:01 -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 1vhYaA-0007Dr-9V for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:10 -0500 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 1vhYZv-0006su-Go for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:52 -0500 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-4308d81fdf6so1961769f8f.2 for ; Sun, 18 Jan 2026 11:36:50 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4356992c6f2sm18429221f8f.19.2026.01.18.11.36.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768765009; x=1769369809; 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=ZDayLa9IHiaG4d3i6+piUlKioZqcrfCwHQyt+SfPnIE=; b=E73CLYYU2PKFpdOoULWiO+B7f8X/qXDIQJrwQ2I/tzNyGunyIbynu4uvbbSSpGu+jn 1+NaOu2utNGeUVL9pYgx6Je7jDHXPeFGKXOMiebP2tbkaNHjy7upglOyjvPezly9Hde9 43Aw0A2zTeGNcjUyJW4ffhc8CybJARWnBznJdkkn6Lod2mWFJKTxjFx/vs3cfmU+7LCQ v68kzaiKLOXYgqCjPATm9nkqLanOJFztD1kh+apeycXIRq2cwYCy8XwcoKjIHwGiQ9oC 535hZyoCXHbjGS3mCd6eEcMMkMoEWprJzIC3B8ZENta/AfXLjSMPghK9IeOfiHNQsdb/ NoRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768765009; x=1769369809; 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=ZDayLa9IHiaG4d3i6+piUlKioZqcrfCwHQyt+SfPnIE=; b=Rups0S9N2Krz74ZBWjYbAVjjdTlj6WhYFhnN+uKTAQmTQCQ5ZTOQEtVkodKeNmXoYP i5qkNsqMELO0HXd5kG9NKb0lEUt0jycphbZtTs/V1LO2hCWR3Y5Z2FjeXLagE6bsVj5t xJBLJjjbTKqB23BFz2KeGM8BzBBzb54uO+h9iKEPrwT5/vejjMowxmMCYpBhTmeF4thW ZK7SN7ZE6eeD9xIOCkIdhjZV1OGSAmGlzxRpOMauZAcxUb5S87I6lQBAq1i07a7m3/VB ddnhYZBspd9pxZ522qo9g/apRiAAJg9OQrdJV0carl162fCKZ2kag7/OvidaFAaJ86ck xYWw== X-Gm-Message-State: AOJu0Yx3AY6o5lyK/u/uu/1zMrcRDl7PxCCwnmVtWVNlZ0JGFawsa2rX t2/o94oPC+CVrTByC35rjPnF3u0rSKfYWgTXur9mRfcHywv5Jby1pMzghl8vlV4A0HbLZy0JOBG Bg9i/2jo= X-Gm-Gg: AY/fxX46BModipEUl/6x/cYGGP+/ryVjR8bedp01IzdYANTP7dPKhl+Ri4ZPhz4PgWC 7dA/n0DG0G9IBZB26HvsiO1XbehkkqochAGlq2LQqdQ0cndZF6p78K60q7jviRAkYXGcAqGjvD5 a9GKLYwgHFJnqfeLiDgAgeVo1NV+U6f/aePctKG7NUJRNr1qtEjY//rwOlScVZsCcHTkPvPE9H6 Is9uY/Q1NncZM7cdGUBatro7HMn/jG+kZmrh50PKS2qBRve90A5cwkpUos5fY1Ogu/ofchz7Etb KtkE7FU7pRZuUup67QGwdbiSEYsCJUbBhabarTpmnL+WOh0IBh5Momm7ZYGYUAVcv7IRqlPwGED lUvGraI5gPub5PsFPrr7oC3A0v1KOHHd4WNVCkr6e1L7nPOqxhjz+XvHdm5GJ3JRe68d5JuJIea osLbS/ri+GfsRe6tH4SxYpikLCcxTE0Z+0W3A/eUyZNQDAtTkZaEkeEwr8oRYIbdSKdDZMi4I= X-Received: by 2002:a05:6000:2508:b0:429:b9bc:e81a with SMTP id ffacd0b85a97d-4356991be9amr9446437f8f.0.1768765008790; Sun, 18 Jan 2026 11:36:48 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 14/18] system: Allow restricting the legacy cpu_ld/st() 'native-endian' API Date: Sun, 18 Jan 2026 20:35:04 +0100 Message-ID: <20260118193509.42923-15-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765091202158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/accel/tcg/cpu-ldst.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/accel/tcg/cpu-ldst.h b/include/accel/tcg/cpu-ldst.h index 0de7f5eaa6b..a5711bc15a6 100644 --- a/include/accel/tcg/cpu-ldst.h +++ b/include/accel/tcg/cpu-ldst.h @@ -428,6 +428,7 @@ cpu_stq_le_data(CPUArchState *env, abi_ptr addr, uint64= _t val) cpu_stq_le_data_ra(env, addr, val, 0); } =20 +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #if TARGET_BIG_ENDIAN # define cpu_lduw_data cpu_lduw_be_data # define cpu_ldsw_data cpu_ldsw_be_data @@ -501,5 +502,6 @@ static inline uint64_t cpu_ldq_code(CPUArchState *env, = abi_ptr addr) MemOpIdx oi =3D make_memop_idx(MO_TEUQ, cpu_mmu_index(cs, true)); return cpu_ldq_code_mmu(env, addr, oi, 0); } +#endif /* TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API */ =20 #endif /* ACCEL_TCG_CPU_LDST_H */ --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765095; cv=none; d=zohomail.com; s=zohoarc; b=lfHWEaxxtDRQruq5KNN9zSqAHaIh4ZdTTCEs3dzc1G0BTiipMqaxec/SdCiYhUxTkpXGaOJguPpR4dfMp+MfcbI+FOTD8FCU3Ql8QETrDDPewItndj3ZGZrjLS2HHkip0TSXjXFxKr4gdRmXzOzuR+3V8pCmgPD4co2xlWTu+yY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765095; 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=clmUza8l1GwtG34+YXHZaXD4EgmAbnoa/13LIvHiXg8=; b=S3VFm2JSmuLHKxD04TVdKHe3RymjF4z5B8UhJWON2/oUWYWVrEkMD9zb8hGPJLYnEVXpszpfUqVHKjgYlKSLXJrAYKZ9yulGXQyZUmLDXGrqbSwUgLHWtKSwXNdYGRaaAUjsUHeFMLVn+dPfCED7hd5Di2BqxFWT5jfR8BCi+uQ= 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 1768765095981368.89660169447313; Sun, 18 Jan 2026 11:38:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb6-0000kQ-Rv; Sun, 18 Jan 2026 14:38:04 -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 1vhYa4-0007FD-3y for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:08 -0500 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 1vhYa2-0006to-MJ for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:36:59 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-43246af170aso2010993f8f.0 for ; Sun, 18 Jan 2026 11:36:57 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435699980e5sm18606979f8f.41.2026.01.18.11.36.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:36:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768765016; x=1769369816; 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=clmUza8l1GwtG34+YXHZaXD4EgmAbnoa/13LIvHiXg8=; b=LVAKx7lxT1pSpdo46JuVyDWs1+Wn+VP+Ups5efHZarDKUj39XYUdcnP7xrL/O1D84c +lbj0BmuN/vvW8y+wHiRiUEKZggI+jzVL+a+KRoBq6Of0k4kdEHrnpTR4wx6QYSpuKwH OpuS9i+XAFJAeVkfEqhKk6luvEKX5hCszftzwYnBt/vOVw6XpswfUh7yBRfMXepMP1VQ LdISd+k25QlqOu/lUws6HyapsP+1owObVtCb1K5GswTPBHdPTSL53+XkUNVHRmukaMOc NexxwePjV3jZYfMSavZewGKrA51D8qL8TqVbCa4Zzi2En4aaZ+hU1Su1xwwXKTi/Tk4C Nn5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768765016; x=1769369816; 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=clmUza8l1GwtG34+YXHZaXD4EgmAbnoa/13LIvHiXg8=; b=dNSnQUG7bX9u6I8KmwJnkwDjDgwBJ4Jg7hxCgyr1nzQwI+0uSilFFgS5XRzn8Suh0Q /GD1W+3KLqkNqs+OYUgJB48md7syxzGYaZ0aK2gJloHBLpkzaSueC9mg7IPwufa7tNZr IhUpIpcKYZNXHr834PyhsZHkDK7EpO5NyctAI0oDgzAvpHe9lAdthNStECS5vp58eSGD KnqpSfyvLIBjyVy8bPUmCfFIBCqwYu6hHCvAj0RW6/02XAfz9Q5Tv3n6SWP6lkPYEPol amAJ5piJCQMky8227yOw0Qieccj/r+CxloDwbRYZXuo3arnTLz2Ikiq2HukNl002QJkC 9M3A== X-Gm-Message-State: AOJu0YxVOBAPLwwBl67YUzJJRvEj2yptYy6IhHNClL0rnxhmfOcJuGJY 2zbJ8pqiCgqAgx09ZufJqMqqZtsqwFkpLIB82XiC03g+JFGWQ3VMKOlNzGqFVaQGMpbkEKiI0nm pMNtdi1Y= X-Gm-Gg: AY/fxX4xyQxF2hVYDX3xHeFcwEAug7MyMbwLTLf+vK6dq0gMCm2OqXR+dYZ2heEGiTT WB8RkWxtAEwiKmH3YDW/LnC+QYlGH5JUNaBcncsb+T7kt6WN+RNWEQLNwDnCrYp20Cu6Tg3br8r EZ5mmA6AExhrFoEy6SWGG0/SSa5gB4av6yje6yJe6bjcGQzoqWCKcOJZPtFB7gxPRHfURkI5HQu UgSyjsaE1hFUz4xVsukPxDzFJAvubywa7Uq59BmW7sL6FSZKeI2MKKYujuqjI4UehqrtdXQi8iD RexpGJ4EQbjBphHUVr3796IFXLA0P6GcmPYlUKKN22LlUeIUdQCbFP4vX/R0CrNoW77N5fhX48Y 4iNxZk96qJUWSXay/p6ZzJ1u1I/GwbpwzCE0XY7xatAgc9/oUoL4R19smdB1+pYY1Yz/pHousOD vka7C1dmJrb4vIg8K9RiIRh5rFvV7r7IYrlxtSKHTBb5jagj+/Fs/yGFaqVCBUPYiIuBbIuRE= X-Received: by 2002:a05:6000:4023:b0:431:8bf:f08c with SMTP id ffacd0b85a97d-43569565221mr11581204f8f.21.1768765015859; Sun, 18 Jan 2026 11:36:55 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 15/18] system: Allow restricting the legacy translator_ld() 'native-endian' API Date: Sun, 18 Jan 2026 20:35:05 +0100 Message-ID: <20260118193509.42923-16-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765097120158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/exec/translator.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/exec/translator.h b/include/exec/translator.h index 3c326555696..8d343627bd9 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -188,7 +188,8 @@ uint32_t translator_ldl_end(CPUArchState *env, DisasCon= textBase *db, uint64_t translator_ldq_end(CPUArchState *env, DisasContextBase *db, vaddr pc, MemOp endian); =20 -#ifdef COMPILING_PER_TARGET +#if !defined(TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API) \ + && defined(COMPILING_PER_TARGET) static inline uint16_t translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc) { @@ -227,7 +228,7 @@ translator_ldq_swap(CPUArchState *env, DisasContextBase= *db, { return translator_ldq_end(env, db, pc, MO_TE ^ (do_swap * MO_BSWAP)); } -#endif /* COMPILING_PER_TARGET */ +#endif /* !TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API && COMPILING_PER_TARG= ET */ =20 /** * translator_fake_ld - fake instruction load --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765128; cv=none; d=zohomail.com; s=zohoarc; b=Kbrgkg8jKPzwg5ZYZm6MUrbDfNN7J9OKhv4Bq+dGVgBrejNAvFVP/MNazs0zJWNKb3LAL3It5qSeQ0xQ1N26CKHsQAUVjQZ873+cXEd2SjU6I+0Ln1nLDNfuIZ58jFOZ+X7Mbn2Kw/kArB6JmJwWYXxhBJqy+BGCrPCUhqSlvn8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765128; 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=GL8P56C3QKW+wYSnHUjfX38VQq1YNg4U4yN3Hx8cg1U=; b=hHxyF8iT9stA080/7iC/zJrLA9/AJXZe9DpCUnFNQljmnynjPq/jL7xoclc9NGyCiCIGDkX04CflP3NjMpkRkoO6e54A2mm5he2sUua9yHMdKO35SHwWBjc6QAVDfwngZZ+DIN6RQbyUJms2isdB2FDyrwVtACv9gjWSl6vWyY8= 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 1768765128903373.78937196216646; Sun, 18 Jan 2026 11:38:48 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb6-0000jU-LQ; Sun, 18 Jan 2026 14:38:04 -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 1vhYaA-0007KK-Iu for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:11 -0500 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 1vhYa9-0006u9-5E for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:06 -0500 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-42fbc305882so1969783f8f.0 for ; Sun, 18 Jan 2026 11:37:04 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435699271easm18632425f8f.14.2026.01.18.11.37.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:37:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768765023; x=1769369823; 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=GL8P56C3QKW+wYSnHUjfX38VQq1YNg4U4yN3Hx8cg1U=; b=YmW/PFD27jTpSY29jgk7p5cKJWBBx9KH0hbCEjm2Yg6qhSVUucBf8mZre7j6ACmdxC YAadl2r0iyGViiLsha7a13nHQZUbOSQqgfohCbTwn3WN0GCK9+UqeS0D1FMMnjz2QXrc KjfRKg0K3BLLxBYn07FG9GYWAxctGGE5IfpTxwMp4gt1zn5w+INbMpzGSUbYzsmKV6kF gzjRhZTSVV2ha/LFxRoSnhcERPamxv7kC5J0kvnHdfI860DYaf1uFETVqnfhML6Mjxhs MuE+FfqV7jGT8ZbAGA948JpoXRP/6KUFNTNQq5AmsUHdETLqwGCNEecVqjXGgKaMWg0I ZqZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768765023; x=1769369823; 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=GL8P56C3QKW+wYSnHUjfX38VQq1YNg4U4yN3Hx8cg1U=; b=vBj6Bs3lF0TTXnwtKB8FqaBBNbeHCunWo3xljvjDiE3rc8Aa1oW80i91mNmOoYoyX1 kJ2pwRekjgqvH13HLmdnZwbrtVnKvKGRZqDd9UntEypIMLSPIfe59LY/cFVcxqK6Q7Rv vGmzWuox44L7bQ+JRP6rEHWe3poqB/PuWtbYl3H5HD6wn3q9i/Pn7R7dxG4MfCDRh6Ib oylJsSSsguXd+2VfTxM9TRIeFKNlDRBfE94N8EotNl/YrUepYgc1mLAocXlh/VwC3D2l g9v6Y7cqEtxi6kiUsCm8fQ2/9u7O2bty5AKJkAMNDQc5GHpX6JGgofY+UUNHcCHSG7Ev n4dw== X-Gm-Message-State: AOJu0YyH4H+GCKGydvZxdXzhMFqpc6DG1V1GyVYq2dHy1yDBufzTfkXg eVrLZb0M2eJgCZRYQt5TMLhHqeS58x2dKS02ai0lCKYgO6toEoBdv2qvuJigKlc9HDh7aYRVX5b URHv7F9w= X-Gm-Gg: AY/fxX799nVEDA1aVxQwhC5a9iX0oGTaIQHue9wJ1mx5NRcywkMB1NI0lNoFtpnGkLO rsZ0ginU1ijx/6I4Z2WrmSWgzVnpalM2XOhK0t0gCuiIoaI2DSi3VTbborwLMzliDz1rQGmB+pr YXScKZcFSW7kHQEDD5HzriL+6VtCoMjfv1n+mbvURDBWwmPw0Gg6Ky9IzLahN6X9YrpEb7lFsad pHXmTuM0oNd1rIbwEQTB77XIoL4M+MxWnyZv+nqHqMiGum5HCV92X6y52cRTmhGRKqGM6Kfgr3w 1F8rJkLHelx73CBv14tRagAQGov2LtoyHAOEZDGGAFY0wcgQiGcv+/T92iKnVieZo6bz+yUe/dE dyzmtfOZZIrfbdais22wB39sRDg3Zxe8XEtiRN+hAWSJblDms6dJq7sDAwAU+hiD5kYUimGSX52 +3E2XH6xSAPlMikr5+0PM79kZF76sRb1qqp9I/eb1nK8zEOBIk8UlV1jIZOgN/ X-Received: by 2002:a05:6000:22c9:b0:432:dfea:1fb8 with SMTP id ffacd0b85a97d-4356999c714mr13114348f8f.27.1768765023066; Sun, 18 Jan 2026 11:37:03 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 16/18] system: Allow restricting the legacy tswap() 'native-endian' API Date: Sun, 18 Jan 2026 20:35:06 +0100 Message-ID: <20260118193509.42923-17-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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: 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: 1768765129277158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/exec/tswap.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/exec/tswap.h b/include/exec/tswap.h index 72219e2c431..9e94fa0021c 100644 --- a/include/exec/tswap.h +++ b/include/exec/tswap.h @@ -21,6 +21,8 @@ #define target_needs_bswap() (HOST_BIG_ENDIAN !=3D target_big_endian()) #endif /* COMPILING_PER_TARGET */ =20 +#if defined(CONFIG_USER_ONLY) \ + || !defined(TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API) static inline uint16_t tswap16(uint16_t s) { if (target_needs_bswap()) { @@ -68,5 +70,6 @@ static inline void tswap64s(uint64_t *s) *s =3D bswap64(*s); } } +#endif =20 #endif /* TSWAP_H */ --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765136; cv=none; d=zohomail.com; s=zohoarc; b=Jo0GzmiFrTaDpglL96F62rvrOUK9BcfASH7xES1keEM6g0UpZHXbscnR9zNWKzen8S2MTLOkCDrJhZnkSJjEvyksnoE1B3L2gqKPUTQkfvJNqfZJcqC6407aezsC1sRr0poI+7yCQJ2cqHT7anZknYkwp/LS8mm5pFHjGbuhK/U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765136; 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=uCyMmfY1je4KK++qvAKc5w59+JOFx7vAsdkNeOooSpo=; b=SeTk9rX9p1iNcKuiCkKXdJmvfBjMjeJB3A16gNyAy6JRVnj0XIczB//q7gdJjERuMnK7Z3nQeTUQUv7cqblEuyBoPD7zGH2hVV9r+NpiEBgWpvXtV9sPhIWycWtyMof+g+tDDNjxlvOD0xrHmau9Ej9/wDz98f/ou8QIqVPdK5M= 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 1768765136357419.72333511872375; Sun, 18 Jan 2026 11:38:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb7-0000re-W8; Sun, 18 Jan 2026 14:38:06 -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 1vhYaH-0007O8-IG for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:16 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYaG-0006uV-2M for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:13 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-47ee3a63300so33797435e9.2 for ; Sun, 18 Jan 2026 11:37:11 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4802dc90068sm76480585e9.7.2026.01.18.11.37.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:37:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768765030; x=1769369830; 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=uCyMmfY1je4KK++qvAKc5w59+JOFx7vAsdkNeOooSpo=; b=d1IwMewhk3TeNassvrQUI6AI7s1VK1kC9Dt64AMYvgVNEZc7qWm86GFLuyusFDISIb 1sqt9gUQNcAziNi6/T8If/bTombDxqWmRYSpif/PU6UGq9dFefUMzxRX2vL61CHGDrmI iVU8sboeZw+IoN6oQ+wpHZ0m9CZV+DAgOPxZCCAhBOWw6Ffk5/glov2uY/yaHKQrYr1i Puha1fGjCLbyH+8tVDN/B9RdeFu+P6T3D+lWKwfmSTP4VbjMD8NnCFlgtFPppep0zw15 o3QN/pI24LNCam2avh6z4+eRf4rVk2JLCbefawYkDSAPmQVHLhxek80UhatyvvfdYGlZ i/VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768765030; x=1769369830; 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=uCyMmfY1je4KK++qvAKc5w59+JOFx7vAsdkNeOooSpo=; b=CxQpT+W2hng2mUxmmSv5lKBlCF2YC5ntde28zFmWgB9zsoOBkkmg+Fn2m60v1+WhvS AOQp69IzUDrr1esFkxjWe5WGIh4STAClAuzFjg+sbk6UsCbvX4jGnGb+BDHDzL0WczP2 P5sk+IfzGqiqPtCBBfZ+paGm9Q2Hzn3IXuLU5AsodLwUzf2GBJ9nhazdbI9ALtiZZ2cF ZIB2oAFSnCUlJJDM/7unmboT67C14z4DKmpFv2nA3+yi9crsGQldyqtXrw6kezwWOvxy Iugz16DK0c//5y4lCfEYsIkheXR05GPj6sGmQblK8Z51JtJr+SWg68iUXEMOkLAh0j3Z 8BHQ== X-Gm-Message-State: AOJu0YxCmPTlMMs1ulLSwi/Lhv74gvzEHZ2hH7MSv1zsT3ufCcQRqZGZ jyTXT5RNDQU9SVVLIHjsoCvk74mdTY/bytla+RAcrAeTDfu1xxiaqRZfmMnfQf10yNPq10fmcXU qlF9f44k= X-Gm-Gg: AY/fxX6dHUsbZdZEDC3K5a5xIOjop5CUC36f/eW1WrJcGesYfQxx9lYVbWN7KQol27M aaa5vREOoxNTUT4V8VCUP2bDGfMMtuRvhGsJuRShuMUoKnZLMiBRMxWZcg2+M/HNe9MjuEVuUse rprAZ6m6DwGxPTUEf6KVWoBzHwaFwZuElUFbMO6sbCLbWhaHniYeGXyqc/9GeDZfYUOaLOU/pz4 cfVLerlejz+FXNSsglUJ+bg5SkuM3MVLZG8Ps4JgbfdZiDFW7cATCLMDGDuzMLOU35ESm87FBu7 F9hgWpqsi4bt0omJ5eFkLevddKq0P1lMkk9Z0e+k9nqN50Nz84g9p+m5jYtUQsaqpXb5lTWkqJZ 4tST/RpVCt/Olgf2NmKl9FXY23gKvYAaXaJri693UfKz3tsGewDOm/f9GI9UnfVGCDUmmWmmPK9 AHsnyv641bByjxq+nh1HlXGI0XdS73JBRsJhfr5Wm+khDukPdlpOcCxTexkM3N X-Received: by 2002:a05:600c:1f12:b0:477:a36f:1a57 with SMTP id 5b1f17b1804b1-4801e2f9110mr98770925e9.3.1768765030251; Sun, 18 Jan 2026 11:37:10 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 17/18] system: Allow restricting the legacy MO_TE* 'native-endian' definitions Date: Sun, 18 Jan 2026 20:35:07 +0100 Message-ID: <20260118193509.42923-18-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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: 1768765137228158500 Guard the native endian definitions we want to remove by surrounding them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/exec/memop.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/exec/memop.h b/include/exec/memop.h index 799b5b42218..4aaa6a0ab02 100644 --- a/include/exec/memop.h +++ b/include/exec/memop.h @@ -36,11 +36,13 @@ typedef enum MemOp { MO_BE =3D MO_BSWAP, #endif #ifdef COMPILING_PER_TARGET +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #if TARGET_BIG_ENDIAN MO_TE =3D MO_BE, #else MO_TE =3D MO_LE, #endif +#endif #endif =20 /* @@ -150,6 +152,7 @@ typedef enum MemOp { MO_BESQ =3D MO_BE | MO_SQ, =20 #ifdef COMPILING_PER_TARGET +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API MO_TEUW =3D MO_TE | MO_UW, MO_TEUL =3D MO_TE | MO_UL, MO_TEUQ =3D MO_TE | MO_UQ, @@ -157,6 +160,7 @@ typedef enum MemOp { MO_TESW =3D MO_TE | MO_SW, MO_TESL =3D MO_TE | MO_SL, MO_TESQ =3D MO_TE | MO_SQ, +#endif #endif =20 MO_SSIZE =3D MO_SIZE | MO_SIGN, --=20 2.52.0 From nobody Sat Feb 7 07:41:22 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=1768765123; cv=none; d=zohomail.com; s=zohoarc; b=RItzCLwpG0NQZlO+XM25pOlFCm5Ful4BPk4q3FfeoGG3OTOQeO5ELPRmX1DtyrW+JnmiBnqj4K8vziAOvKsMIClcSsOyDsKTHNIm358qRgqiEsrxoePtkGF+9q7TRw7pDk+II7G8UEp35sqXXqvEz6TMt5keB9kcwF6hELHl9Bc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768765123; 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=1xJrwc41uxCYz/xC20+DWRn+fpMS8ZaLDv1kHPjZTwY=; b=LrwGBa1tMOL6I1qXWSJNPCz3hJtgSoxeepZmAht7I1fDgHuqjVdmcQWoY/n+EWCltBoY9QBxXWhFBmewXB9pE2lhIZ0s2FQiKH9/E4canj6eBP3C1Zr9Zlo6odM2gjxfWIAzlImWGV2q2LBY9ONG3PvRaiXmJb2Fv8M501srsmw= 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 1768765123678896.4866925671079; Sun, 18 Jan 2026 11:38:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vhYb8-0000uL-Gw; Sun, 18 Jan 2026 14:38:06 -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 1vhYaP-0007SF-Vi for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:22 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vhYaN-0006uq-R3 for qemu-devel@nongnu.org; Sun, 18 Jan 2026 14:37:21 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4801c2fae63so19797485e9.2 for ; Sun, 18 Jan 2026 11:37:19 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801fe2c1c6sm65357635e9.9.2026.01.18.11.37.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 Jan 2026 11:37:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768765037; x=1769369837; 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=1xJrwc41uxCYz/xC20+DWRn+fpMS8ZaLDv1kHPjZTwY=; b=ehxT+NlipbYdIXzm82l6ndlfaKZbKzHC74YMLUZhQw+EVq0CrvNZ92i9gVHoyw9Bq/ e4sVPqTC8iPcntdmFCAMToLHggsqFqqbA6BoPLv5jEMMcvO2Rri9Vzc01YPirB+CUyp4 dmoBmMhMV6MkpeaGZ3q12XD1F1faj1tC1fPUDZn8swKUemaeYkJYjRIA4T7KiUVVfDIx BdCOmaAX5qNd/bvYjel/Icxs9pWxx1P1gII5trl+8+9/x2XdE/nEKcDE3L+x98VHJUjS Y7J65T6IBR1Np5ZOnhwFBYUXU4W1/1/eiMxd90gRT+B6h9KHXEutKAM+zrywO/3JnaVJ 13sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768765037; x=1769369837; 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=1xJrwc41uxCYz/xC20+DWRn+fpMS8ZaLDv1kHPjZTwY=; b=Wi+KbIKEDmvo/UhELBJ5JDqprffmuQbPzCQhqOjP5QAA8WNdMCke7w/JQJAaWuL82l AnrHBOVh5c6WZJ2b6JecMiQ0ARNNQpbX3QjFw4EQxalvXFnQVLR71yFHAwPvd98aGfX4 sAZmvOYqPYuNBI2r/RYQ1kHhVmK/1cvLkzpLKDJECB13pXrWwZzpYW4T2D2RoX3sSkad BNGdCJcTckcOMhYewi2hxcVGs4V/r0DyY5EWnoDw2afF5KJhTtAvfdvMEEVr7i4gYBVs OPNgIrKWIs0A6rgB/oxwbFraVvZEQ7nAXiJYkesSaljTMdmwJmXUShmxlxznP/98QcFx oY+w== X-Gm-Message-State: AOJu0YztTRjIKbRVChucbYigRVxMJrIoUwoW/ulfBz3FxbZ5OjkvNS7T rf6PFzAwEEC00S7rfyaIZpZgUGf7Ubh1ZXSmCH8t0j7KKRXLrUgFCbYGr244ZnkOoxQdfzKHV4/ qnnS9BbQ= X-Gm-Gg: AY/fxX71Xj9tS0FZuB/j8MUoJiLz96h8DKblN0hxU6ed9GEmoF7AT6VKcnYEK9iLuCz 0ZMVtXOyfvLldDe18jGydvfY/VFhEKgJQ6L+O6qaNW/R5TQTRo5ToO2K1mcy68FIIXLf32mhZ2k JEExvE1Rk5F+VUTb8wo51PNClAEVCvsdn9L+hCWCuXAHtPuPPGfL72srJN/Jm6/OX+KqDM5pIUR aTc4Ca8wyeeJ35y+TSuSLsidLIrj4L1V410xjztLy9eRllaD2kQGAjcsuGtEJSKL1HPM9vzx/9F 3A+40aTElWPOwLPAzAGuZ8ex2ksCd5fQMY8EL2y1wMWAKTXdJJDK6oiG6ZLUrNLdZAHcqLGAioY QmUmHbw9q5luuomHPix+2D3zQQYpljlZO0ni1TSaPfXq89UUmEaeDz9j/C/FBfdqOCZChiZyUOk o8HQBqlVJ3lv7gXvO2d0f4mArYYbl2xBKJcPB4hvn5624giEz+/mlA+DQYDDqX X-Received: by 2002:a05:600c:354a:b0:479:3a86:dc1f with SMTP id 5b1f17b1804b1-4801e3503c2mr98976395e9.37.1768765037458; Sun, 18 Jan 2026 11:37:17 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson , Anton Johansson , Manos Pitsidianakis , Pierrick Bouvier Subject: [PATCH v6 18/18] system: Allow restricting the legacy DEVICE_NATIVE_ENDIAN definition Date: Sun, 18 Jan 2026 20:35:08 +0100 Message-ID: <20260118193509.42923-19-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260118193509.42923-1-philmd@linaro.org> References: <20260118193509.42923-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 (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::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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: 1768765125287158500 Guard the native endian definition we want to remove by surrounding it with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Assign values to the enumerators so they stay unchanged. Once a target gets cleaned we'll set the definition in the target config, then the target won't be able to use the legacy API anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- include/system/memory.h | 8 +++++--- system/memory-internal.h | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/system/memory.h b/include/system/memory.h index 92028dc7a4e..8f8725ea2d5 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -27,9 +27,11 @@ #include "qemu/rcu.h" =20 enum device_endian { - DEVICE_NATIVE_ENDIAN, - DEVICE_BIG_ENDIAN, - DEVICE_LITTLE_ENDIAN, +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API + DEVICE_NATIVE_ENDIAN =3D 0, +#endif + DEVICE_BIG_ENDIAN =3D 1, + DEVICE_LITTLE_ENDIAN =3D 2, }; =20 #define RAM_ADDR_INVALID (~(ram_addr_t)0) diff --git a/system/memory-internal.h b/system/memory-internal.h index 46f758fa7e4..5f0524756eb 100644 --- a/system/memory-internal.h +++ b/system/memory-internal.h @@ -41,9 +41,11 @@ void mtree_print_dispatch(struct AddressSpaceDispatch *d, /* returns true if end is big endian. */ static inline bool devend_big_endian(enum device_endian end) { +#ifndef TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API if (end =3D=3D DEVICE_NATIVE_ENDIAN) { return target_big_endian(); } +#endif return end =3D=3D DEVICE_BIG_ENDIAN; } =20 --=20 2.52.0