From nobody Mon Feb 9 08:41:37 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=1766161283; cv=none; d=zohomail.com; s=zohoarc; b=d64nQtaFYapUi7mDjJJKBpUOpfcnJwAm6aXBkElwGnnciJLFdJi663iXGyUqammdFoR4a9BxW/9kTR7DzjNoVp4DCYm049xW1w1aAP2u1RaGwueV6mVwnj0E6xzZyDl2bG+XqBLbF1uDeMyYxuScAI4e5WnutyZA3pc79N+6h1Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161283; 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=B1b6x18riFiHnFkkcqn+CtPN4j8BBN9191Tesnu/1k0=; b=Y7H+iPAe3WDfCVFPN9RfJmB/Gyo1JSf7KfR5ixOU19EqUNTxnfR62NZmIlfGXoCVP0DWsjB4GXp2lf77e1WEN3qU3zPGgUqy0/yChZqDepG6YTkS54ccAtz8ZZg0VPJ+ZcTY+4Qc7+TV/vnFbxPlqRGTnC33vG1MMtp+pt43I9I= 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 1766161283964751.5684658132634; Fri, 19 Dec 2025 08:21:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdD6-0005ul-Mq; Fri, 19 Dec 2025 11:20:08 -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 1vWdD5-0005uX-5x for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:07 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdD3-0005v1-ED for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:06 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-47798ded6fcso13852075e9.1 for ; Fri, 19 Dec 2025 08:20:05 -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-47be3af6dbdsm38161245e9.19.2025.12.19.08.20.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161203; x=1766766003; 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=B1b6x18riFiHnFkkcqn+CtPN4j8BBN9191Tesnu/1k0=; b=f3N0CabHvpoiw0njnD9n/uLXbhMdrO1hgm3rRVSby9Oe6SrAVifjQUjbhdMQeKxFgS jLs87ZxmpWH+KjO/kmdGKTI9AesbxQfvJFBhdbc3FVGL8qbrqLdldGdoL3NptSQH8ckX VHTAP3gRPsyymSRVZcMAImHUWkov0YeF6Y4ThTgcCdQO2EmUwAhpNQ41HoQMZjxAmLJn rhUgYLyLwCwoco013gg/977CM6CCyQHNlCXyw8WaZJGQDcW0tBahJE/1bIzuSmq1UqiT VEoGHXB5BFDrbaBZLN1M/uM6s+/FNus2xskgikS8BFzgVUZ3DEzjYeo9wNfnZzZQGUz6 BjMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161203; x=1766766003; 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=B1b6x18riFiHnFkkcqn+CtPN4j8BBN9191Tesnu/1k0=; b=ZoQJ1ExWblpBSy/KejJ60wFLbp2a6ecgQ7vj/9shw4qjc5akbEnWlBWI+yQt2kl4NS XUvHSmKh86sl1oDJ4p2NorLHskX+Zottm9ulrWYmIp6XbqZIx2w0aUH4H0s3VipWIEAt Pv9W5x+TpLz/3MVp4r2DgzN45bnB8aOwWAAXJSAClm71wdOjReJvwpOY+7LBKM5mgvEL c5geMyqbytdXTof4GpJix7cntPMnjXGBKxwkKCFC57gH7tyPAuYuLOEteVkMF0dwCggT pmVFNjn6TneuBvIRSsGAw6jhkC6gWO0SrTJWXzc0ttshkRF+cGs5Q6UfBt616Hjcccam yB6w== X-Gm-Message-State: AOJu0YxpQyM4EDISOCYeyRG2pqVFlp1IHmjX3qi/ygVsyMxE7GTrjyde q7zZWGP7Wc006FCRS5qSY/g3gYWSwmKGZ2PRlwewuc7w9U/1YOnYEbZycyYblt6Z1uE3r7aKpyu CxxCB/to= X-Gm-Gg: AY/fxX72YCUDMxu4XVsCrvyYT8E/+/FzM/ocdluJQAEjruh+bqJJ7uYk2kcvt/QTzPo gZhf1hLDN9m7xo5rjHWI/W+zCiBa2vIYuLjm6HVPDz2tVsIuOnLzzb7QHbPGp/Eg3X3N5L2MSKM xLj9V8RozS41UyBvsy3La0iwhGgfiJQgSVfvpsSgOQJpLPN27W032qojLcXsMZBSMLf1OPmKFkb eGAu6gy8rv5MFb0z3FV+CcBe0RvcFBj+Y8rdzo9/3PLBw0osfueQzcf1meJ8AR+Alr1m9UDsgOj KvpweuHhwqWCVpg6ztW6Us8pugYm6Yeqe+W735nCkpFH0RHrTkbPkqII3ME/JLN7wpqIH/gBVzF hYpXiWpjGzgps3COAqH1H185njmzmK7nyFuPUAEF2G+sMLMkGABWLKLXRhN0oOgVjZrnivGwiAI m/GxOFVZvxPxTl8GwNVIf1ria0TaTVXSalOws6oM6rtRMNyioigVjP7K3C6WDh X-Google-Smtp-Source: AGHT+IHiV9J9OBvlD0VK7/nkj3/FIHnq9Fv/Yio9jlsaZFwAZWOV9tqpf+UehcDxROdnJCwCT4NgzQ== X-Received: by 2002:a05:600c:1caa:b0:475:daba:d03c with SMTP id 5b1f17b1804b1-47d19545aaemr31183775e9.13.1766161203486; Fri, 19 Dec 2025 08:20:03 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 01/24] system/memory: Remove address_space_stl_notdirty and stl_phys_notdirty Date: Fri, 19 Dec 2025 17:19:28 +0100 Message-ID: <20251219161953.72724-2-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.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: 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: 1766161285002158500 stl_phys_notdirty() was added in commit 8df1cd076cc ("physical memory access functions") as a (premature?) optimisation for the CODE path. Meanwhile 20 years passed, we might never have understood / used it properly; the code evolved and now the recommended way to access the CODE path is via the cpu_ld/st_mmu*() API. Remove both address_space_stl_notdirty() and stl_phys_notdirty() leftovers. Suggested-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/system/memory.h | 6 ------ include/exec/memory_ldst.h.inc | 2 -- system/memory_ldst.c.inc | 39 ---------------------------------- 3 files changed, 47 deletions(-) diff --git a/include/system/memory.h b/include/system/memory.h index 3bd5ffa5e0d..e69171de05a 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -2850,12 +2850,6 @@ MemTxResult address_space_write_rom(AddressSpace *as= , hwaddr addr, #define ARG1_DECL AddressSpace *as #include "exec/memory_ldst.h.inc" =20 -static inline void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32= _t val) -{ - address_space_stl_notdirty(as, addr, val, - MEMTXATTRS_UNSPECIFIED, NULL); -} - #define SUFFIX #define ARG1 as #define ARG1_DECL AddressSpace *as diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc index 7270235c600..173164fee3a 100644 --- a/include/exec/memory_ldst.h.inc +++ b/include/exec/memory_ldst.h.inc @@ -25,8 +25,6 @@ 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_notdirty, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, 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, diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index 333da209d1a..b45bfecd137 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -261,45 +261,6 @@ uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL, DEVICE_BIG_ENDIAN); } =20 -/* warning: addr must be aligned. The ram page is not masked as dirty - and the code inside is not invalidated. It is useful if the dirty - bits are used to track modified PTEs */ -void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL, - hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result) -{ - uint8_t *ptr; - MemoryRegion *mr; - hwaddr l =3D 4; - hwaddr addr1; - MemTxResult r; - uint8_t dirty_log_mask; - 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, attrs); - } else { - ptr =3D qemu_map_ram_ptr(mr->ram_block, addr1); - stl_p(ptr, val); - - dirty_log_mask =3D memory_region_get_dirty_log_mask(mr); - dirty_log_mask &=3D ~(1 << DIRTY_MEMORY_CODE); - physical_memory_set_dirty_range(memory_region_get_ram_addr(mr) + a= ddr, - 4, dirty_log_mask); - r =3D MEMTX_OK; - } - if (result) { - *result =3D r; - } - if (release_lock) { - bql_unlock(); - } - RCU_READ_UNLOCK(); -} - /* warning: addr must be aligned */ static inline void glue(address_space_stl_internal, SUFFIX)(ARG1_DECL, hwaddr addr, uint32_t val, MemTxAttrs attrs, --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161267; cv=none; d=zohomail.com; s=zohoarc; b=B2k0ayXlem1xhyKKh+TvFHLoExmfV75Zvs20XUTzeOaBiXq4S2xeJgLsEs3VON1fZ/USdxZGkIysrqndngUtaqYkR9EWzuqZUNXqy4Ed9Ezaw1XojFBn7SLg3sRW+us5QXKByqVjkblfbGZnznLrU+PtXZ80NxrCHYmsNgp2Ue8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161267; 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=hkVIzod7Jlt9VwHGoLmEeZpRAVX+tz7dmFt8d4zgWHg=; b=RVn/0VP6iwLcsJPUjFSCHo65x2tczyNEUoNjfx1xyX4eAbQnxKIEhYqhflkzJTtoVdA4+2gJewGmEQiiqJQikYm/LGOIlCth6rfB/GNiSMwZozpF0rKQbF2PPQhbaUyNyFo1YeV9bzK70gOQh2En6IBzROxkBaKOn7y211b27mQ= 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 1766161267243925.6219691024729; Fri, 19 Dec 2025 08:21:07 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDH-0005zr-L2; Fri, 19 Dec 2025 11:20:21 -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 1vWdDC-0005vK-59 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:14 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdDA-0005w1-Ma for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:13 -0500 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-47755de027eso11610535e9.0 for ; Fri, 19 Dec 2025 08:20:12 -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-4324ea830f3sm5677279f8f.22.2025.12.19.08.20.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161210; x=1766766010; 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=hkVIzod7Jlt9VwHGoLmEeZpRAVX+tz7dmFt8d4zgWHg=; b=W3VmZHqN1LKARt6uC1reYfwieeVGmPvgihF+0odTAYO6rxU6YfzHZPVYBW99trtIFG Y+WbVrDmaRRUXDGjJoLOyAPyck4t41YvHs+xV+c8pIQeKU+Pa3GaOfcWpsd1mGPCKQKg dHnPiKVHHbIKVe+f9P+Mxo2VeOZbyKPNTxDNwJL5GXPBmPgsGaSY53jzCH2rSWKrebuZ r5jfzsytGMshoh3mhlBMaDayrIo8jz/HlLVAslrZiSCfiAxmA07UFBcLdYTfCUwRrfT6 iwlZ2ab5Gp99EVY2yHhxDbESVcg+mqor+DdtBa9Z6tN56KTk44fAkCu4mpT/uXekOlyS oxCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161210; x=1766766010; 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=hkVIzod7Jlt9VwHGoLmEeZpRAVX+tz7dmFt8d4zgWHg=; b=e6bkWJIpFVtyKpH6YboYMHlsKUNPGezfOPuP0FxlsulWVHfBZm6xOfMWi5067v/vN2 MRoba1jx5D5YRoEwYjvDHmuxO3iFYhTyobCVS4VFnF82XlvJOEvd+2eDWB5hLCKCRUTw iKf1LtSLizMukXulfCpoUBopPmifJkD3wSsv0OWD6mGsnl8ohcpV/xt4akWSp6n5sw2k 3Cg3x2efLDsyXWWpzL6VBw4xNC2ivaM345R2s/ewpAw+q94HK4gfb/pZERWVeEYjLW0g BniT39mTZK47J4S/D1CGHSYawhznlK6z+FlTEZADE2DXYKaK1+I96juUhexOx9tOH7hW NKjQ== X-Gm-Message-State: AOJu0YyPfRokEUxlOKGE+3eOeuEHKJ94H+XkKKtzTnGRUD76JBzlT58Y eJA1H3+y8p9KOSt2DzFNqPKGH6M6keizW3+/RZ+/j+9AzV1lWokjzmFN8ah9bjyMTAs7uQPrOYC 2Hdi3BZs= X-Gm-Gg: AY/fxX41qWCwYCk6meifYpFUmfaLJu+KyCHje2+Amyg57/jgXjvVH1mIkcRGozR5Dzt OkB7MbeMZY1NCWdxg7tGDiPkYlE4Y4HU0s0YpwAdixX0eSZ9ZZ4GR4/WJIPNtjyZ4uE6PxgdYNU SryiqATas8yr3Q3rJQRJ/luJLfPAvlpEDhgIR6hjn+MF2NoCnWL7BMlp2KC9fb/93pnlaWikNyI GA1A8Eg9XFaevYpEAOuwqMHeZzN8SWgAMyGIzrA7pU6kY+lL5roNAI5ahls6iw7nhWI1ypfKw87 D6adAQKx7j7ZFR1Ca6xhE4QhstzRJ2pHjxGh+A4sycysBC0jM6K9aoVcijzGFV7mmsye8R0OOME rV0KAWzj4i81TVt/Dkbk1BFskpCU+rzUnUZsRCtan6wlJNaxB6qRewWrfW2ooKOSU5A9sFBRCfL xBfg44UilNUSGPtrCE/JEQmUPH2Lu35rCvP5gVSxaXPoL2cbOkBFKJeC5bVm83MjLyUqyr86U= X-Google-Smtp-Source: AGHT+IEvl/gV+0Z+uP6k/DjufW24In8fAThqZlsMdWmGGnIW3jR1ahwu0gy5qp6NzeGQO3fgww9RcQ== X-Received: by 2002:a05:600c:4fc6:b0:465:a51d:d4 with SMTP id 5b1f17b1804b1-47d1953b768mr31689505e9.6.1766161210506; Fri, 19 Dec 2025 08:20:10 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 02/24] system/physmem: Inline and remove leul_to_cpu() Date: Fri, 19 Dec 2025 17:19:29 +0100 Message-ID: <20251219161953.72724-3-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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: 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: 1766161269132158500 leul_to_cpu() is only used within physmem.c: inline it and remove. Since @bitmap is of 'unsigned long' type, use its size with ldn_le_p() instead of using HOST_LONG_BITS. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/qemu/bswap.h | 11 ----------- system/physmem.c | 5 +++-- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 39ba64046a6..65a1b3634f4 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -375,17 +375,6 @@ static inline void stq_be_p(void *ptr, uint64_t v) stq_he_p(ptr, be_bswap(v, 64)); } =20 -static inline unsigned long leul_to_cpu(unsigned long v) -{ -#if HOST_LONG_BITS =3D=3D 32 - return le_bswap(v, 32); -#elif HOST_LONG_BITS =3D=3D 64 - return le_bswap(v, 64); -#else -# error Unknown sizeof long -#endif -} - /* 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) \ diff --git a/system/physmem.c b/system/physmem.c index c9869e4049f..1292f49095f 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -1254,7 +1254,8 @@ uint64_t physical_memory_set_dirty_lebitmap(unsigned = long *bitmap, =20 for (k =3D 0; k < nr; k++) { if (bitmap[k]) { - unsigned long temp =3D leul_to_cpu(bitmap[k]); + unsigned long temp =3D ldn_le_p(&bitmap[k], + sizeof(bitmap[k])); =20 nbits =3D ctpopl(temp); qatomic_or(&blocks[DIRTY_MEMORY_VGA][idx][offset], tem= p); @@ -1301,7 +1302,7 @@ uint64_t physical_memory_set_dirty_lebitmap(unsigned = long *bitmap, */ for (i =3D 0; i < len; i++) { if (bitmap[i] !=3D 0) { - c =3D leul_to_cpu(bitmap[i]); + c =3D ldn_le_p(&bitmap[i], sizeof(bitmap[i])); nbits =3D ctpopl(c); if (unlikely(global_dirty_tracking & GLOBAL_DIRTY_DIRTY_RA= TE)) { total_dirty_pages +=3D nbits; --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161249; cv=none; d=zohomail.com; s=zohoarc; b=hz9R3NXNhjxKPV8XzEhKz40lQgxk0BsorIcMP9nsoq3OkDLHdlhngsPCIUH8hyOA5tWpJVhamNe0/11Ub9aS1a7Nek4hCOW0iqX/N+BzmDtyOFzG1lhS4EbrxfFzNwJPZu01AkDu04kJ9xd4erkDD3dD7eP33hvqe5CSWp6H6oU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161249; 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=LEvDE3B5Gu5UNxZmrWuHR20YlbHMtfAkLmTQrUNsEUM=; b=Ammtia25IpN3y23JuTZ1Sc5BzdZGyCj2XveqgdjlX0rxcdfIj/for944OkIKqnK6407Y7vZazY695wHVGNj7pchi2g21kSJ5LyuHvXAZRD/Sd0rhE7hgxsaJrzfrLo7mf3dqAb++Jw8o1yTNA8L65eZ/2EvMz8tj3cqIeNThQy0= 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 1766161249232485.35629692693976; Fri, 19 Dec 2025 08:20:49 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDQ-0006A8-SS; Fri, 19 Dec 2025 11:20: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 1vWdDJ-00060h-MZ for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:21 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdDH-0005xA-LD for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:21 -0500 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-4775ae77516so18278395e9.1 for ; Fri, 19 Dec 2025 08:20: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-47d193cba81sm50153235e9.10.2025.12.19.08.20.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161218; x=1766766018; 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=LEvDE3B5Gu5UNxZmrWuHR20YlbHMtfAkLmTQrUNsEUM=; b=yzZXBiaIhq/PIimvcZNeV8sMMorGg/MVHNTW7Hwifqxq9m6hzjUw36TQ8QiJhj2paa Ukhrl8W5VgpsqOrz3q6LiJIjtw5pWkKLdeqvZryigM5jS3MsGwsn2sPrp9otjkAzSraU S7APCrz03LYLK2ZkTcqts5xqzsI+I/eJrW+W+dl2kBAn+LD9dVGqcjFwo+nDgbk7he9G dQ1JMI4tur3G7TZMKmrmUEgaiRkPRG4CSrEP9rUuZV/KNzXhpyqFfkgI6GgeRmcvxnKF V8QzYwL4qw0u9RRY4Ov4aJ7JTKUaBAAJ+8e18pGCpRTadzud5QDssozvibpIVaWVMzNa xvdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161218; x=1766766018; 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=LEvDE3B5Gu5UNxZmrWuHR20YlbHMtfAkLmTQrUNsEUM=; b=vmwbP4pPNtHXKe85Kd6RaaTtcWmB/9PCwBNgX+dMyAaurCreu8/Qv9ZZ1iGgqG6gCI 3L2WBckEWLw6E07yHe64sFYtCryFbfgrSyRY6Zbh8SBIc42MxnNX87kJ52DwU9m2Fl0C SZ0B5ixlZvd74k/p+pcXK5sEadgzd9lV0aM9/rxWojABJj5RkPwlrZBY6YnUEk8UkRIU GkiZcZXMz7vjivW6lsguY9AOvjZjnbHr6lsxEBVufD3LHlr7Q/PI+jU4OOk4xaGbtMSX QiV0CIX0QgR9ncvFphM1NcZjM040JQLGixNRxK/C0hFYHOuQFGCinSzHMyzX11y1uRJz rbKw== X-Gm-Message-State: AOJu0Yw6lrsxg4P9W+C0et868LZW676QszwvlwpHPezD2klvjvQQgvPw 4CWHA2jU+7/h0CqkiCDahDmH1xmc/UV66PYA5DXLsm4nEKmz4RpY4QCyAccLjn1jYGKYsxXgrje aY4OfVVc= X-Gm-Gg: AY/fxX50NcmBEDyaBb5SgidxNzOtIZij08/lleybggv1G7UQhlcLk0dxZvf/yDiAGdB VyHR9EhibNmxtdAVBrEwpYUODlGcboxO3QjDeM6EVBRiYyNRin08VR0F6otsqoCkhlw547yx6LH 3ou9eudPeIrtKEtACtk0OMWWVmAfdiDrfKQNFRsUPjLyQ3Rw2KvA/sDqFI2CTnp44Czl/ApfBCi I8NV3ntZIxruAcqYQbMV6TJaoo3esc9CIhqh1Vqt6+qFlpqIj6lyI2+ySy5eIS8TK6vsdeZv89q BOmaqx4CpbA4c/6dsmVokDMq1xTpeQvCB5nQztx0Fmh02TrOjQ3IaVaib7huK7kvv7uDhrrt3Xa C/ORw+SV/fu4E+0fKvVndNTk09GNlQJFbGTELiLadX3ddER8mXvdlknZtysdDwdm8hbqAjDV4mG 56fYh9rx758UJx9VeuZ3A1BJQ5GfEuuu7Shm4l4ontzTN6XYw0aI9s2/yVteit X-Google-Smtp-Source: AGHT+IH6+FhWDAiyt15vIG+85wrVo/LPfB8xxODpVr5Or0G80hpeRmqcdVLaH2w91oN8VAIldk9TOg== X-Received: by 2002:a05:600c:8718:b0:45d:f83b:96aa with SMTP id 5b1f17b1804b1-47d1956eba9mr27156495e9.7.1766161217777; Fri, 19 Dec 2025 08:20:17 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 03/24] system/physmem: Convert DEBUG_SUBPAGE printf() to trace events Date: Fri, 19 Dec 2025 17:19:30 +0100 Message-ID: <20251219161953.72724-4-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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: 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: 1766161250829158500 Defining DEBUG_SUBPAGE allows to use raw printf() statements to print information about some events; convert these to tracepoints. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- system/physmem.c | 29 ++++++----------------------- system/trace-events | 6 ++++++ 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/system/physmem.c b/system/physmem.c index 1292f49095f..7e914ecf648 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -91,8 +91,6 @@ =20 #include "memory-internal.h" =20 -//#define DEBUG_SUBPAGE - /* ram_list is read under rcu_read_lock()/rcu_read_unlock(). Writes * are protected by the ramlist lock. */ @@ -2903,10 +2901,7 @@ static MemTxResult subpage_read(void *opaque, hwaddr= addr, uint64_t *data, uint8_t buf[8]; MemTxResult res; =20 -#if defined(DEBUG_SUBPAGE) - printf("%s: subpage %p len %u addr " HWADDR_FMT_plx "\n", __func__, - subpage, len, addr); -#endif + trace_subpage_read(subpage, len, addr); res =3D flatview_read(subpage->fv, addr + subpage->base, attrs, buf, l= en); if (res) { return res; @@ -2921,11 +2916,7 @@ static MemTxResult subpage_write(void *opaque, hwadd= r addr, subpage_t *subpage =3D opaque; uint8_t buf[8]; =20 -#if defined(DEBUG_SUBPAGE) - printf("%s: subpage %p len %u addr " HWADDR_FMT_plx - " value %"PRIx64"\n", - __func__, subpage, len, addr, value); -#endif + trace_subpage_write(subpage, len, addr, value); stn_p(buf, len, value); return flatview_write(subpage->fv, addr + subpage->base, attrs, buf, l= en); } @@ -2935,10 +2926,8 @@ static bool subpage_accepts(void *opaque, hwaddr add= r, MemTxAttrs attrs) { subpage_t *subpage =3D opaque; -#if defined(DEBUG_SUBPAGE) - printf("%s: subpage %p %c len %u addr " HWADDR_FMT_plx "\n", - __func__, subpage, is_write ? 'w' : 'r', len, addr); -#endif + + trace_subpage_accepts(subpage, is_write ? 'w' : 'r', len, addr); =20 return flatview_access_valid(subpage->fv, addr + subpage->base, len, is_write, attrs); @@ -2964,10 +2953,7 @@ static int subpage_register(subpage_t *mmio, uint32_= t start, uint32_t end, return -1; idx =3D SUBPAGE_IDX(start); eidx =3D SUBPAGE_IDX(end); -#if defined(DEBUG_SUBPAGE) - printf("%s: %p start %08x end %08x idx %08x eidx %08x section %d\n", - __func__, mmio, start, end, idx, eidx, section); -#endif + trace_subpage_register(mmio, start, end, idx, eidx, section); for (; idx <=3D eidx; idx++) { mmio->sub_section[idx] =3D section; } @@ -2986,10 +2972,7 @@ static subpage_t *subpage_init(FlatView *fv, hwaddr = base) memory_region_init_io(&mmio->iomem, NULL, &subpage_ops, mmio, NULL, TARGET_PAGE_SIZE); mmio->iomem.subpage =3D true; -#if defined(DEBUG_SUBPAGE) - printf("%s: %p base " HWADDR_FMT_plx " len %08x\n", __func__, - mmio, base, TARGET_PAGE_SIZE); -#endif + trace_subpage_init(mmio, base, TARGET_PAGE_SIZE); =20 return mmio; } diff --git a/system/trace-events b/system/trace-events index 82856e44f2e..6d29a823f04 100644 --- a/system/trace-events +++ b/system/trace-events @@ -35,6 +35,12 @@ find_ram_offset_loop(uint64_t size, uint64_t candidate, = uint64_t offset, uint64_ ram_block_discard_range(const char *rbname, void *hva, size_t length, bool= need_madvise, bool need_fallocate, int ret) "%s@%p + 0x%zx: madvise: %d fa= llocate: %d ret: %d" qemu_ram_alloc_shared(const char *name, size_t size, size_t max_size, int = fd, void *host) "%s size %zu max_size %zu fd %d host %p" =20 +subpage_register(void *subpage, uint32_t start, uint32_t end, int idx, int= eidx, uint16_t section) "subpage %p start 0x%08x end 0x%08x idx 0x%08x eid= x 0x%08x section %u" +subpage_init(void *subpage, uint64_t base, uint64_t len) "subpage %p base = 0x%08" PRIx64 " len 0x%08" PRIx64 +subpage_accepts(void *subpage, char access, unsigned len, uint64_t addr) "= subpage %p %c len %u addr 0x%" PRIx64 +subpage_read(void *subpage, unsigned len, uint64_t addr) "subpage %p len %= u addr 0x%" PRIx64 +subpage_write(void *subpage, unsigned len, uint64_t addr, uint64_t value) = "subpage %p len %u addr 0x%" PRIx64 " value 0x%" PRIx64 + # cpus.c vm_stop_flush_all(int ret) "ret %d" =20 --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161246; cv=none; d=zohomail.com; s=zohoarc; b=mAunF5unEN0ow70UiKbStKXfeEL8UfAfFL1lyJNzg+Yxttm6IqkAPJEN8njs8BHXVjzYNE3FPrPto2x/kAqQRfl2jNIAgw/qGho5FU4t6D43HOf0Gd/InueCLEGe06t6RlUmviBmIJ6BJOsxpz7vJpplxDQl61uJklXqCmcvqvc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161246; 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=XcMU1k1986zvYwyLzb//gpQrHqBilxoxS5xhcinB0TY=; b=jM3To4tysB6hRhP4wYfcWLKVe5ENvadjsBOpcaWGYoHMBhqiRy7x9EFNxEsRKUz6ZpahBT7tO48ErNYZfqtVSCO/NuLEek2hft9GaQqmsk/+KXKoyy2bLes1HYMUqnPy8EGgXKVs5pStADrUXYvx7/oyhKcNVijY7ynZUAQxSn8= 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 176616124645778.69120109930964; Fri, 19 Dec 2025 08:20:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDY-0006Jh-JO; Fri, 19 Dec 2025 11:20:36 -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 1vWdDS-0006CM-M8 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:30 -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 1vWdDO-0005y9-Si for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:29 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-42e2e77f519so1400827f8f.2 for ; Fri, 19 Dec 2025 08:20: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 ffacd0b85a97d-4324ea1af2bsm5989466f8f.1.2025.12.19.08.20.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161225; x=1766766025; 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=XcMU1k1986zvYwyLzb//gpQrHqBilxoxS5xhcinB0TY=; b=CD0ja8/hI3AGrIeosiNlCCaFaRreh/qt2mjrgjN3txu3veh3ePoLQ1epAhg+FRukpr fxBOBZXxBgUqKrxr2dVd950JzKa+Snosd4z/mDaPWGrjlkwdVZCewzJFzc0wiDWj8C08 ywfr44Nmzg5v/tBwihLBxvMoCkehb9/V4FViQjbOvQbDtHMcrFXNOCAARMRQJxUGcYg0 AZiex5GqCUwWYhAUopAzAeQ1p77ffrzdvgm5u/b4WZY+hX0mqLRUmOsefrFIcax9B7vO 5JzHGrq6GLZExXlUP9y5vL0VVaajqUHU9oxYKOE3OTcj7h5ULuoDrYXZqJTkJllbUh7Y iE5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161225; x=1766766025; 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=XcMU1k1986zvYwyLzb//gpQrHqBilxoxS5xhcinB0TY=; b=vs74NvZr3xatLHFoTlapUaGHrZxHMl2UmQ1aILHiS5HVo4Ns7K7xYxz5Vp8mchQzk6 +P9/1SW4KQ6QOB3v8jCGs2ZTHndZNK+LVqayp5Fd0/H5KKkWoHnO15UWf7ivAIRg+WXe +zwlIzTSi4+3IcP7/djf1LYCuXdiUe5P7n1vAVUIDGgdptK1h2ID/HBi6FAAZtANcACE iHkChhoPRxiuToBXFukTFSz6qp1i+rhpyHavUYdH3WQ2lifqMPKKdm7/o1U8aqG2tXY0 lwKXaD6Fthhe9vAMeqIDGxCVyO1V92LQp92GBrMYRTNtf1wjbthA/fxc1Texf5TsGsU3 3NbA== X-Gm-Message-State: AOJu0Yz/tE8Q7s9OvtiZC193vgw0KWYZX+7h6ojU+O6PBzGw3jQpCvTC WJ9uM3lbqF75WCqyZ2io0Hznx6aBhHaw8NGO4j/rTfcyFeOX5Q+fa9pFsukIJCmtaoqrv5E7oY0 F/0li8Sc= X-Gm-Gg: AY/fxX6Accyy/sXU+syNCBCcwjYUReWcnXCTX6zVjZgRpZBohnhtQWZyPH/1nLvzbdA kbtfqEZYlVaA0n0Xwlw+yLCeUYNEh5RHKhUCqbzApQkzz/g01K6g72212dkLL+ziBlcSaVn/UzW dNbgL2NyrlO6qeV0yCq7z3D1Uuh9Ax/tVasPBzC6GUqD2+5tG9td9sqiVxdoAiexlj8O6A37b7p pCDgVmRf1J6SqTet8Ggw0x+5q2wWyNXI3uRZpGB7lpnA93WY6cnHy1N/K/NaywtujFk3G1rQ8mM 8mxLZZCcCl1JG6/YZXVgih2eJSjh4/BBq99Q1ltAfK1nqsywTZ4dkarYvls1WOHZuiNg7drwXHE zc4y6Ty8SiPz/PUq6S7ZKKQsnWABaSEcjQUlwszol55KWNIhUrjtMseCs7FVZKceqMJydPZ3y+e 0v/NsyDU/vpVuH9cZ6biiA7pa/OBWW0UTmV6+M8d+DkfK9lSrJ9Zhjymj5C1Gk X-Google-Smtp-Source: AGHT+IE+7QpyqkemrCjz7smCR4u5qB4Ydg7lXsIxsqGHh2+8bsGJSXuuUyFsH4gzHDfikghW5P6RoA== X-Received: by 2002:a05:6000:200f:b0:431:8f8:7f2e with SMTP id ffacd0b85a97d-4324e50615emr4172277f8f.33.1766161224872; Fri, 19 Dec 2025 08:20:24 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 04/24] system/physmem: Use explicit endianness in subpage_ops::read/write() Date: Fri, 19 Dec 2025 17:19:31 +0100 Message-ID: <20251219161953.72724-5-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161248924158500 Replace the ldn_p/stn_p() calls by their explicit endianness variants. Duplicate the MemoryRegionOps, replacing the single DEVICE_NATIVE_ENDIAN entry by a pair of LITTLE and BIG ones. Select the proper MemoryRegionOps in subpage_init(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- system/physmem.c | 76 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 17 deletions(-) diff --git a/system/physmem.c b/system/physmem.c index 7e914ecf648..9fe84679cac 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2894,8 +2894,8 @@ static MemTxResult flatview_write(FlatView *fv, hwadd= r addr, MemTxAttrs attrs, static bool flatview_access_valid(FlatView *fv, hwaddr addr, hwaddr len, bool is_write, MemTxAttrs attrs); =20 -static MemTxResult subpage_read(void *opaque, hwaddr addr, uint64_t *data, - unsigned len, MemTxAttrs attrs) +static MemTxResult subpage_read_le(void *opaque, hwaddr addr, uint64_t *da= ta, + unsigned len, MemTxAttrs attrs) { subpage_t *subpage =3D opaque; uint8_t buf[8]; @@ -2906,18 +2906,49 @@ static MemTxResult subpage_read(void *opaque, hwadd= r addr, uint64_t *data, if (res) { return res; } - *data =3D ldn_p(buf, len); + *data =3D ldn_le_p(buf, len); return MEMTX_OK; } =20 -static MemTxResult subpage_write(void *opaque, hwaddr addr, - uint64_t value, unsigned len, MemTxAttrs = attrs) +static MemTxResult subpage_read_be(void *opaque, hwaddr addr, uint64_t *da= ta, + unsigned len, MemTxAttrs attrs) +{ + subpage_t *subpage =3D opaque; + uint8_t buf[8]; + MemTxResult res; + + trace_subpage_read(subpage, len, addr); + res =3D flatview_read(subpage->fv, addr + subpage->base, attrs, buf, l= en); + if (res) { + return res; + } + *data =3D ldn_be_p(buf, len); + return MEMTX_OK; +} + +static MemTxResult subpage_write_le(void *opaque, hwaddr addr, + uint64_t value, unsigned len, + MemTxAttrs attrs) { subpage_t *subpage =3D opaque; uint8_t buf[8]; =20 trace_subpage_write(subpage, len, addr, value); - stn_p(buf, len, value); + stn_le_p(buf, len, value); + + return flatview_write(subpage->fv, addr + subpage->base, attrs, buf, l= en); +} + +static MemTxResult subpage_write_be(void *opaque, hwaddr addr, + uint64_t value, unsigned len, + MemTxAttrs attrs) +{ + subpage_t *subpage =3D opaque; + uint8_t buf[8]; + + trace_subpage_write(subpage, len, addr, value); + stn_be_p(buf, len, value); + return flatview_write(subpage->fv, addr + subpage->base, attrs, buf, l= en); } =20 @@ -2933,15 +2964,26 @@ static bool subpage_accepts(void *opaque, hwaddr ad= dr, len, is_write, attrs); } =20 -static const MemoryRegionOps subpage_ops =3D { - .read_with_attrs =3D subpage_read, - .write_with_attrs =3D subpage_write, - .impl.min_access_size =3D 1, - .impl.max_access_size =3D 8, - .valid.min_access_size =3D 1, - .valid.max_access_size =3D 8, - .valid.accepts =3D subpage_accepts, - .endianness =3D DEVICE_NATIVE_ENDIAN, +static const MemoryRegionOps subpage_ops[2] =3D { + [0 ... 1] =3D { + .impl =3D { + .min_access_size =3D 1, + .max_access_size =3D 8, + }, + .valid =3D { + .min_access_size =3D 1, + .max_access_size =3D 8, + .accepts =3D subpage_accepts, + }, + }, + + [0].endianness =3D DEVICE_LITTLE_ENDIAN, + [0].read_with_attrs =3D subpage_read_le, + [0].write_with_attrs =3D subpage_write_le, + + [1].endianness =3D DEVICE_BIG_ENDIAN, + [1].read_with_attrs =3D subpage_read_be, + [1].write_with_attrs =3D subpage_write_be, }; =20 static int subpage_register(subpage_t *mmio, uint32_t start, uint32_t end, @@ -2969,8 +3011,8 @@ static subpage_t *subpage_init(FlatView *fv, hwaddr b= ase) mmio =3D g_malloc0(sizeof(subpage_t) + TARGET_PAGE_SIZE * sizeof(uint1= 6_t)); mmio->fv =3D fv; mmio->base =3D base; - memory_region_init_io(&mmio->iomem, NULL, &subpage_ops, mmio, - NULL, TARGET_PAGE_SIZE); + memory_region_init_io(&mmio->iomem, NULL, &subpage_ops[target_big_endi= an()], + mmio, NULL, TARGET_PAGE_SIZE); mmio->iomem.subpage =3D true; trace_subpage_init(mmio, base, TARGET_PAGE_SIZE); =20 --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161268; cv=none; d=zohomail.com; s=zohoarc; b=X8jCce8izefhG5PwO10RC3ZDBWncULtdJhbrxGRpJdpb04DbsTp5bczV5/w+zxGmlIRstrR0OroceQBzf+vh0SAvJt5DVfN7ncpO6geQhPnX4KaYzWJJgJzGBwHzR1LN1Y6H+lPfwZh9KGxSEXRSDCv2Z1o3SCDXsDKPKtnrzLI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161268; 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=8qZvbvQLxaIlKx//0rppR03DDoRSMmrW1QNx7mn2Lfk=; b=O0ZQrbymepWUts9tMKccsv+mkcSeEvKNhOhR6lvlRtcfpg7q5Vh1GbWWpMpII6O7GMeChACJMD6u3/iwtfBcMDb3YYldRHc3px2uoX1iOYlVGflthhQ7RoZMvHfveKb6IxiRxyzpR63cDws0BAQ72ppJUA+UBUTt1NgO/HdGnPE= 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 176616126824410.76725398987287; Fri, 19 Dec 2025 08:21:08 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDd-0006Up-FQ; Fri, 19 Dec 2025 11:20:41 -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 1vWdDa-0006MU-Sh for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:40 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdDW-0005zJ-O5 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:38 -0500 Received: by mail-wm1-x344.google.com with SMTP id 5b1f17b1804b1-47a8195e515so15444235e9.0 for ; Fri, 19 Dec 2025 08:20:34 -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-4324ea22650sm5684542f8f.11.2025.12.19.08.20.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161232; x=1766766032; 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=8qZvbvQLxaIlKx//0rppR03DDoRSMmrW1QNx7mn2Lfk=; b=bkKSlrN9ujQNFTS7GaEQzdqozvshY3p1zFir2LZsMQFoiLlMhy3NfDbT2ZJTokBmLD IGYggWY9diVvws1XYXn685WhrKVGvdJzXHugxgQDBcPyUoCH1O8mCYHFjW6lai152CwM QLBk8/oU3w6JXpGSaTAq5cy18EF395+Ef1crHyOIDamkdffhcHXF3G6XXDKTxZHE2WqR HDIV62AyXyfn6eVAzwEXfaUs2YOfFJGCuLQ1HBjtO2b3WU/lrh7e2pJk6DIwBcwebXXq oGmWUxqb6QBuxpGkG64VP+4v0Gzshl5ZeESFI95OWb8JSOkNxvdappFYEOAAqnDRE7cY KNDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161232; x=1766766032; 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=8qZvbvQLxaIlKx//0rppR03DDoRSMmrW1QNx7mn2Lfk=; b=NhO3Rk3TslbMWu+IPPkqXS8DweTM9hAFZ0L8fEYK484U2fPSjddptwngY8ue0oyxDf aCrwtvLC0s9kiXjwx8OdeINcz2k8z4wcBCihK7xzG9/bJiWsfiZNH0rYBwm6fGbmucxX Hl2To9/XoER1Q3YJ8CUhD9jt3+T03cZxDL+BLmC8N4Ftx8VhFLGkNNtoJMTnkBn1uFSx GEDcYztzJqW9ALIBYYpYVKoUJWJyeRTvwP2Vp9lPprBFsIDOu3lyUIIaZ1W3bci7wahe aY5OKOvITz+jN2jMZ++KK81msCQU3Xra8N3tdeC4zSl1WfS26a9E7HWooOIuovg4UzAf hfVg== X-Gm-Message-State: AOJu0Yyly+AZJ/9XfNzG9wICM8vJInpEUS3vUKXB20h/8qh8rhKcqN4g wNzZssikEVBnUVyWnlGK4e4YkdgMf2w6xd0QQv3glKviC1/Wvidu6Ftw05qVtUqxqM4uYXUO2U0 7ify1x9c= X-Gm-Gg: AY/fxX5cEIDpPt72oY3ido706ofsA+0uUpMmOcyBWEAVPmGl4OpGBcB/0yU24lCMcFI /O4I2pus13fa0e3GQ21G69uuS3cCIyV0x0Pmt9xf+lhG432UPwHc+JVjr26ofadmJ07ME+2D0cI Se+Vy9Y5WATQ9R+c4mNplgbVWgcG6dnlNGSmqmDFOQF61mtXieuINveIlA/QiPCzgS8YCr7g6nq iaPD6f2i41IPK6bSx/gSvDOPHH3ywNxdZLLSDdBTsUdSSz3+ZSRIXYGW513hzewNmBlPcEG0oLm wCe2xI9nc6PQkxDIqOsCg3p4VPN9LD+5i4xx5aXS+YOzaKo2ifVN4AjJ7Cv4j9JoWXm8bnRxYtK esUWnjYEnOdx24YMLt0RCLXB5vNcps2qS5JJ9Ji8VRgvxzhQlkSs3GiFnI4NhL3sVphd/+xrZkg wn+PSDBR12mFQ9Mu/b6iaGWPHtCEALYooSFZZ52vKH8qQFz5Zto4mfDhuHr0+u X-Google-Smtp-Source: AGHT+IHl7YobvVrpKK1f1Oz9vr4sQvNGcg2bv3m//f6wdMvzYv1xmpCmo8Q7w+9M5NMrhAXYKYbFzw== X-Received: by 2002:a05:600c:4f52:b0:477:a978:3a7b with SMTP id 5b1f17b1804b1-47d1958a5d5mr37698805e9.22.1766161232291; Fri, 19 Dec 2025 08:20:32 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Michael S. Tsirkin" Subject: [PATCH v2 05/24] system/memory: Split MemoryRegionCache API to 'memory_cached.h' Date: Fri, 19 Dec 2025 17:19:32 +0100 Message-ID: <20251219161953.72724-6-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::344; envelope-from=philmd@linaro.org; helo=mail-wm1-x344.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: 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: 1766161269252158500 We have 115 direct inclusions of "system/memory.h", and 91 headers in include/ use it: hundreds of files have to process it. However only one single header really uses the MemoryRegionCache API: "hw/virtio/virtio-access.h". Split it out to a new header, avoiding processing unused inlined functions hundreds of times. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- MAINTAINERS | 1 + include/hw/virtio/virtio-access.h | 1 + include/system/memory.h | 185 -------------------------- include/system/memory_cached.h | 207 ++++++++++++++++++++++++++++++ system/physmem.c | 1 + 5 files changed, 210 insertions(+), 185 deletions(-) create mode 100644 include/system/memory_cached.h diff --git a/MAINTAINERS b/MAINTAINERS index 63e9ba521bc..c299b84d418 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3255,6 +3255,7 @@ S: Supported F: include/system/ioport.h F: include/exec/memop.h F: include/system/memory.h +F: include/system/memory_cached.h F: include/system/physmem.h F: include/system/ram_addr.h F: include/system/ramblock.h diff --git a/include/hw/virtio/virtio-access.h b/include/hw/virtio/virtio-a= ccess.h index 07aae69042a..3ea3acfe05a 100644 --- a/include/hw/virtio/virtio-access.h +++ b/include/hw/virtio/virtio-access.h @@ -17,6 +17,7 @@ #define QEMU_VIRTIO_ACCESS_H =20 #include "exec/hwaddr.h" +#include "system/memory_cached.h" #include "hw/virtio/virtio.h" #include "hw/virtio/virtio-bus.h" =20 diff --git a/include/system/memory.h b/include/system/memory.h index e69171de05a..90f375df5df 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -2855,140 +2855,6 @@ MemTxResult address_space_write_rom(AddressSpace *a= s, hwaddr addr, #define ARG1_DECL AddressSpace *as #include "exec/memory_ldst_phys.h.inc" =20 -struct MemoryRegionCache { - uint8_t *ptr; - hwaddr xlat; - hwaddr len; - FlatView *fv; - MemoryRegionSection mrs; - bool is_write; -}; - -/* address_space_ld*_cached: load from a cached #MemoryRegion - * address_space_st*_cached: store into a cached #MemoryRegion - * - * These functions perform a load or store of the byte, word, - * longword or quad to the specified address. The address is - * a physical address in the AddressSpace, but it must lie within - * a #MemoryRegion that was mapped with address_space_cache_init. - * - * The _le suffixed functions treat the data as little endian; - * _be indicates big endian; no suffix indicates "same endianness - * as guest CPU". - * - * The "guest CPU endianness" accessors are deprecated for use outside - * target-* code; devices should be CPU-agnostic and use either the LE - * or the BE accessors. - * - * @cache: previously initialized #MemoryRegionCache to be accessed - * @addr: address within the address space - * @val: data value, for stores - * @attrs: memory transaction attributes - * @result: location to write the success/failure of the transaction; - * if NULL, this information is discarded - */ - -#define SUFFIX _cached_slow -#define ARG1 cache -#define ARG1_DECL MemoryRegionCache *cache -#include "exec/memory_ldst.h.inc" - -/* Inline fast path for direct RAM access. */ -static inline uint8_t address_space_ldub_cached(MemoryRegionCache *cache, - hwaddr addr, MemTxAttrs attrs, MemTxResult *result) -{ - assert(addr < cache->len); - if (likely(cache->ptr)) { - return ldub_p(cache->ptr + addr); - } else { - return address_space_ldub_cached_slow(cache, addr, attrs, result); - } -} - -static inline void address_space_stb_cached(MemoryRegionCache *cache, - hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result) -{ - assert(addr < cache->len); - if (likely(cache->ptr)) { - stb_p(cache->ptr + addr, val); - } else { - address_space_stb_cached_slow(cache, addr, val, attrs, result); - } -} - -#define ENDIANNESS -#include "exec/memory_ldst_cached.h.inc" - -#define ENDIANNESS _le -#include "exec/memory_ldst_cached.h.inc" - -#define ENDIANNESS _be -#include "exec/memory_ldst_cached.h.inc" - -#define SUFFIX _cached -#define ARG1 cache -#define ARG1_DECL MemoryRegionCache *cache -#include "exec/memory_ldst_phys.h.inc" - -/* address_space_cache_init: prepare for repeated access to a physical - * memory region - * - * @cache: #MemoryRegionCache to be filled - * @as: #AddressSpace to be accessed - * @addr: address within that address space - * @len: length of buffer - * @is_write: indicates the transfer direction - * - * Will only work with RAM, and may map a subset of the requested range by - * returning a value that is less than @len. On failure, return a negative - * errno value. - * - * Because it only works with RAM, this function can be used for - * read-modify-write operations. In this case, is_write should be %true. - * - * Note that addresses passed to the address_space_*_cached functions - * are relative to @addr. - */ -int64_t address_space_cache_init(MemoryRegionCache *cache, - AddressSpace *as, - hwaddr addr, - hwaddr len, - bool is_write); - -/** - * address_space_cache_init_empty: Initialize empty #MemoryRegionCache - * - * @cache: The #MemoryRegionCache to operate on. - * - * Initializes #MemoryRegionCache structure without memory region attached. - * Cache initialized this way can only be safely destroyed, but not used. - */ -static inline void address_space_cache_init_empty(MemoryRegionCache *cache) -{ - cache->mrs.mr =3D NULL; - /* There is no real need to initialize fv, but it makes Coverity happy= . */ - cache->fv =3D NULL; -} - -/** - * address_space_cache_invalidate: complete a write to a #MemoryRegionCache - * - * @cache: The #MemoryRegionCache to operate on. - * @addr: The first physical address that was written, relative to the - * address that was passed to @address_space_cache_init. - * @access_len: The number of bytes that were written starting at @addr. - */ -void address_space_cache_invalidate(MemoryRegionCache *cache, - hwaddr addr, - hwaddr access_len); - -/** - * address_space_cache_destroy: free a #MemoryRegionCache - * - * @cache: The #MemoryRegionCache whose memory should be released. - */ -void address_space_cache_destroy(MemoryRegionCache *cache); - void address_space_flush_icache_range(AddressSpace *as, hwaddr addr, hwadd= r len); =20 /* address_space_get_iotlb_entry: translate an address into an IOTLB @@ -3116,14 +2982,6 @@ MemTxResult flatview_read_continue(FlatView *fv, hwa= ddr addr, MemoryRegion *mr); void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr); =20 -/* Internal functions, part of the implementation of address_space_read_ca= ched - * and address_space_write_cached. */ -MemTxResult address_space_read_cached_slow(MemoryRegionCache *cache, - hwaddr addr, void *buf, hwaddr = len); -MemTxResult address_space_write_cached_slow(MemoryRegionCache *cache, - hwaddr addr, const void *buf, - hwaddr len); - int memory_access_size(MemoryRegion *mr, unsigned l, hwaddr addr); bool prepare_mmio_access(MemoryRegion *mr); =20 @@ -3201,49 +3059,6 @@ MemTxResult address_space_read(AddressSpace *as, hwa= ddr addr, return result; } =20 -/** - * address_space_read_cached: read from a cached RAM region - * - * @cache: Cached region to be addressed - * @addr: address relative to the base of the RAM region - * @buf: buffer with the data transferred - * @len: length of the data transferred - */ -static inline MemTxResult -address_space_read_cached(MemoryRegionCache *cache, hwaddr addr, - void *buf, hwaddr len) -{ - assert(addr < cache->len && len <=3D cache->len - addr); - fuzz_dma_read_cb(cache->xlat + addr, len, cache->mrs.mr); - if (likely(cache->ptr)) { - memcpy(buf, cache->ptr + addr, len); - return MEMTX_OK; - } else { - return address_space_read_cached_slow(cache, addr, buf, len); - } -} - -/** - * address_space_write_cached: write to a cached RAM region - * - * @cache: Cached region to be addressed - * @addr: address relative to the base of the RAM region - * @buf: buffer with the data transferred - * @len: length of the data transferred - */ -static inline MemTxResult -address_space_write_cached(MemoryRegionCache *cache, hwaddr addr, - const void *buf, hwaddr len) -{ - assert(addr < cache->len && len <=3D cache->len - addr); - if (likely(cache->ptr)) { - memcpy(cache->ptr + addr, buf, len); - return MEMTX_OK; - } else { - return address_space_write_cached_slow(cache, addr, buf, len); - } -} - /** * address_space_set: Fill address space with a constant byte. * diff --git a/include/system/memory_cached.h b/include/system/memory_cached.h new file mode 100644 index 00000000000..1a07774b6ad --- /dev/null +++ b/include/system/memory_cached.h @@ -0,0 +1,207 @@ +/* + * Physical memory management API + * + * Copyright 2011 Red Hat, Inc. and/or its affiliates + * + * Authors: + * Avi Kivity + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef SYSTEM_MEMORY_CACHED_H +#define SYSTEM_MEMORY_CACHED_H + +#include "exec/hwaddr.h" +#include "system/memory.h" + +struct MemoryRegionCache { + uint8_t *ptr; + hwaddr xlat; + hwaddr len; + FlatView *fv; + MemoryRegionSection mrs; + bool is_write; +}; + +/** + * address_space_ld*_cached: load from a cached #MemoryRegion + * address_space_st*_cached: store into a cached #MemoryRegion + * + * These functions perform a load or store of the byte, word, + * longword or quad to the specified address. The address is + * a physical address in the AddressSpace, but it must lie within + * a #MemoryRegion that was mapped with address_space_cache_init. + * + * The _le suffixed functions treat the data as little endian; + * _be indicates big endian; no suffix indicates "same endianness + * as guest CPU". + * + * The "guest CPU endianness" accessors are deprecated for use outside + * target-* code; devices should be CPU-agnostic and use either the LE + * or the BE accessors. + * + * @cache: previously initialized #MemoryRegionCache to be accessed + * @addr: address within the address space + * @val: data value, for stores + * @attrs: memory transaction attributes + * @result: location to write the success/failure of the transaction; + * if NULL, this information is discarded + */ + +#define SUFFIX _cached_slow +#define ARG1 cache +#define ARG1_DECL MemoryRegionCache *cache +#include "exec/memory_ldst.h.inc" + +/* Inline fast path for direct RAM access. */ +static inline uint8_t address_space_ldub_cached(MemoryRegionCache *cache, + hwaddr addr, MemTxAttrs attrs, MemTxResult *result) +{ + assert(addr < cache->len); + if (likely(cache->ptr)) { + return ldub_p(cache->ptr + addr); + } else { + return address_space_ldub_cached_slow(cache, addr, attrs, result); + } +} + +static inline void address_space_stb_cached(MemoryRegionCache *cache, + hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result) +{ + assert(addr < cache->len); + if (likely(cache->ptr)) { + stb_p(cache->ptr + addr, val); + } else { + address_space_stb_cached_slow(cache, addr, val, attrs, result); + } +} + +#define ENDIANNESS +#include "exec/memory_ldst_cached.h.inc" + +#define ENDIANNESS _le +#include "exec/memory_ldst_cached.h.inc" + +#define ENDIANNESS _be +#include "exec/memory_ldst_cached.h.inc" + +#define SUFFIX _cached +#define ARG1 cache +#define ARG1_DECL MemoryRegionCache *cache +#include "exec/memory_ldst_phys.h.inc" + +/** + * address_space_cache_init: prepare for repeated access to a physical + * memory region + * + * @cache: #MemoryRegionCache to be filled + * @as: #AddressSpace to be accessed + * @addr: address within that address space + * @len: length of buffer + * @is_write: indicates the transfer direction + * + * Will only work with RAM, and may map a subset of the requested range by + * returning a value that is less than @len. On failure, return a negative + * errno value. + * + * Because it only works with RAM, this function can be used for + * read-modify-write operations. In this case, is_write should be %true. + * + * Note that addresses passed to the address_space_*_cached functions + * are relative to @addr. + */ +int64_t address_space_cache_init(MemoryRegionCache *cache, + AddressSpace *as, + hwaddr addr, + hwaddr len, + bool is_write); + +/** + * address_space_cache_init_empty: Initialize empty #MemoryRegionCache + * + * @cache: The #MemoryRegionCache to operate on. + * + * Initializes #MemoryRegionCache structure without memory region attached. + * Cache initialized this way can only be safely destroyed, but not used. + */ +static inline void address_space_cache_init_empty(MemoryRegionCache *cache) +{ + cache->mrs.mr =3D NULL; + /* There is no real need to initialize fv, but it makes Coverity happy= . */ + cache->fv =3D NULL; +} + +/** + * address_space_cache_invalidate: complete a write to a #MemoryRegionCache + * + * @cache: The #MemoryRegionCache to operate on. + * @addr: The first physical address that was written, relative to the + * address that was passed to @address_space_cache_init. + * @access_len: The number of bytes that were written starting at @addr. + */ +void address_space_cache_invalidate(MemoryRegionCache *cache, + hwaddr addr, + hwaddr access_len); + +/** + * address_space_cache_destroy: free a #MemoryRegionCache + * + * @cache: The #MemoryRegionCache whose memory should be released. + */ +void address_space_cache_destroy(MemoryRegionCache *cache); + +/* + * Internal functions, part of the implementation of address_space_read_ca= ched + * and address_space_write_cached. + */ +MemTxResult address_space_read_cached_slow(MemoryRegionCache *cache, + hwaddr addr, void *buf, hwaddr = len); +MemTxResult address_space_write_cached_slow(MemoryRegionCache *cache, + hwaddr addr, const void *buf, + hwaddr len); + +/** + * address_space_read_cached: read from a cached RAM region + * + * @cache: Cached region to be addressed + * @addr: address relative to the base of the RAM region + * @buf: buffer with the data transferred + * @len: length of the data transferred + */ +static inline MemTxResult +address_space_read_cached(MemoryRegionCache *cache, hwaddr addr, + void *buf, hwaddr len) +{ + assert(addr < cache->len && len <=3D cache->len - addr); + fuzz_dma_read_cb(cache->xlat + addr, len, cache->mrs.mr); + if (likely(cache->ptr)) { + memcpy(buf, cache->ptr + addr, len); + return MEMTX_OK; + } else { + return address_space_read_cached_slow(cache, addr, buf, len); + } +} + +/** + * address_space_write_cached: write to a cached RAM region + * + * @cache: Cached region to be addressed + * @addr: address relative to the base of the RAM region + * @buf: buffer with the data transferred + * @len: length of the data transferred + */ +static inline MemTxResult +address_space_write_cached(MemoryRegionCache *cache, hwaddr addr, + const void *buf, hwaddr len) +{ + assert(addr < cache->len && len <=3D cache->len - addr); + if (likely(cache->ptr)) { + memcpy(cache->ptr + addr, buf, len); + return MEMTX_OK; + } else { + return address_space_write_cached_slow(cache, addr, buf, len); + } +} + +#endif diff --git a/system/physmem.c b/system/physmem.c index 9fe84679cac..fb69cdb57d9 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -53,6 +53,7 @@ #include "qemu/memalign.h" #include "qemu/memfd.h" #include "system/memory.h" +#include "system/memory_cached.h" #include "system/ioport.h" #include "system/dma.h" #include "system/hostmem.h" --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161266; cv=none; d=zohomail.com; s=zohoarc; b=X92lOGQ4zatA4C2u/OCi3EtaVtsl0044RNVzmuyFPaypuGvUio/0dXBFNN1rSlOZ3rdFI8TuGyGT+9yiz8wJnikQe7pQzCl1sgFXUjh7/pS32el/uG/wAlGrt5nnK5LdolZAaX3ObsQ78hZjaTCXKpavFWayzHZqZl3EGX9Lx20= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161266; 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=0NIAoPJvrGX1p+tc7Ww/oBPK652DA3zeYsmkIjYDpeM=; b=e4iiIXYkbLKeah8rBN546eQeF266b/swMrNEiLo5LQ+2ePr4n0Yc0OSR7t/x+2Zg0SqyeoeHcA4BlESFshJdbNPgUxOypKCbYbf16ktf7zrvz6w0m1FCucL6tWR1/lVdYXCtrIKlvFObwcp+CXPjX1ctA2u27t2jEwA6HyV1W1k= 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 1766161266984155.34735796318057; Fri, 19 Dec 2025 08:21:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDg-0006iD-PQ; Fri, 19 Dec 2025 11:20:44 -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 1vWdDf-0006Z1-BX for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:43 -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 1vWdDd-00060J-B7 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:42 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-477563e28a3so12926025e9.1 for ; Fri, 19 Dec 2025 08:20: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-47be274e407sm102418435e9.8.2025.12.19.08.20.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161239; x=1766766039; 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=0NIAoPJvrGX1p+tc7Ww/oBPK652DA3zeYsmkIjYDpeM=; b=BicJdVUVTGJjLa0jb+d86SFC54gEkQfd2YtzLz/TB+dXQFM61tY0nfEL/IlgU2cZJR 2J2rE6xKmozD3U8SAMCfmBm+YCF1kqPLzNFF/y2IRi0KkofvG6JuPjdVI+wpbv7asvd3 +UPqCSjdZ8cKN9brsa511j8OG/tC/D63RoekoVocIZBISgVeaoXeqbLwCndMAcep2m8a 4hB0o7UXpDnaaMYsXGwQwrGVIN+MhP7y2+4sVilm8EZPRSd+BlvZymW9FPsJVNnq+Yti /SaK/aFuxqzyXHXzSgRSXSedQEjJeMCxxFbmeT92fYZRHIBN2+Qi5UFao4s4yxXeufIg 6xRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161239; x=1766766039; 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=0NIAoPJvrGX1p+tc7Ww/oBPK652DA3zeYsmkIjYDpeM=; b=Hpf0bT3JJ0p17I/HFAUm4dgQRYrB93vgEvrlc03/zY+qZf006Mc1UjrlGxt/tT4fav FZdh4UvWg/r0dzbzLzCEiA3zG/qnd3SZdD6tbVu8q001LdCgj06bzZsPvw9fh4ZMKDtN GZlhoGHlhR4uHCCe4TOOjdj7RqByTc1PJqM+UkZqkobgY3tSunEVWvLptXmE1VEC5tLP tf2YERihUDiKef6533/RlSmqLOkN3SBkLbg6nMf4fQJIKt1pCgzjM8apFSwa4LyoSsRF UjC7gj+Yklnh0tdFowTZLvsjeygTPN+glKbgnvYVYcBiIv8KmU0nhtH6yuTgmUOAJk9w rbwA== X-Gm-Message-State: AOJu0YyZOhnlnfBYg4tgkvkh01A06Ap0YOlAXWEQLpxpNP1kweiUglBT buCI4kjATfKEIo6euTrwuj6SsSzGHp53MRv/zPGpv5y4PyPI9bkZPS1HCwf6nmHrK4xRWCzUbBS RvweRyP4= X-Gm-Gg: AY/fxX7azMZ33nB1CYCklX4EPeWQP6ZOvcMNA0g314RAInDNEJ/OJnbZ7kWTgaSxdg+ E2R/Qk1zoLecU0IYxG2gc/BkeVQmwg1RVvIMrrNruEWLiRjEjQKkzP+f3vIQtHXJhozmcamx9mW A5hTh3H8pERua4SpZcac6+v2WunGRAyseRNkeorDOTfjK7EdNeIT9iiQs/Pb8i4sP+FA8INKakQ FNWYOrN/ZNl/fnG7YfmZw4C2PCEYl7rt93BrSt7C/WxUZFtvRmRskqhORub46WWAgzGC4kMB2zt buRt948cbszbb7TSb2lVZ2LZTy9dZRgcTnIBA0sj2PENAocWw+Y4VBCGzLl2x8rilCrhcUAgtIO xuHIqDsPVGYsYMBooAtgne8xA1NEKFiEtGJdUuvUs+Nr5XTzM0S/vhfOIZ5PAEhMPksID1UqRx1 xtLaWNnaFIFxNlwjCDYR9MAb+KZSxBGx1g0zUvEj3gZ/v1DmdOK72oiWtNebfp X-Google-Smtp-Source: AGHT+IFlUymaAKn0CkmKPYvUeb95/nx5pNl0MqB/urDVVfkMZLustvzWWwDnHzMDQPca0xyl8VscUA== X-Received: by 2002:a7b:ca4a:0:b0:477:75b4:d2d1 with SMTP id 5b1f17b1804b1-47be29f3835mr50926095e9.15.1766161239336; Fri, 19 Dec 2025 08:20:39 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 06/24] system/memory: Move *ldst* headers from exec/ to system/ namespace Date: Fri, 19 Dec 2025 17:19:33 +0100 Message-ID: <20251219161953.72724-7-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161269160158500 Keep all system memory APIs under the system/ namespace. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + include/system/memory.h | 4 ++-- include/system/memory_cached.h | 10 +++++----- include/{exec =3D> system}/memory_ldst.h.inc | 0 include/{exec =3D> system}/memory_ldst_cached.h.inc | 0 include/{exec =3D> system}/memory_ldst_phys.h.inc | 0 6 files changed, 8 insertions(+), 7 deletions(-) rename include/{exec =3D> system}/memory_ldst.h.inc (100%) rename include/{exec =3D> system}/memory_ldst_cached.h.inc (100%) rename include/{exec =3D> system}/memory_ldst_phys.h.inc (100%) diff --git a/MAINTAINERS b/MAINTAINERS index c299b84d418..f984891ac2b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3255,6 +3255,7 @@ S: Supported F: include/system/ioport.h F: include/exec/memop.h F: include/system/memory.h +F: include/system/memory_ldst* F: include/system/memory_cached.h F: include/system/physmem.h F: include/system/ram_addr.h diff --git a/include/system/memory.h b/include/system/memory.h index 90f375df5df..8043d295334 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -2848,12 +2848,12 @@ MemTxResult address_space_write_rom(AddressSpace *a= s, hwaddr addr, #define SUFFIX #define ARG1 as #define ARG1_DECL AddressSpace *as -#include "exec/memory_ldst.h.inc" +#include "system/memory_ldst.h.inc" =20 #define SUFFIX #define ARG1 as #define ARG1_DECL AddressSpace *as -#include "exec/memory_ldst_phys.h.inc" +#include "system/memory_ldst_phys.h.inc" =20 void address_space_flush_icache_range(AddressSpace *as, hwaddr addr, hwadd= r len); =20 diff --git a/include/system/memory_cached.h b/include/system/memory_cached.h index 1a07774b6ad..587e8a1453a 100644 --- a/include/system/memory_cached.h +++ b/include/system/memory_cached.h @@ -52,7 +52,7 @@ struct MemoryRegionCache { #define SUFFIX _cached_slow #define ARG1 cache #define ARG1_DECL MemoryRegionCache *cache -#include "exec/memory_ldst.h.inc" +#include "system/memory_ldst.h.inc" =20 /* Inline fast path for direct RAM access. */ static inline uint8_t address_space_ldub_cached(MemoryRegionCache *cache, @@ -78,18 +78,18 @@ static inline void address_space_stb_cached(MemoryRegio= nCache *cache, } =20 #define ENDIANNESS -#include "exec/memory_ldst_cached.h.inc" +#include "system/memory_ldst_cached.h.inc" =20 #define ENDIANNESS _le -#include "exec/memory_ldst_cached.h.inc" +#include "system/memory_ldst_cached.h.inc" =20 #define ENDIANNESS _be -#include "exec/memory_ldst_cached.h.inc" +#include "system/memory_ldst_cached.h.inc" =20 #define SUFFIX _cached #define ARG1 cache #define ARG1_DECL MemoryRegionCache *cache -#include "exec/memory_ldst_phys.h.inc" +#include "system/memory_ldst_phys.h.inc" =20 /** * address_space_cache_init: prepare for repeated access to a physical diff --git a/include/exec/memory_ldst.h.inc b/include/system/memory_ldst.h.= inc similarity index 100% rename from include/exec/memory_ldst.h.inc rename to include/system/memory_ldst.h.inc diff --git a/include/exec/memory_ldst_cached.h.inc b/include/system/memory_= ldst_cached.h.inc similarity index 100% rename from include/exec/memory_ldst_cached.h.inc rename to include/system/memory_ldst_cached.h.inc diff --git a/include/exec/memory_ldst_phys.h.inc b/include/system/memory_ld= st_phys.h.inc similarity index 100% rename from include/exec/memory_ldst_phys.h.inc rename to include/system/memory_ldst_phys.h.inc --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161302; cv=none; d=zohomail.com; s=zohoarc; b=IYndJvhSqFb0I43JF1j3KAJJ4V9/wfKpyeF/raFZDn5hUdHKNVPvKtd0L3gUbO8NZ5V2ce6VISE2cDAH2mWoNl0xqAMtBvZW1HL4pscQLnnxQWK4OZUXt4VPgr7oabXEDTG9Yj+FIwx7DhNcstKTCLRRqSyNwbTiVnJ9nckXIiQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161302; 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=U+LBKH6mpM3QJZ+LjMWVH1Zu0cPNjKfwSazzmUt2kNQ=; b=HcXMVApwZKen0xzOL9HHz6xqLGF2qL/yXoEeCQ14P+Jq2qWB303uy0W4MdA0IOlhiFWAhG9TcchlSip1mFZUwtp5JIdI+yXbuNd0Wpd1ITcRPwl65EDi5+yrQ2Eqk5eKRWCbTfUpHn5kyj+xttO4qsHWslniQ4g+qL4nU5z1lcw= 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 1766161302754888.6451564822652; Fri, 19 Dec 2025 08:21:42 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDx-0007Kf-Dy; Fri, 19 Dec 2025 11:21: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 1vWdDs-0007EG-QQ for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:56 -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 1vWdDn-00061E-26 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:56 -0500 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-42e2e77f519so1401036f8f.2 for ; Fri, 19 Dec 2025 08:20: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-4324eab2a94sm5790472f8f.43.2025.12.19.08.20.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161246; x=1766766046; 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=U+LBKH6mpM3QJZ+LjMWVH1Zu0cPNjKfwSazzmUt2kNQ=; b=hfVgAtn3OerjeWH1XHPfjMx9dSWAx4kKc7WTyaMT+TYgFsQCzDiFicQFPgYCy/efJA cNBGc4iqPmVBAjkKThCHoAfPGVoyX5KEKC+kjOqQj4+ZshmZRh49JQqukBtHudH7wHIV opyJTmNQKm8psFDGrCjM9cck/VCwksiZ0zN12CSi/F6Aw/+KhxwglC08txjuceHbTnWq dMsFoM5Zt/5jarNFSFlYFJYuvUEZiWvy1ZU9EV5IVlKIldDeAIPbUfHG4T7zp9L4JunI +l015p51XGQNhDucWACEQ4U+oKE61smckMOAAF81l4upKh8DH4O5z48Jbzei/D/URuTv HKlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161246; x=1766766046; 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=U+LBKH6mpM3QJZ+LjMWVH1Zu0cPNjKfwSazzmUt2kNQ=; b=WZ/y4YedkvGed2xYn+hI3tnZbCFbFeKgzfN86YjSSvB6MBirOxyeyKwxn94N/lTWqv hzNkRRXX5tX+KCLDjdMKgF/QiYxKAB4dr1w+GRQcxbhvLIjUfLZwjHzSHMhuUz5DHvuP HzKl+GC6EOtMgh1UxLie53InyXH0SCzIowYqFTEQDI/2biygbUm9D+rkXuzM/RPejYPq UiT6yTIwX0G1FM5ef6ZDUgIk5IsuwhFXcPU7GFDXVhsuPeiS8bY6iLlJSiRD90XhBN5B Jzffg/1Iy73mUrXW3mIm6eGcvhNidypViTufxCMP54Ww0RiQB4xpCnUtLy5OjKEG/2Nj zo4A== X-Gm-Message-State: AOJu0Yy2O262YYIZAS8deJJ7zG4WmBLGtSyjKLwFFOnZ3560REWF9jsP 5B+/jUAu3yrIy+l9r4MZ4vj1Wn4kbGYXt6x7tlvXO6AVKgpsAb1cbI4L+nQXzsLCnowzpqXipMT UoUWKDk8= X-Gm-Gg: AY/fxX7a4aoSwWJhYz9ArTWPW1c6f3WiiR7xojHDfWG5Ys5VGIMGHaYq0Qu+40xwijt Db2YPcQ3fvQ/NRtWJpTBcst5FtOnX5bN+dxlg9Y2kN9017UoFUB2Qkk9uKQ1HNxoOLko645OIch 8zhxAUjXsBqh98NUzPvwzrYHII0FVnSphxdlQyWttcnVMR5MzbRifFlft8OWedxtRujphmFUMIc gLKjH5flJkrDEF9zPFVA6AAkRh63YSd4zivL4pV2MsJUIhlHZ/EXmKzEuh5+9I3p2XGpdvrgpN+ ZcypiZLPvgSHhSmi79wUq8Sxxh98e6L2culCuNvPoyoGps72+6/5WKzRAMWqjrhFikEasfkWNW/ UWXWiVztsbEhTZzjtSzeiXOWw/ClRSpePcoj6hDue/uXhdbOkQ7akr0+oheyoxcYzhi71gtL4/2 VPbKLN1W5kIeM+7H/6/IBSgT2EsOH2U7j1JM30kKi9QaWS5Yi25FUAzioBIRX2LA4WB1gORHE= X-Google-Smtp-Source: AGHT+IEbdFvENNm2T3P7y/Dzi5F/D3Z6/aRSAG/M2kZitD0dYxX3crylYwSeWhfWzjwm60VOioH2gw== X-Received: by 2002:a05:6000:2906:b0:431:48f:f79e with SMTP id ffacd0b85a97d-4324e4ccfb7mr3716248f8f.25.1766161246277; Fri, 19 Dec 2025 08:20:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 07/24] system/memory: Inline address_space_stq_internal() Date: Fri, 19 Dec 2025 17:19:34 +0100 Message-ID: <20251219161953.72724-8-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161303104158500 As its name suggests, address_space_stq_internal() is an internal method which can be inlined like all the other ones in this file. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- system/memory_ldst.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc index b45bfecd137..d5776678edf 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -422,7 +422,7 @@ void glue(address_space_stw_be, SUFFIX)(ARG1_DECL, DEVICE_BIG_ENDIAN); } =20 -static void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL, +static inline void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result, enum device_endian endian) { --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161266; cv=none; d=zohomail.com; s=zohoarc; b=EtOq0EiuXc02W/18FJt1fRmZGt2qlj3vHIN15rsdZ2iWFppcEP4qyoXUgz1kPjjqGJVel9L9kz01KV2AgYdYqeGOH7XpJ//p2el3KIwQrHHnt/QdiZ7CQcVR869sUnAd/0rMW0AQPszyfrpU+ZRY8+aRg9Yh0dJO6QR7Fu30V9I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161266; 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=I+GwPmjJwUDLxqgq1ZwNl494r2E2zlO75p/HVBQGsG8=; b=kMEpAH6nMOxqS/6CpROIXKJSWJiCjKeg9opupHC7hm+eZkxO+/P+f9HRM8Uv8AdiPHXzhNb2Mc59fptxJ3wMKZ4GRqV2gacp/wjfoVwQgKUoBFfdLjCwiLdVbxRTCVPC8XcT+t72bFmjTfVieOhbs7FJ7d9EP2+MKHrM10AQOkQ= 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 1766161266887204.61160529956317; Fri, 19 Dec 2025 08:21:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdDz-0007Tu-0F; Fri, 19 Dec 2025 11:21:03 -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 1vWdDw-0007LE-N0 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:01 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdDr-00061a-9G for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:20:58 -0500 Received: by mail-wm1-x342.google.com with SMTP id 5b1f17b1804b1-477b5e0323bso16430875e9.0 for ; Fri, 19 Dec 2025 08:20: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-4324ea2267fsm5668415f8f.12.2025.12.19.08.20.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161253; x=1766766053; 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=I+GwPmjJwUDLxqgq1ZwNl494r2E2zlO75p/HVBQGsG8=; b=MPqG2HrCH4uj5fYA4Uh1BTIseJacjIqNMB2lOysF7/1G43Q02GBqgJiGp7TLXpeqcN GBQhIa+i+/9NtxtQXxbceTvbswj770SbXV+H1vJ82VSzyv8MvfVCsHgH5wPwSUhHTP1y 8XM0c5p5/SXiHYCJsAvW/wk/9qAo5jOXoZQNc+E+VMWeQGZIizwQi7oYqA/sB5D2GYFZ Mbij3KXuTfHk2G82OpoVFe8a/j8OiAWq053eHQndKKsOQA0AK9JZsdspmv/RkKCF+eZ/ NXdZptFYw8ofEJz34s/lLWJ9YPX/2UL4kKBprVap6Z8xSVZ0yq8LcHQW3aq+zIoyHzv2 ATWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161253; x=1766766053; 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=I+GwPmjJwUDLxqgq1ZwNl494r2E2zlO75p/HVBQGsG8=; b=U/XUqcfA5XgjkzqoVXPs5w3twqoHB99fNKmj4f0mm6wRyjYZ6/1Pij+mdQ+Kq0ddfE MTiY5n7xvUo5TL32QKRT04b2AWG4BCcdnyPkFXCMxPeXOniWhwNoocnM4aD4SZ5mAW6M UDcp0R4JxamVcNUPQGiDxcTuFi9RuXUXGRFSzei7zCcDIrIMRTipVW05lIsYIGI9fqDU pHgPtrJKgu8iahmLD52wAaOH9g3TFeOc3/98wKX+6DhcpEqNO0Uv9LLKRk538Dnpntkp 0SrnxxxDdHbn9R28m4XFsN2GpI5Vnn6QxD9RFisBXK+Y89s1uzOSDZgCK6qYIlCT59L4 0Cdg== X-Gm-Message-State: AOJu0Yzja4nwuSxhpdTb1NcSuvQIHVpBpgZKEgZazl1/PnPDz0Z1ytap mOsQWq4u5KLa0OGY4s0Hv0seHe7lEbdwXx+n0ekz6ieg5ZnW8aQ00gub9mXOTf6/jVr1nZ/XXJu f5Pxan5g= X-Gm-Gg: AY/fxX4S9W2AEpiI/7m1VakPTqY2PjbiMFqswVJQMq+xdXfjY4zdHEwsO1K56KGFR32 vEmHRZ5vm+GY3PIw6TerDLUVgCKKkK02v9Cci0jS3ElooNkO8RDKzNXy4IX71FIGMs1syE21uUu YXXRRkYctTu15hRdwZofAIGuvvoHdL2skZqcYbVdXLEzGOz+bW4omZKA0G4SmJA9ne8Z58nLkWx SjmH4eDeFQfYQx/hEjHK9TbutsN1pn84BhNLoD1h4W45fUv3LIqbLYsqwXvoXxXOSRtpvsTTwnD ppv6CDQW0ayqJGFvecz4vIV/TY4y89m4S2eF+lklnNKHq7iqnY7905RRtXcqGek6Sw0wr5qDNwQ gKl+obAuVlYQcKSMtKqpxHtnQqCbi1ffWc7YY9+VuPgRGjCd06v6MEAXg4zKLYX7CVgH4Bw0xWW fxY726CIFEewhzzVkRU1JdajyCL5Tfx1LqYpQBiuMLtQTqQjBXGye+M7dYvf1z X-Google-Smtp-Source: AGHT+IER9SzASLvCdrsArH4en5KdUl9HRkqwyH+EqE03G/lP1eGEnxNJYNJ1Eo58zyMlzV9xwM32FA== X-Received: by 2002:a05:600c:4d98:b0:475:d7fd:5c59 with SMTP id 5b1f17b1804b1-47be29f362amr50463245e9.16.1766161253360; Fri, 19 Dec 2025 08:20:53 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 08/24] system/memory: Define address_space_ldst[W] endian variants via template Date: Fri, 19 Dec 2025 17:19:35 +0100 Message-ID: <20251219161953.72724-9-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::342; envelope-from=philmd@linaro.org; helo=mail-wm1-x342.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: 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: 1766161269280158500 Like we do for other LD/ST APIs, use one template to declare and define all endianness variants of the address_space_lduw() methods. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- MAINTAINERS | 2 + 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, 136 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 f984891ac2b..18168c0b1eb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3257,6 +3257,7 @@ F: include/exec/memop.h F: include/system/memory.h F: include/system/memory_ldst* F: include/system/memory_cached.h +F: include/system/memory_ldst* F: include/system/physmem.h F: include/system/ram_addr.h F: include/system/ramblock.h @@ -3266,6 +3267,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..4efd7f19f7e --- /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: LGPL-2.1-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..6c00edc2148 --- /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: LGPL-2.1-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..8aa6ebeebb2 --- /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: LGPL-2.1-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 Mon Feb 9 08:41:37 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=1766161295; cv=none; d=zohomail.com; s=zohoarc; b=Vx33TFe+y/LJz0XQ7542k/8gIaZHeda/qbq6GefMW44440KMrcei5edrsWZZ7rraXeu2WF6tZNfecHcgptXW6gm9QtlGxKBSs5NT2Q3pmdNqqgnBBDxGSJGyhhmEBLeI8eRN0RpbmOSefwn+3EsSkRmwHJ9px6rAFtKckhrcdvA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161295; 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=KyS0FnqVUQjt8tSrF+XOt6YbIemfMNcjBOlxEn8CI/U=; b=Jemix16PL0RtNs146X9/+CiLtlKAVEXQGuI2aEYzLTLFWc9hwUNADbhBDBdhb+9pviPIP2ZJTQQaTFAfWQg0VvEK4fCCWXn4wNB0A7PF7VSfJ+s5V8dKxBOSusUfzOW8sbpbFHuuihxgyKex4+RkKRsNLa19Ne4q1zhINuLIp40= 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 1766161295436218.73172759564818; Fri, 19 Dec 2025 08:21:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdE3-0007kE-0u; Fri, 19 Dec 2025 11:21:07 -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 1vWdE0-0007Xm-V5 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:04 -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 1vWdDy-00062z-Pn for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:04 -0500 Received: by mail-wm1-x341.google.com with SMTP id 5b1f17b1804b1-47774d3536dso16643885e9.0 for ; Fri, 19 Dec 2025 08:21:02 -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-4324ea82e9fsm6084615f8f.26.2025.12.19.08.20.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:20:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161261; x=1766766061; 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=KyS0FnqVUQjt8tSrF+XOt6YbIemfMNcjBOlxEn8CI/U=; b=fXdtnBxODWBa2zmmMre48gESPTrNUDcsG7/WisP97NLE0YaQa1Q1SJ/QfUwxtl3hgr /+Tocd8XEbmiGx61ulxtPz6dDl3QgPryfQhGblXTGr5ib6f+1OBOocqXqnytDefu0ClF VvJpZBJQxWQ1bkP38E0+Ux5tnr8pb1mM4euwv2ROCZ8DhLa6FUCqJ0z3GFKFb3bSuhOf KaEXvVhPcEJ8V8x7fczkfy/dbsuRhIky/g2ym7eG5tIfWh8x3itmO4pMHmyKwZ7FIcu+ n5lmraBLqeq4A/OdELnZfmG809mSGEq/LgjPoXxcoRAKo6Nd/7zyKCILSqCrB/vQLmDx AziQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161261; x=1766766061; 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=KyS0FnqVUQjt8tSrF+XOt6YbIemfMNcjBOlxEn8CI/U=; b=dDAXKnZFisOWgMeeHvq7TzLFHD07H1OLqPSE/NJupNbKw6VDRKmXxav8byOPMNntN5 /tayInvoJ/TFmzo7oJ6v6gaRMm4uHlHZy14Gwbtn/1+TPAGWZM1GoE7N3Dx7YmrbOXgg SjzifjX3fnMde3KYLYD241zodCPUi00wGMi2Dq4RN1ACkimumPWWiNVL2eObwbA7Fzc0 h58GAIux/KBBwAAm5JnOewQZGIEsix+GKjTF9qeKD+QLvN6gNVQcxjQgDDoat1OWB7ig B3t9GXYeSRyMNo8miQezifl4LDEotuH7t6g0ZBhd0kKfLBPITmcG/ZVPJelJOCUR6gzO VV4w== X-Gm-Message-State: AOJu0Yx9lt4/GMvcJ1SAPYLW/Ud2DbawjidfMCtHRxm2TLhN66hOfgho FxAXnust2Q7fhCMqqTcP6r7aueoqVRSb+l6farDzpRZZ2G4PKP/cEQ6nOj5JqkyAqJOXr6nR75E UD9efd78= X-Gm-Gg: AY/fxX7UlC0NMxuBrOQoxtMcpnyUqK90tDcvchkKosqc72SDvz+NcT6egf/SpC8ODtG mYHlfLeVne2woNnuDeI5RD5/O9c2qNI5TNFLdgMKQVsF+kDnGvNiXvSM81MkLj7L5fPdn0r3wpr GfswxYdhFwegibezwe6nfIkebZJy4PRwEr027niYNpTGZXYbVdnl0428S5pD5/OwddPF0zPI7J5 t2pFyQzpbh4ySHl/cg/hFealqep55sbO6hAcpAr6Ka3AX0h+ToeQ9vT4ijkhYECbk78HFupB4Xj HyeJJ79ehLvnvxruR02/x0JtngEVtQnoUb8E4MDsL/e56zKeBOu0HqIrQeAC1eDuv0uHsvKV+IO DFCxd9hDEcgXvQYcmLpT2wRjqOiSxctgUVwumE1+oNUCKa/6IcJvPReTTSqsCrnCBvxtk8AiCoZ eYfULuEhjFk4hDG9WosTHf6dsup79EkfycxjOWbW8mE4vB+bxE8PuPneenvCmu X-Google-Smtp-Source: AGHT+IHavcLSua1k8pZUMIO3NXbXubPU526QfxJ4sQ4BR7k2JEZsosUeBLlEdnOyoY3CKIn7/ddANQ== X-Received: by 2002:a05:600c:8b35:b0:477:9890:9ab8 with SMTP id 5b1f17b1804b1-47d18b83100mr35115805e9.3.1766161260673; Fri, 19 Dec 2025 08:21:00 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 09/24] system/memory: Define address_space_ldst[L] endian variants via template Date: Fri, 19 Dec 2025 17:19:36 +0100 Message-ID: <20251219161953.72724-10-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161297189158500 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 4efd7f19f7e..a3f543a715c 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 6c00edc2148..0ec550979fa 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 8aa6ebeebb2..5bb59ff3d8e 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 Mon Feb 9 08:41:37 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=1766161297; cv=none; d=zohomail.com; s=zohoarc; b=Q9qY1+ucPo3MHF4tF8pG4Qlf63YbWR1GXM0mX6vH8kng5v8DVg0wMS91YvD8BJH/A5kQBB/GpWDtb1X95QB325TxS9T1vp2ZXEcrhEr9itV9ufkseS6lExmakfTeIPC75PbhFJxGK+/dgLmpn8jtO5UdHr7fqg95QszrsmdrHko= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161297; 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=VMQNcwc1QBRqggcyXy+nSD7ppYk0Wwanq3DE9eqrTXg=; b=B6fUXMSw0VgOosTAAbLamOHGuxSBprC60li5H+A6M8LI/rG1/pZOEQEmswWYq+oTaqQ0o7z5ZolWmBhLTAHtIG9OdwNSRdGIJvTwJVratbQX7TSASz8nPjyfC+arj+8cZdD2+RCXPo3mOakpd2WL7LMpPCqO6wCOgSIgJIQVdro= 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 1766161297041833.1347164817314; Fri, 19 Dec 2025 08:21:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdET-0008Fj-AJ; Fri, 19 Dec 2025 11:21:33 -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 1vWdE8-00086v-Nr for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:14 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdE5-00064E-KC for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:11 -0500 Received: by mail-wm1-x342.google.com with SMTP id 5b1f17b1804b1-477632d9326so12224345e9.1 for ; Fri, 19 Dec 2025 08:21:09 -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-47d193621c8sm49585845e9.7.2025.12.19.08.21.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161268; x=1766766068; 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=VMQNcwc1QBRqggcyXy+nSD7ppYk0Wwanq3DE9eqrTXg=; b=ug3MYcDbltlDmfjYL9pSQ/g2KhyC72b1QjpettiPI5DSlmUzAXjU8fyJfQunQYfvoC 5cYXgfXeFVqqi/p494XSzGQpR+m+SM7fVg6spUKT2K1c048QfQP/J9Zk+7dwihn9p+S9 zzREl6W3gCQZbfX79p30fb0ZG17Sh0c0bBkbWdXmQRlXTvZ/W52ZxlNMt06FeeSG+pVv Cj+BlyOKKiO7rQiRmVtMiqqfT45wTENdSf+DimD+uoMAQRCQdgsxA4DZPAIQHmkQvFWK R37im9etp+cSa1XYPBI2MzP42hMgV8ss6vWQJLIWp0tE3LFKmhe4gHe6gxAdbrlVlerY d62w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161268; x=1766766068; 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=VMQNcwc1QBRqggcyXy+nSD7ppYk0Wwanq3DE9eqrTXg=; b=mk+lGzy4ZP8igK2ymia115JRiySupekDsjfEuFhVRjBnJrGNdeR9aFrhgilWP8TXqL uWB7zwlcX0PSxq841AbogrDNycLsG5yoZbQUSKDKePehW2KmeQ6uVnA/I+yLxwff+Mjw BSyGrBE0frAvI4KZUqsm08uowXTYClrHEfMaIoXhmLMlQP/YV/k3sC//Gb/ekjFTvpBT sK/H4nQvTpooWYECvl+oDsuxsyld0vbkKAOxNiRiDbrrdr7jNGG0iZl3GHuNR8DWA0SR MyWwdZxrdh8fLBqUTNYmw24KNeHHtGWMAs+UnRtsk4bCeiU7z6tjTR80jZcqTkX0as4C SLMg== X-Gm-Message-State: AOJu0Yzzy//IugL/XoqWRTIG1YYMta5+SUC/uobdfRLUDyIcGPiLSYqP Jrd8yjLA/oeyI/r/pXCj7tCaHF5R/4/+o0yej+S6/yMuGtkZ85cKuB5Tj+v4ZO17hWBH0qwGGo4 c9bvBlis= X-Gm-Gg: AY/fxX7iXNPIjJvGW4PkuZb+SPQr1BWgCznMa1IUf5jnP2oAg10G8XUMksghfIeClWR l0KdhnfNe00QY12YwGiGW2xz9nAA0lsz69XO0RJ2wEAEuNB1uv8OjQW1Ko99HMtLJ23d+HZOpQx 5p+78ckxXwAxyGIKxViFKXYwZrFyTQ2mmz78DS/jz3lP1oGAGS3IFMrwAsqOFdaR3+OjQ3J8q8z 0SEUEGEntgJPXoWXQFwg51oOgXdEet0FT3TAXER8W/tgFVGOcrEgSgYElzNR1DQUYlBydnQXevj L8Yye0e+nW4azIV9PGpi8kZItetpLhKjkdVBmtbxzjXSgFYchdQRLc9RSQXjb7MkuXcOS29U0bh djM8LL/wauxXfA2dcU7Z/GAqs0xE6cSF8ZEH6jMuGbxG3MwbKpsYiky3pFSPeD0dAD4fimxKLGU R0GFeZ3NYm/fCjObKq9itwuWittpf09sknhFxu168IApQE3nWgVuOx95Bfacky X-Google-Smtp-Source: AGHT+IHdaAEhKiKvosE7gQZlI1Z84bkmoM67gQFij9N2TZXtdopIyZix8APAAC3LVRh/MUeJNjVloQ== X-Received: by 2002:a05:600c:3b0e:b0:47b:deb9:fbc with SMTP id 5b1f17b1804b1-47d1955b7f4mr28664665e9.2.1766161267730; Fri, 19 Dec 2025 08:21:07 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 10/24] system/memory: Define address_space_ldst[Q] endian variants via template Date: Fri, 19 Dec 2025 17:19:37 +0100 Message-ID: <20251219161953.72724-11-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::342; envelope-from=philmd@linaro.org; helo=mail-wm1-x342.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: 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: 1766161298977158500 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 a3f543a715c..ec86e42afbc 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 0ec550979fa..9603d886867 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 5bb59ff3d8e..16d686b50f7 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 Mon Feb 9 08:41:37 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=1766161301; cv=none; d=zohomail.com; s=zohoarc; b=eUlEO3i6qug1P9rgboMbpoci/An5tkf83UlANiThCWO7+yin1mdZrTO0NUwO7CmzvHhFxFvHuoGtNgGEKbAQ1S6S517w2UpZQ96UGkDtnt/UIX3oENwR149a7BRdqcyyecqw1X1Cn1h164wjc8gWTLN/nCh5qZnNL/eGo9+hNCI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161301; 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=meXF2SK9eIlreaRt7/f1ZyEA/D/whrGmhDsoxwqaW8A=; b=Jwbc9zdX3HcvxWquhGgWuiwDizY25uM0bF5Oc15aHZ44S2OVWwt3RMgFkzErazsg01QoRHX2Z/iE6XCwvLKi4Lk3/n8EmRsiTzlpzfWvSRkZvj4HkDnM6+eJjqv7IumadyaZTREOcRZrE9IFJ3bQQgSb/fjU0cmPp7rIw1JbVaI= 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 17661613019681010.7987023691104; Fri, 19 Dec 2025 08:21:41 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdEY-0000GJ-7g; Fri, 19 Dec 2025 11:21:38 -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 1vWdEF-0008Cy-KV for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:22 -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 1vWdEC-000651-Uv for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:19 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-477aa218f20so13016095e9.0 for ; Fri, 19 Dec 2025 08:21:16 -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-4324ea8311fsm5727634f8f.28.2025.12.19.08.21.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161275; x=1766766075; 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=meXF2SK9eIlreaRt7/f1ZyEA/D/whrGmhDsoxwqaW8A=; b=LM7SnO0l7I9YvaNc4AoQz56EoqM8//25wUqnmaJ1ET3vBsRPFCraKcik5iKDydVyxw 8vAgdHtCL/zTth+KnYwjxyZ3zxjtBCLkG+1mTMavpRJ4Z93k7wfWCb1062MIA4yHKIuQ IDxWwKHNMfCvPq4zn6PN2WRNtL24/I+aYPZvPeNhr8RnIagf2eCNQ7oPum7PMj1tKnHZ ywzYVSnBwB7qAxhlui0GJjd2AFWkRG/VmIcLjtCuO15GP6i/2prqUs19VZdUPx+DXmjQ 2F4+xdTdl16adQ8aneLWHmaLJ+SpLyx8DNsy3TVBM5cbBA0ADNiKuaqWW19StSY5D1tX PeNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161275; x=1766766075; 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=meXF2SK9eIlreaRt7/f1ZyEA/D/whrGmhDsoxwqaW8A=; b=VX6+Lc2P9YJCD2LjNrD8ImW2eIOUVU35fN9ne19APkjzmtU+kVIddamoGvkh/HIpEC RRdsrtr7fa+TJLQS0j33uSwtaHybHP/Wg0iMd9RnVZYXiNKP/q5W6gh3A4w93EDsBBb0 hBJ7ghw68J5n0kSO974lzQgqRnh257cEjnX/JKZCGDP1bL45SupQsxOqZVLlbCaTLQK5 6ANlHiIdbt8TWX4L90q+j2fFtchcDHwROfBAbGzpo2nIkchQNQr4c3mvQg4sR+oLYLb2 z9LiSmIvxR5hanCAesn/Kd1kCDN/d2y1JYc1gKqD4OeDL7hBCudnvcVZwrMzVJcyrvDf O3iw== X-Gm-Message-State: AOJu0YykHIIDKTxmG0VUCAOG/d2RoYrIIDAcK47rHbrZ5FcZE9PCbPrn EH2zWlSr0HzmsijV9kEC/TRAGpaZmkskFZHFGdO7jpJ8694QacYn0lpnaayomOdIRjN73yjakFP Wzbg6OwM= X-Gm-Gg: AY/fxX5p4SLGeH5WMsI09bqQ8MJGUTbZnXlamwwEVu7uxsVlHqKmLFwO2vTTcD3yMUy s6d5rtWr3JKFGpAQxNTzFOIiT3eQpNiEdQYamNMybfbBS7C5PGTS5DP6atoWWDYXZGfBl93WFNP 0kjiBgUb7XT+Hoj//AcwEEoCvOZCBrPtnl1xhBD9qxtkP64LWkG8fs+Ea7ncUgT2ufkVsTrDZEU 7gxIrAV22WJxNyorW+2qMLoOTR/5IzVrzZWzbsq3J5GlKQvrP43KCTZW90rNkoKHtdYSGB04tAF eEEm/f7ohraI0QOjtXHC404EerarytX/72y1LwGbIgBiky+EM4WORqmNTvIvxQi6vTksbBsYO3d K1hDbi+lwmSM8oa5hdFxr7yin6sHJJzzVzHNjxazE29YNcKYZa8/ZYox7hNrcdwqqQeVtwzu3Qf YxEFGqc37KNwjRAvnoWmlH9jzTAW4+xnBz0bwZ32vbnfnImjF5IryxvD81jsMo X-Google-Smtp-Source: AGHT+IF/LR04t+O/Rf1khTdrFK3fGvADUcKocP4ZAwpHuUKbvVZqC+NN8jvyuKTaU1qSf/FUB4RXlg== X-Received: by 2002:a05:600c:1d1d:b0:477:a21c:2066 with SMTP id 5b1f17b1804b1-47d19532f48mr32874365e9.5.1766161274782; Fri, 19 Dec 2025 08:21:14 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 11/24] system/memory: Factor address_space_ldst[M]_internal() helper out Date: Fri, 19 Dec 2025 17:19:38 +0100 Message-ID: <20251219161953.72724-12-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161307223158500 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. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- Do we know why this warning is here? Do we know why we aren't asserting alignment? It makes me wonder if the ldn_*_p above shouldn't be qatomic_ld. And more so for the stores. But that's an existing problem, not new with the refactor --- 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 Mon Feb 9 08:41:37 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=1766161316; cv=none; d=zohomail.com; s=zohoarc; b=kFz9+SDV/oJ6IrZhf58WAnXOH8asGPepcmVREzorplSeV3oKsrzfY719L3V+4XzJ1QItKYk0sgMU4UcwUeJglN0XjqTdVh8/rCVcr4w8EwwaqhjHDNm4mS1QcFFhyeE7JbtnnUJUHZQ0t3AA0EpSoYn4wj0SK9rd3NDmyQtl2ng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161316; 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=UFVhD8dczJbMkx90KKbndfFREu2le89IhK/CmXUoOhk=; b=DHuF9QnuwJyFrhCBbaem6V/J0yCReycGIfAPdHHAPHnMm/gb8kCg8dwalWq7elfAYm99iAUDtF6Uyd/bjmVaiGXNZ8IuqEB399gVrNVYiZ1JCXtEKus6uY7USGHRMaHp/c+iMu+mDUSbmdEEDUfs/1Dkkia1VPF/WmE09WfY5mE= 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 1766161316317581.8997079863487; Fri, 19 Dec 2025 08:21:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdEb-0000ZR-V5; Fri, 19 Dec 2025 11:21:42 -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 1vWdEM-0008Nw-3p for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:31 -0500 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdEK-00065v-3R for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:25 -0500 Received: by mail-wm1-x343.google.com with SMTP id 5b1f17b1804b1-4779cb0a33fso20177945e9.0 for ; Fri, 19 Dec 2025 08:21:23 -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-47be3a33c1csm42897205e9.1.2025.12.19.08.21.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161282; x=1766766082; 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=UFVhD8dczJbMkx90KKbndfFREu2le89IhK/CmXUoOhk=; b=YGqGKDJiFElxx1Ee34QGS+q3NX2RcqwPfCk3eqNr9HX4sF6S+MNDRmzsbecQeQTx5h 49S/d0+2LUG9vtKBA/asTQRpsp2YQfCPGoENw4L2+GRFl2EywYXLvM46A69oATJqdDe/ XmMA52WU9N/VvHQMJ6ilmrmOzMTai0Ct5If7byzq9FVsivNlc+wdnnBfUQUyTJgnonXx I8ktk25/m1V5BKPDCzQ5uljeZD8NBPbJLvI9P5IPvzjbcdqeJW1UJ4wIu5OAy6Tj+ZEP 00fSxdRSvZ+MLAJN7Rk4aduYVHDbImsiKJUe0qurA7+FTLy4PfV2qi4b0iFPPK9vDPAS fyzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161282; x=1766766082; 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=UFVhD8dczJbMkx90KKbndfFREu2le89IhK/CmXUoOhk=; b=Shap/abBAL2z0O4GoYFn7eU5OoRz9xvE9ko8eQvqbT4UzjLFT9vVjHOUoKOg4kcVbk ye96NFF8xvQ2CIgwBklG1md+d9/fXb7Eqsc1BA1qSoJQCMOUk8V2EodwbKidUGUHA4OR wcJIfC+zXP9/vm3XWvBliYcOO7VZRN9z4oh//jzCIo3xDvWVsu2+irZtJWarQGB+buTQ TPtdX7cEbCuyDs+6v61aUOfY36dGMd/4CnXy78qzdT9oBn5XgUdTNdrhle+Q814qvxkh T+M5LDg9Zc1vA4orG6dBjJSQQTlhGxgFbx1DchInDAKVAunS3f2/ZUofFt2db3x3+WYk qWIA== X-Gm-Message-State: AOJu0Yy2BgrbHv2PfNvOD6q882IoaX8tDA2aEC4q0u8Sog9pBI0vrKVX dy3HbiyI8LqhhMEs/ufL+dFm6bQcit+6L4Qlrh2kV5FXT4KQ7Su8X5JciY4/LUOFibKptZdOQ83 bwN1ktFxLGA== X-Gm-Gg: AY/fxX4WmN+OjAcPYcAn9t/x3Q7AaZ5+XMAB0wq/snQdf/RWEBB0l8pUzN2BqVmQGYY oY9SffC58fybYIqdUD5M/MxyIn6GzkXOoD2UKdPpi836Kh2m/xzdWgLiFRcTHOmfptIz3+M7zUw IZ2KmzM8G5NX/ebHO4YNLdLUH6/50Xs5LB2anU5yaMxMeANf4Wlr2fFX2iIIagY4B6ACu//qwoO ZLBWx1mUCznMvlKBB7h3/tUyzzRETCcIkqTssRb0MVYD9dufHgkto9E49axcJhXNxi+6aiZ+n0R ua+HPCwOzw77Tb1uXZcg0B3C9fKkojjj4BbjtgU8MtUKrmdpr/f/EfkDwZMV0E/+xhhuZzgH6jS yru7VNKXVTGT3l8bfC722kBUBBthzsVha/r5pPMQG8r0PetOpLypCVA6YLfz60mQidhdSd6Ad7p uV2IVXUy8IrKkM3acJqX0p1wuHsjKoBfFJ6FyfYKu4x5KAVq70YKMv8KTNGW5y X-Google-Smtp-Source: AGHT+IFInvATHQk8OIVGXuZdZzuDvoU8kdb3BZAceJGzHXH8e9qRWxSmEg92s6evfXkodD8PmujgSw== X-Received: by 2002:a05:600c:198d:b0:46e:35a0:3587 with SMTP id 5b1f17b1804b1-47d195a06a0mr31651375e9.27.1766161281999; Fri, 19 Dec 2025 08:21:21 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 12/24] system/memory: Pass device_endian argument as MemOp bit Date: Fri, 19 Dec 2025 17:19:39 +0100 Message-ID: <20251219161953.72724-13-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::343; envelope-from=philmd@linaro.org; helo=mail-wm1-x343.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: 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: 1766161317162158500 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 16d686b50f7..29100c02f80 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 Mon Feb 9 08:41:37 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=1766161311; cv=none; d=zohomail.com; s=zohoarc; b=M6VfO45gdG/Z1yfwh5WEonsQSWbI074foBcTM7w9PxpY8DXhsOvm05KJ6CHV5f+WXC7s8dyRqGENwyYwNPy203P3IlkzyJdMMEyw1+O8Ef7qNdsZ6Rfh4kAuts8aQsoaH4AO0RSq6uNNGigKfz7J+WxYmiXIKA6H9sGz5cmQRwE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161311; 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=O5+tFX7MDSEvo8TlX3aoId7uaPwr1ONHpDvHVnXNwsA=; b=ZNBoOyaAo701YxzmhkaRjOWffEQc4EqeGHe2NxnwAjJPaTfuCm5xStNDO0LuKW1isfVKVOBGiVOi62XIaqsMa0i10GWKio1waugLFijXtPjh14Os1YrvuROlthVGJXUIImvhQPExf3Ht3JJPgkx9HZSDELou3G9GLfHmQ7EKZ+w= 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 176616131168860.77745246205018; Fri, 19 Dec 2025 08:21:51 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdEh-0000lE-Ck; Fri, 19 Dec 2025 11:21:49 -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 1vWdEU-00009z-Lz for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:35 -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 1vWdER-00066l-HC for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:34 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-47796a837c7so14713735e9.0 for ; Fri, 19 Dec 2025 08:21:31 -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-47be27c2260sm99443575e9.15.2025.12.19.08.21.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161290; x=1766766090; 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=O5+tFX7MDSEvo8TlX3aoId7uaPwr1ONHpDvHVnXNwsA=; b=a66tGDhfREK36KDMS5LiCroVN1Z6tCsUkZ1qcQx1rpYTh3lW2W2GhHTGhrxJzTKTvU 5FZYmYrP866jKxXl1A7p2Hukm+omwN0IZO6BkGDxfdm6sYvcXocbXIRPOw+SxbKNvblQ oWMwK4So87Q9xe/TT7PaBUUmmUCNiBnCCvVBs7KQy9BhsxtyILp0xJ6CmzgPZIeTD/sM KD+QysdLHhOqpbDh4oFvA2s91T/8I6njb1DKW4/YxATkbbIya0C1IPLCTcgG3X/4J1Vn CNaCfFhqeFCujYSwvwyyvag6WeQmod5LhNwvJkXuTmoXg/bfhE8rJFQV8E4K5q2DRYHc qrkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161290; x=1766766090; 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=O5+tFX7MDSEvo8TlX3aoId7uaPwr1ONHpDvHVnXNwsA=; b=f64L1Rjbc1n2Nf28SIIH0rUXhgFxmm9zwNClpGn5OC1P/ScwbMzgg9hwsPIWfxreaS BzvDZ+fF2sNz3rEVWxij9RelYYUVyotqZNPg5cbjCbar9o4ygc8aFx8dk4uZAMP4jSdu ok1Y4om2efid3fLfDK25DRlY4dkI6EoQbYkknCQV8TAuri/a/5w6gKT+YjwTMYnRHj/b 5HZBTNxC49dH31XYm8vnggswv/wMnOz2Jtoq6WHsnoE5K6ezM+owXq9l2+MgtyTpuYGz rbklT2Uz2PdN7ocsf8chMCde9lZU4NApTJx1fMcVRwFHB45lQR9t2NJIxtLKOEPHJati JNXw== X-Gm-Message-State: AOJu0Yyywg+Jy+tAdVQii5+OV0sgzZNHoQb6c7c5vMjXCK6A6kJ4Gvou +R9bb5huv0lgB3lUWqsDCwuptQBLPlFHaH36OBB1tZXFmA9ZMP9FP7md1zS3Sd83m0pN2PNi7/9 ZwV5BQH0= X-Gm-Gg: AY/fxX4N6W0QyNpU/Ld9dbFBzFRa5t4aqzT5d/Oc2b/+b6Vn8o8UVw5YbUK8Q939xzJ w9Pl3t9Z1FbgW90+4hYH+RXXYEdM1sJJKuVLQRmFAqoYBZH8rnTF8Y8qFrvsjlXxstCI3PUVfx/ ghY84GaQV0fMMcERUO85rwaXNyHFDvmg1Jrarp99OlYhE2PM/7e9zDCNcSfMXxIvypY4RTF57tb dSRyQp3N4E+qBEajoUQRu+NZUK5gPW2bb9D5uVgGgLoayUOZHmjvaaBAgCn7959Le+y8kb3b2kg Emj3ubsvJ3Zw1HyCOvrODMcGY0+uTbYYWDywSHmCNW26lVMWPmsnhfG04ahxfo4yumMlW1+B4bv XN7RYjVXOPY11oKX5DjxPkLxcvwRH4aKJuCIUKlU5antR0+4jkR7NK1PbmmexM8r06JAp7cVZ+5 VVqwaQiLx90Qhu0EL389mlKcR6GbYYAu0IwWwj102RD66hDI+4mZgNPUhsIoPa X-Google-Smtp-Source: AGHT+IGfi2/sfAbSI261p8kQDkvcMhiM9zZzCa/NPEZScInVSa+4ZkRkIDqZa+H7v7fzJvkWYW0zdg== X-Received: by 2002:a05:600c:c83:b0:479:3876:22a8 with SMTP id 5b1f17b1804b1-47d19555940mr35606995e9.16.1766161289605; Fri, 19 Dec 2025 08:21:29 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 13/24] system/memory: Directly call address_space_ldst[M]_internal() helper Date: Fri, 19 Dec 2025 17:19:40 +0100 Message-ID: <20251219161953.72724-14-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161313198158500 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 --- 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 5c8299e0cdc..20a2784e234 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -63,22 +63,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) { @@ -86,14 +70,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, @@ -134,14 +110,6 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DEC= L, 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) { @@ -149,21 +117,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 29100c02f80..7078666dcfc 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 Mon Feb 9 08:41:37 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=1766161323; cv=none; d=zohomail.com; s=zohoarc; b=IoyEnQQN7jydHdXlliwCzGLnfQQ3diDAysKEwTJu7vlCcp8V8QFm47cxhPftObFfTfMfn/FoJT2p1zv62jynbXn+ltM61MLo8LmSNEQBtlVj5NlvXKBKW0aFy7FX96j0j9HdHQ2T3Ku8YFcUJQI1lqdFpWU937q+opsn4Cb/Gw0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161323; 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=iFEGCZtzOscJWwxvEWIUNx2AGQ/JK9CrfOIEXq9Elt4=; b=Z3stv01hfN4kXNiP9I68ZFXJMLVsfxGvbLu/JN8WSM1gIiIdJkuHrf3E+6f7PlybO5X3971rHKiMwcV1nmVyDVZL8vOSGxr0Crccudt3ZbKb8quQCWONLqhzTQufQmzb2eidcij8RlGL7ZNmfj/dpzSRdlRjWvkVsFByxFtC9Rg= 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 17661613238111001.698118109761; Fri, 19 Dec 2025 08:22:03 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdEk-0000uk-Th; Fri, 19 Dec 2025 11:21:53 -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 1vWdEc-0000er-Dz for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:42 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdEZ-00069Y-V0 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:42 -0500 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-42e2e3c0dccso1224935f8f.2 for ; Fri, 19 Dec 2025 08:21:38 -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-4324eab2721sm5752327f8f.39.2025.12.19.08.21.35 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161297; x=1766766097; 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=iFEGCZtzOscJWwxvEWIUNx2AGQ/JK9CrfOIEXq9Elt4=; b=pJhVK45RqwhgOrSx7JsAEjxD1Wza3Eg/ZqMsMYNBavuVDkmZ/3ufy1xA7KxlRM1yeY flxswDFMwkkEWctBsm+oUeNUAls4380RU6vQ+rmKAoE5KMCoR3nhTvj9T3jkpNl/0+B6 UJgIAO7XZz3aPo9CzGOPTJ1ZUCiBYL/UdjMVw2rAlGse2c7ypauPOjnoPSbcu8gX+pgs bdWe9d0V3j8MB1JvlkO01Pw5zhuYU2++Z30ZMNWgb+NEbhCyCpf8KfYnQiKWqrAaDUga VEjHoW2ixUjdfmAampgcwL90itXztcYZ83xyM1FV9dv5cxrxjxFhXsMxmlkmd9GGN0TU H/nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161297; x=1766766097; 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=iFEGCZtzOscJWwxvEWIUNx2AGQ/JK9CrfOIEXq9Elt4=; b=H8VxMdwcLZl4VQoFzjnOOXw8GoDqqicjk9bwqQnWrGamjhvFj21trkyHbFvE8mJe7z Oxx58lSv0k4BkkmG9bayqiMmWLZuFBaB5rpIGZxOo5OCJ3nnB/w3+k8IIM0aODUrWnry dAyKd8HWXtBnoA1LIDctLTETMNyCRLAxoF+bSGtI1Z9sZpxvyLIofLvPTtyHv6NeRSUt KdvUXhJ+RAKqKG2cF5n9y0iDIehs8VXoj7r6nN+5j/hsNg1HpF5UdKdwSQI6NaWafuYC YryF69Gpf4dwgoiq2ccufDCazck1t9iT0VijdGWAtGVEwQLCyViWdTOrTacQGV0S9Ldi lp3Q== X-Gm-Message-State: AOJu0YwWXOV1Jd2+wb7vRMCpS8xWqVQAWH/Rh5R50do8PP1EpoooOgnH AnVpQCIieTlnfqN1HZKKTQYwnoLPd0/mdOSby31T5Qvw+4CeOBEuFeNoDiZBI9ce4VTnm1w+ywP 6cDG9A9Q= X-Gm-Gg: AY/fxX6LOlnZ35Q2Qa6ndlymWh4KonezFaCB10hfVN+DUk+2OE+RUnTXhuRnyFN0KY7 c9GvCC1++3mv+ht14iW2MuUShcF2Os45NRo3YhHNpkbio1hI5F+DCtUugMQ/Tnky3Zcw5O2Ufqu aAeL1amxrJ7J6yYA8kyI5WPfwIlUaM5V08cMvPqTy6OStbtqRckL2aTiFWafaEd9BkmmyEK0YJw Kny5sm2CfBS60H0H7lyJ0S0QKBA4jYhXy6lebIrkP614pQHPI0Ro6mm9lpq3jDrnyzowbC3244q M9yoGPuC955N0PkyKUAwrDI+G+CFkBe+2XMj7FzApT98vs857taJsAaxNV+oLHWuyz1eoqabwvp ljiOqaNreBSvCHCVicQUGBXGDvGBTNPvirTD6BS3L+Xr4DG1Ei92F+LtILVTiFMqWhPeEJWqhmZ sRAi/XAe90mK2Is3Lf842DcKxAPhu5N7FOMts/M5zJPyPdUlN1+L/kom3+CFuP X-Google-Smtp-Source: AGHT+IEFlcSD8N8MtPEev7k4tYzWGEyjxYs/GjRCd6fVHm3DRgObRQ0aQmVmygLM/V/3tvnmjDtR+w== X-Received: by 2002:a05:6000:2886:b0:42f:dbbc:5103 with SMTP id ffacd0b85a97d-4324e4fda18mr4030083f8f.35.1766161296620; Fri, 19 Dec 2025 08:21:36 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 14/24] system/memory: Introduce LD/ST helpers with @n suffix (variable size) Date: Fri, 19 Dec 2025 17:19:41 +0100 Message-ID: <20251219161953.72724-15-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.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: 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: 1766161325221158500 Introduce load/store helpers taking an unsigned size argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- docs/devel/loads-stores.rst | 10 ++++++---- include/system/memory_ldst_endian.h.inc | 4 ++++ system/memory_ldst_endian.c.inc | 14 ++++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst index c906c6509ee..8db6285538e 100644 --- a/docs/devel/loads-stores.rst +++ b/docs/devel/loads-stores.rst @@ -375,6 +375,7 @@ succeeded using a MemTxResult return code. - ``w`` : 16 bits - ``l`` : 32 bits - ``q`` : 64 bits + - ``n`` : size in bytes =20 ``endian`` - ``le`` : little endian @@ -384,8 +385,8 @@ The ``_{endian}`` suffix is omitted for byte accesses. =20 Regexes for git grep: - ``\`` - - ``\`` - - ``\`` + - ``\`` + - ``\`` =20 ``address_space_write_rom`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -431,6 +432,7 @@ device doing the access has no way to report such an er= ror. - ``w`` : 16 bits - ``l`` : 32 bits - ``q`` : 64 bits + - ``n`` : size in bytes =20 ``endian`` - ``le`` : little endian @@ -439,8 +441,8 @@ device doing the access has no way to report such an er= ror. The ``_{endian}_`` infix is omitted for byte accesses. =20 Regexes for git grep: - - ``\`` - - ``\`` + - ``\`` + - ``\`` =20 ``cpu_physical_memory_*`` ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/include/system/memory_ldst_endian.h.inc b/include/system/memor= y_ldst_endian.h.inc index ec86e42afbc..cf3b23bb5aa 100644 --- a/include/system/memory_ldst_endian.h.inc +++ b/include/system/memory_ldst_endian.h.inc @@ -20,12 +20,16 @@ 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); +uint64_t ADDRESS_SPACE_LD(n)(ARG1_DECL, unsigned size, 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); +void ADDRESS_SPACE_ST(n)(ARG1_DECL, unsigned size, hwaddr addr, uint64_t v= al, + MemTxAttrs attrs, MemTxResult *result); =20 #undef ADDRESS_SPACE_LD #undef ADDRESS_SPACE_ST diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.= inc index 7078666dcfc..2eb95951c10 100644 --- a/system/memory_ldst_endian.c.inc +++ b/system/memory_ldst_endian.c.inc @@ -40,6 +40,13 @@ uint64_t ADDRESS_SPACE_LD(q)(ARG1_DECL, hwaddr addr, addr, attrs, result); } =20 +uint64_t ADDRESS_SPACE_LD(n)(ARG1_DECL, unsigned size, hwaddr addr, + MemTxAttrs attrs, MemTxResult *result) +{ + return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | size_memop(size), + addr, attrs, result); +} + void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result) { @@ -61,6 +68,13 @@ void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_= t val, addr, val, attrs, result); } =20 +void ADDRESS_SPACE_ST(n)(ARG1_DECL, unsigned size, hwaddr addr, uint64_t v= al, + MemTxAttrs attrs, MemTxResult *result) +{ + ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | size_memop(size), + addr, val, attrs, result); +} + #undef ADDRESS_SPACE_LD #undef ADDRESS_SPACE_LD_INTERNAL #undef ADDRESS_SPACE_ST --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161336; cv=none; d=zohomail.com; s=zohoarc; b=cPx40f8VUmV0geSH2TTjwZ5NPZEknO2LrN2Ghcn/m70+EputOix9YR11uHjVPwA944q7Sk5GErVW0zS+IVBlg3+LSw7kNuUStWPW5QE2eB1YNeGkGtM8oSTbw4S4hX6dpoFvAVq9Rxhk0Q01CoTt31z6E+3Jj5PWms+4YOnWlxU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161336; 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=I6HMTxxs6Ve5Sks2R1l9RktCbKwSNfSiUvebbKXSoPQ=; b=W5VxlPEhSm9yrWWNTZFGYyY2DFLg/A0fpFXHY62MBCmN51DyevPdgxy1rI+k5Tg/7mrljd5cIJ+HD/k3aMqAeuSEKr/clPX8A8V9Oyu0hs8jtXf7fHgKCEXwuJ1QXPimEPAIg5SP1WAsihmBDTbBjs16tJu/npN0VLaeTgxz1Rk= 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 1766161336338262.59468075106065; Fri, 19 Dec 2025 08:22:16 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdEv-0001PJ-TK; Fri, 19 Dec 2025 11:22:02 -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 1vWdEi-0000ul-AF for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:49 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdEf-0006FZ-Ny for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:48 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4777771ed1aso14727445e9.2 for ; Fri, 19 Dec 2025 08:21:45 -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-47d193621c8sm49606265e9.7.2025.12.19.08.21.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161304; x=1766766104; 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=I6HMTxxs6Ve5Sks2R1l9RktCbKwSNfSiUvebbKXSoPQ=; b=BLmCs0ob/EfEoCc0emSa9ABG5Su5qTNUeAMMou+ovVS5GSv5N5WNm9vRSQes6y6pgY X8odrqe7u5d8ybT+E2BIb0ZuyLmolR+DvURMVw18BYZYY/SXT/ov/w9ZZb/rvXQrYvX6 tPzID/i+3Rtalg92BOXPEmzJe4/FreIWyHxvP5QrpTB59WhFL7+DRpmprdiICHJYP61B 7PvyJ/D5UDt73/pkkM5gyHruAq0boRiXFJBTOVptRcvB6rUjwDffY7Rv03hLrcM1zjx/ ErdiJQ3HvJrmoosdsbRM4kWVuIsQOD4pFqCTgmVwEVuKGgP+ohaJVSbv3nfF5u+qBpgH 7O4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161304; x=1766766104; 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=I6HMTxxs6Ve5Sks2R1l9RktCbKwSNfSiUvebbKXSoPQ=; b=CMWMyf2kq7fXTwG4bUumKcEyidjNI3+MK3HN5gN1sJNtwqqZ5tKdjk0O0SDrzSmJJH 49JEDwSFyRwOEwXCGGEKmEPnATYtq/tBNuane/Rz+/gPWf5DK+gZS9T8A9jfakn2hYJC ioE7t6Mu2VHN5bP6PFbbKdIS6Al7qL6zDFMn7neILzO5ct5rq4TawmyArPfWn/XWENI+ H2ixTUNba8FDZWHF8/JYyhSje1SCoHoCvDX2qGEk94R0b0eVwQfv1PD7Dgs5JJldXmPW 7GBsUiMd7VGwi+kZBTemB3qOZOX2rm3uFlVOm2Iq0bxoh1wkQ1awQiG5Ip+jTnhmLImI DRuw== X-Gm-Message-State: AOJu0YyRt8BYuF4nAyJ+SGlLT3GtHAmIvhUeEn+fF89W6lJae0WC5+oW Pj5U5D0k3vevdd5u/HHiK9BDG5cvXctvoaz4DH992+GupRdHAu+ipwy6vW+e9ljdrFRBpFyKZ24 kIlTUSWA= X-Gm-Gg: AY/fxX5GxsmAJGLzbaFnn3PdaMGfHlEFBnHuMh7EjKVwsv3KwYdSRxIFOF/zfyQFtmp DRx46Kdbb7bYc3SRpvGfA6F2eOaXJVxb4sdk48Hl6zQXzjh4Myj0vu0X/7uN1eplAt7+qNq8UTd 3nMDdES/CQS1NIkH6WfUoXnfh5HH5Nff2Oq9XPwhqztwMZYbxd7KvZ/Ky6mba7LagB/4FAfRo6y k+79/DeOkaAmyPIJS/Y1PV+24nVDaSMzrkVoD/X95mFpafDx8V5DCpn3M9q5ZS5Vfo6t7RdaEZK Jx5WAMnDP/JwNEXK6TO0d167xbo9lL3tpwsx7PcmdSYV8jcO8CF9OxJv7gKH/1igcneIDlA3ADy gYOAOh2uaR4glr6oNaFxzZYn4HY1xPwR+Uw4lixdjzLvVxQG3W1iz3XWZucbU0F1yLVyA18M+S8 9lAJJoN8D+ec4tPFdeR5BWzBCpv/g2ixu2IKyglUazXI3dRBfR5oZJDPpMGAps X-Google-Smtp-Source: AGHT+IF2pEdIvPwHF7Ux05TnaxWpLpgng3LAuu9SUfH7MYcLZGQuWvyn0w4KZJl3+pG1IPYdfTUjng== X-Received: by 2002:a05:600c:1c9f:b0:477:9c73:2680 with SMTP id 5b1f17b1804b1-47d1957e495mr36548725e9.23.1766161303797; Fri, 19 Dec 2025 08:21:43 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 15/24] system/memory: Use explicit endianness in ram_device::read/write() Date: Fri, 19 Dec 2025 17:19:42 +0100 Message-ID: <20251219161953.72724-16-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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: 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: 1766161337275158500 Replace the ldn_he_p/stn_he_p() calls by their explicit endianness variants. Duplicate the MemoryRegionOps, using one entry for BIG and another for LITTLE endianness. Select the proper MemoryRegionOps in memory_region_init_ram_device_ptr(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- system/memory.c | 68 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 20 deletions(-) diff --git a/system/memory.c b/system/memory.c index 8b84661ae36..5bcdeaf0bee 100644 --- a/system/memory.c +++ b/system/memory.c @@ -1361,41 +1361,69 @@ const MemoryRegionOps unassigned_mem_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 -static uint64_t memory_region_ram_device_read(void *opaque, - hwaddr addr, unsigned size) +static uint64_t memory_region_ram_device_read_le(void *opaque, + hwaddr addr, unsigned siz= e) { MemoryRegion *mr =3D opaque; - uint64_t data =3D ldn_he_p(mr->ram_block->host + addr, size); + uint64_t data =3D ldn_le_p(mr->ram_block->host + addr, size); =20 trace_memory_region_ram_device_read(get_cpu_index(), mr, addr, data, s= ize); =20 return data; } =20 -static void memory_region_ram_device_write(void *opaque, hwaddr addr, - uint64_t data, unsigned size) +static uint64_t memory_region_ram_device_read_be(void *opaque, + hwaddr addr, unsigned siz= e) +{ + MemoryRegion *mr =3D opaque; + uint64_t data =3D ldn_be_p(mr->ram_block->host + addr, size); + + trace_memory_region_ram_device_read(get_cpu_index(), mr, addr, data, s= ize); + + return data; +} + +static void memory_region_ram_device_write_le(void *opaque, hwaddr addr, + uint64_t data, unsigned size) { MemoryRegion *mr =3D opaque; =20 trace_memory_region_ram_device_write(get_cpu_index(), mr, addr, data, = size); =20 - stn_he_p(mr->ram_block->host + addr, size, data); + stn_le_p(mr->ram_block->host + addr, size, data); } =20 -static const MemoryRegionOps ram_device_mem_ops =3D { - .read =3D memory_region_ram_device_read, - .write =3D memory_region_ram_device_write, - .endianness =3D HOST_BIG_ENDIAN ? DEVICE_BIG_ENDIAN : DEVICE_LITTLE_EN= DIAN, - .valid =3D { - .min_access_size =3D 1, - .max_access_size =3D 8, - .unaligned =3D true, - }, - .impl =3D { - .min_access_size =3D 1, - .max_access_size =3D 8, - .unaligned =3D true, +static void memory_region_ram_device_write_be(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + MemoryRegion *mr =3D opaque; + + trace_memory_region_ram_device_write(get_cpu_index(), mr, addr, data, = size); + + stn_be_p(mr->ram_block->host + addr, size, data); +} + +static const MemoryRegionOps ram_device_mem_ops[2] =3D { + [0 ... 1] =3D { + .valid =3D { + .min_access_size =3D 1, + .max_access_size =3D 8, + .unaligned =3D true, + }, + .impl =3D { + .min_access_size =3D 1, + .max_access_size =3D 8, + .unaligned =3D true, + }, }, + + [0].endianness =3D DEVICE_LITTLE_ENDIAN, + [0].read =3D memory_region_ram_device_read_le, + [0].write =3D memory_region_ram_device_write_le, + + [1].endianness =3D DEVICE_BIG_ENDIAN, + [1].read =3D memory_region_ram_device_read_be, + [1].write =3D memory_region_ram_device_write_be, }; =20 bool memory_region_access_valid(MemoryRegion *mr, @@ -1712,7 +1740,7 @@ void memory_region_init_ram_device_ptr(MemoryRegion *= mr, mr->ram =3D true; mr->terminates =3D true; mr->ram_device =3D true; - mr->ops =3D &ram_device_mem_ops; + mr->ops =3D &ram_device_mem_ops[HOST_BIG_ENDIAN]; mr->opaque =3D mr; mr->destructor =3D memory_region_destructor_ram; =20 --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161343; cv=none; d=zohomail.com; s=zohoarc; b=WyHsWpBUcyiVzBtd9QvMCCAfUu3zvk/JDdkGxzU4GMUDZD/2/jhwBl779IM9RKyFNvEm7PjR4IqCW6K91gQhLICWIcy7qFJCXHE3n9nESHPxrV7IMI4F4IUk41DkE5kZNdzZo6TSSkG0kxa5GvI40bKxyqvlWZSu3Nb9urTcZUk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161343; 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=XYW4inaejU0vTM/64K47OS0US0UDlIbKDRQ1w/2PTWA=; b=SkrsGoe+Ob3o+8u+hnG6GgOeCO+xoANFE+ZPjxlGRX7ngwkcsREOkcUcLSK/aqqimc/6McXCqSykiaZq3N9egyPRuqfObbz+WmMrcomqRUbQXyQTTEZr+zsjiaNDpczn+pLyOb4ztcKUDOhM/qKMYpCqTTtKZqt80x1GyT2ogbU= 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 1766161343066738.6115139917612; Fri, 19 Dec 2025 08:22:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdEx-0001c9-Gj; Fri, 19 Dec 2025 11:22:03 -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 1vWdEt-0001Ga-8a for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:00 -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 1vWdEn-0006JE-TJ for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:21:59 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-477563e28a3so12934055e9.1 for ; Fri, 19 Dec 2025 08:21:53 -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-47be3acdb87sm37492005e9.16.2025.12.19.08.21.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161312; x=1766766112; 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=XYW4inaejU0vTM/64K47OS0US0UDlIbKDRQ1w/2PTWA=; b=Tj/2oU4U/1cduktqW9kCsugfUM6uqhi76PpoNBhBhFK/sLodtZxG4Uk4TRxuGb4w3M 1lbvvzvuyn7G1LTOozYiFbOalOgw9RfcsQIHbqhSHxAddhVTeCGp+Oh7TEyeJZj/wNuM VqVchutZwY6WGH1CGgVFUYMq+7Rv0lmX3QWoWH05RfD5LDI0ZpTDyYrh5e5IyvxUqWaZ qDxvsUq67gtlRFj8OjcW+McV+3HrLq5MzPPiKvmel3l6YpGKIF+BymLU0DZqRMgGCf8m pS3RQw6Gi3gJsinkWbb9Oz98ErADIlwsABsJ/bLxSL0uWPafr9Ukeu7sfMB0/FmQaa+5 el8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161312; x=1766766112; 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=XYW4inaejU0vTM/64K47OS0US0UDlIbKDRQ1w/2PTWA=; b=pfoXv/qnhbBb/ENO62MiRbm8EOeOLPpuP50zTDtEiTkWBj7WF/btmjbaF9vRHyi+k9 rz+6zI0TNoqyjIRuyMpA9CidsdI8BeSxCVK1mJIsz/qWKihvKSzjg+oN5u22eoLsi41W ZOf/Vd23LgE3Uom+JxLFSRPW4KgXka1q55Z7fHA9m112dFlxkiqEbZZiimkLcfHQ2taG k0LZGcb5iXpcWPND2K0Dgr0poEtjKaWSDxNM/2DiMCldwyGi3yvdgpPIMQaph29fMsbz CEbtiHugUUjrYxD92WSPbGQjGGjzNPK3go4F6OWkM4T8Qvl6idDm4P3iPA1z2MDku9/H S6EQ== X-Gm-Message-State: AOJu0YwClnzssfe4CQgJPYtgrYOCTHzNPrjh3KRqF70iqtKXMz9KrdHU 39zT6mm2SWG+U2G8cV2RZHwR7oZlCIeT4X8oxIjVcsPuaynGVyZJnu3AXxqKYkPz9ci5izB8bKk G2/oTlcA= X-Gm-Gg: AY/fxX75d6CJsVWOFCi+BYbvP70s7MwDhkkXHqH61DD58mxYlHF++XiUZNg+xHdhNKc OSXP9HGeEodyIHazFk0gXojOY4BN6y3MzFxi48ZSSJ/cwkujaBIeVfr3GWDDaZgTm+9kNQcWnw0 ZVKHjkOxbIxv7n/6vG/2xQX3DnRRVy3XKKyvPeCLYgGJHXfh142VwF9DGR0rgPdWgNtWgNb0H+4 PisjEL7/8SE10I/RT7mGNoT9PGoEgxfyh4arnpF5a3TNVg7lxK6glZz71JG0rgGg3U2JqRoHDaU ET1PkI+/Kk3iZVDucKDrhes8WyUFFHpcw/7Mh0qzhUYJaNMHmdVzUvHL262OqxpxZrZImM3v8r8 vTEap+CD4axxNbK2/b9QnAzrPtImGu3iQfkGpqg573tz07QdlOu2GOP30gbybAu6B1YsNILaNK8 2vkhweIreKpEgM3yMDygvtqf3HXCVpkP8zkm4dtXOOdFYz57ztR1Q7GSfhAom/ X-Google-Smtp-Source: AGHT+IGZsiqYCrKwP/db59qvwNnk4+Rtk6muLrzn9zLiz4YjPkSY4uj+NtaeCBxytTacmFHn+56nZg== X-Received: by 2002:a05:600c:4746:b0:477:9fa0:7495 with SMTP id 5b1f17b1804b1-47d18be144fmr34058685e9.14.1766161311792; Fri, 19 Dec 2025 08:21:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Warner Losh , Kyle Evans , Laurent Vivier , Zhao Liu , Song Gao , Bibo Mao , Jiaxun Yang , Palmer Dabbelt , Alistair Francis , Weiwei Li , Liu Zhiwei , qemu-riscv@nongnu.org Subject: [PATCH v2 16/24] configs/targets: Introduce TARGET_USE_LEGACY_NATIVE_ENDIAN_API Date: Fri, 19 Dec 2025 17:19:43 +0100 Message-ID: <20251219161953.72724-17-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1766161345988158500 TARGET_USE_LEGACY_NATIVE_ENDIAN_API is a definition that will let us gradually remove legacy APIs related to "native" endianness. Set it to all our targets, taking care to not poison it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- configs/targets/aarch64-bsd-user.mak | 1 + configs/targets/aarch64-linux-user.mak | 1 + configs/targets/aarch64-softmmu.mak | 1 + configs/targets/aarch64_be-linux-user.mak | 1 + configs/targets/alpha-linux-user.mak | 1 + configs/targets/alpha-softmmu.mak | 1 + configs/targets/arm-bsd-user.mak | 1 + configs/targets/arm-linux-user.mak | 1 + configs/targets/arm-softmmu.mak | 1 + configs/targets/armeb-linux-user.mak | 1 + configs/targets/avr-softmmu.mak | 1 + configs/targets/hexagon-linux-user.mak | 1 + configs/targets/hppa-linux-user.mak | 1 + configs/targets/hppa-softmmu.mak | 1 + configs/targets/i386-bsd-user.mak | 1 + configs/targets/i386-linux-user.mak | 1 + configs/targets/i386-softmmu.mak | 1 + configs/targets/loongarch64-linux-user.mak | 1 + configs/targets/loongarch64-softmmu.mak | 1 + configs/targets/m68k-linux-user.mak | 1 + configs/targets/m68k-softmmu.mak | 1 + configs/targets/microblaze-linux-user.mak | 1 + configs/targets/microblaze-softmmu.mak | 1 + configs/targets/microblazeel-linux-user.mak | 1 + configs/targets/microblazeel-softmmu.mak | 1 + configs/targets/mips-linux-user.mak | 1 + configs/targets/mips-softmmu.mak | 1 + configs/targets/mips64-linux-user.mak | 1 + configs/targets/mips64-softmmu.mak | 1 + configs/targets/mips64el-linux-user.mak | 1 + configs/targets/mips64el-softmmu.mak | 1 + configs/targets/mipsel-linux-user.mak | 1 + configs/targets/mipsel-softmmu.mak | 1 + configs/targets/mipsn32-linux-user.mak | 1 + configs/targets/mipsn32el-linux-user.mak | 1 + configs/targets/or1k-linux-user.mak | 1 + configs/targets/or1k-softmmu.mak | 1 + configs/targets/ppc-linux-user.mak | 1 + configs/targets/ppc-softmmu.mak | 1 + configs/targets/ppc64-linux-user.mak | 1 + configs/targets/ppc64-softmmu.mak | 1 + configs/targets/ppc64le-linux-user.mak | 1 + configs/targets/riscv32-linux-user.mak | 1 + configs/targets/riscv32-softmmu.mak | 1 + configs/targets/riscv64-bsd-user.mak | 1 + configs/targets/riscv64-linux-user.mak | 1 + configs/targets/riscv64-softmmu.mak | 1 + configs/targets/rx-softmmu.mak | 1 + configs/targets/s390x-linux-user.mak | 1 + configs/targets/s390x-softmmu.mak | 1 + configs/targets/sh4-linux-user.mak | 1 + configs/targets/sh4-softmmu.mak | 1 + configs/targets/sh4eb-linux-user.mak | 1 + configs/targets/sh4eb-softmmu.mak | 1 + configs/targets/sparc-linux-user.mak | 1 + configs/targets/sparc-softmmu.mak | 1 + configs/targets/sparc32plus-linux-user.mak | 1 + configs/targets/sparc64-linux-user.mak | 1 + configs/targets/sparc64-softmmu.mak | 1 + configs/targets/tricore-softmmu.mak | 1 + configs/targets/x86_64-bsd-user.mak | 1 + configs/targets/x86_64-linux-user.mak | 1 + configs/targets/x86_64-softmmu.mak | 1 + configs/targets/xtensa-linux-user.mak | 1 + configs/targets/xtensa-softmmu.mak | 1 + configs/targets/xtensaeb-linux-user.mak | 1 + configs/targets/xtensaeb-softmmu.mak | 1 + scripts/make-config-poison.sh | 1 + 68 files changed, 68 insertions(+) diff --git a/configs/targets/aarch64-bsd-user.mak b/configs/targets/aarch64= -bsd-user.mak index 7f42e060477..ca0de574c22 100644 --- a/configs/targets/aarch64-bsd-user.mak +++ b/configs/targets/aarch64-bsd-user.mak @@ -2,3 +2,4 @@ TARGET_ARCH=3Daarch64 TARGET_BASE_ARCH=3Darm TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml gdb-xml/aarch64-sme2.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/aarch64-linux-user.mak b/configs/targets/aarch= 64-linux-user.mak index bf328b3b80c..de5120907a0 100644 --- a/configs/targets/aarch64-linux-user.mak +++ b/configs/targets/aarch64-linux-user.mak @@ -7,3 +7,4 @@ CONFIG_ARM_COMPATIBLE_SEMIHOSTING=3Dy TARGET_SYSTBL_ABI=3Dcommon,64,renameat,rlimit,memfd_secret TARGET_SYSTBL=3Dsyscall_64.tbl TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/aarch64-softmmu.mak b/configs/targets/aarch64-= softmmu.mak index d14bcfc4900..523a1b98045 100644 --- a/configs/targets/aarch64-softmmu.mak +++ b/configs/targets/aarch64-softmmu.mak @@ -5,3 +5,4 @@ TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch6= 4-fpu.xml gdb-xml/arm-c # needed by boot.c TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/aarch64_be-linux-user.mak b/configs/targets/aa= rch64_be-linux-user.mak index 284430add7b..6e5a7888f57 100644 --- a/configs/targets/aarch64_be-linux-user.mak +++ b/configs/targets/aarch64_be-linux-user.mak @@ -8,3 +8,4 @@ CONFIG_ARM_COMPATIBLE_SEMIHOSTING=3Dy TARGET_SYSTBL_ABI=3Dcommon,64,renameat,rlimit,memfd_secret TARGET_SYSTBL=3Dsyscall_64.tbl TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/alpha-linux-user.mak b/configs/targets/alpha-l= inux-user.mak index aa25766236e..c5bdb83b443 100644 --- a/configs/targets/alpha-linux-user.mak +++ b/configs/targets/alpha-linux-user.mak @@ -3,3 +3,4 @@ TARGET_SYSTBL_ABI=3Dcommon TARGET_SYSTBL=3Dsyscall.tbl TARGET_LONG_BITS=3D64 TARGET_XML_FILES=3D gdb-xml/alpha-core.xml +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/alpha-softmmu.mak b/configs/targets/alpha-soft= mmu.mak index e31f059a52d..914fc32cff4 100644 --- a/configs/targets/alpha-softmmu.mak +++ b/configs/targets/alpha-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dalpha TARGET_LONG_BITS=3D64 TARGET_XML_FILES=3D gdb-xml/alpha-core.xml +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/arm-bsd-user.mak b/configs/targets/arm-bsd-use= r.mak index 472a4f9fb11..073e8cc84e3 100644 --- a/configs/targets/arm-bsd-user.mak +++ b/configs/targets/arm-bsd-user.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Darm TARGET_XML_FILES=3D gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-v= fp3.xml gdb-xml/arm-vfp-sysregs.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-prof= ile.xml gdb-xml/arm-m-profile-mve.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/arm-linux-user.mak b/configs/targets/arm-linux= -user.mak index bf35ded7fea..c67ebecb54d 100644 --- a/configs/targets/arm-linux-user.mak +++ b/configs/targets/arm-linux-user.mak @@ -6,3 +6,4 @@ TARGET_HAS_BFLT=3Dy CONFIG_SEMIHOSTING=3Dy CONFIG_ARM_COMPATIBLE_SEMIHOSTING=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/arm-softmmu.mak b/configs/targets/arm-softmmu.= mak index 6a5a8eda949..1397b860f47 100644 --- a/configs/targets/arm-softmmu.mak +++ b/configs/targets/arm-softmmu.mak @@ -3,3 +3,4 @@ TARGET_XML_FILES=3D gdb-xml/arm-core.xml gdb-xml/arm-vfp.xm= l gdb-xml/arm-vfp3.xml # needed by boot.c TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/armeb-linux-user.mak b/configs/targets/armeb-l= inux-user.mak index 35fa4d91b3c..e01622c55b6 100644 --- a/configs/targets/armeb-linux-user.mak +++ b/configs/targets/armeb-linux-user.mak @@ -7,3 +7,4 @@ TARGET_HAS_BFLT=3Dy CONFIG_SEMIHOSTING=3Dy CONFIG_ARM_COMPATIBLE_SEMIHOSTING=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/avr-softmmu.mak b/configs/targets/avr-softmmu.= mak index b6157fc465d..d888683f47b 100644 --- a/configs/targets/avr-softmmu.mak +++ b/configs/targets/avr-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Davr TARGET_XML_FILES=3D gdb-xml/avr-cpu.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/hexagon-linux-user.mak b/configs/targets/hexag= on-linux-user.mak index aec1a04d1b4..fc09ae96a54 100644 --- a/configs/targets/hexagon-linux-user.mak +++ b/configs/targets/hexagon-linux-user.mak @@ -3,3 +3,4 @@ TARGET_XML_FILES=3Dgdb-xml/hexagon-core.xml gdb-xml/hexagon= -hvx.xml TARGET_SYSTBL=3Dsyscall.tbl TARGET_SYSTBL_ABI=3Dcommon,32,hexagon,time32,stat64,rlimit,renameat TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/hppa-linux-user.mak b/configs/targets/hppa-lin= ux-user.mak index 59190f63358..0c290bcce9a 100644 --- a/configs/targets/hppa-linux-user.mak +++ b/configs/targets/hppa-linux-user.mak @@ -5,3 +5,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy # Compromise to ease maintenance vs system mode TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/hppa-softmmu.mak b/configs/targets/hppa-softmm= u.mak index ea331107a08..0f99ce5f168 100644 --- a/configs/targets/hppa-softmmu.mak +++ b/configs/targets/hppa-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dhppa TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/i386-bsd-user.mak b/configs/targets/i386-bsd-u= ser.mak index 70e098da491..09c22cde339 100644 --- a/configs/targets/i386-bsd-user.mak +++ b/configs/targets/i386-bsd-user.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Di386 TARGET_XML_FILES=3D gdb-xml/i386-32bit.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/i386-linux-user.mak b/configs/targets/i386-lin= ux-user.mak index ea68a266fce..f9ce4100e98 100644 --- a/configs/targets/i386-linux-user.mak +++ b/configs/targets/i386-linux-user.mak @@ -3,3 +3,4 @@ TARGET_SYSTBL_ABI=3Di386 TARGET_SYSTBL=3Dsyscall_32.tbl TARGET_XML_FILES=3D gdb-xml/i386-32bit.xml gdb-xml/i386-32bit-linux.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/i386-softmmu.mak b/configs/targets/i386-softmm= u.mak index e9d89e8ab41..8e11a5f0796 100644 --- a/configs/targets/i386-softmmu.mak +++ b/configs/targets/i386-softmmu.mak @@ -3,3 +3,4 @@ TARGET_KVM_HAVE_GUEST_DEBUG=3Dy TARGET_KVM_HAVE_RESET_PARKED_VCPU=3Dy TARGET_XML_FILES=3D gdb-xml/i386-32bit.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/loongarch64-linux-user.mak b/configs/targets/l= oongarch64-linux-user.mak index 249a26a798c..7349a1d6c78 100644 --- a/configs/targets/loongarch64-linux-user.mak +++ b/configs/targets/loongarch64-linux-user.mak @@ -5,3 +5,4 @@ TARGET_XML_FILES=3Dgdb-xml/loongarch-base64.xml gdb-xml/loo= ngarch-fpu.xml gdb-xml/ TARGET_SYSTBL=3Dsyscall.tbl TARGET_SYSTBL_ABI=3Dcommon,64 TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/loongarch64-softmmu.mak b/configs/targets/loon= garch64-softmmu.mak index fc44c54233d..3d925e2ff53 100644 --- a/configs/targets/loongarch64-softmmu.mak +++ b/configs/targets/loongarch64-softmmu.mak @@ -5,3 +5,4 @@ TARGET_XML_FILES=3D gdb-xml/loongarch-base32.xml gdb-xml/lo= ongarch-base64.xml gdb- # all boards require libfdt TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/m68k-linux-user.mak b/configs/targets/m68k-lin= ux-user.mak index 2d9bae22707..d5c93135ac3 100644 --- a/configs/targets/m68k-linux-user.mak +++ b/configs/targets/m68k-linux-user.mak @@ -5,3 +5,4 @@ TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3D gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-cor= e.xml gdb-xml/m68k-fp.xml TARGET_HAS_BFLT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/m68k-softmmu.mak b/configs/targets/m68k-softmm= u.mak index bacc52e96a9..0750e065cc1 100644 --- a/configs/targets/m68k-softmmu.mak +++ b/configs/targets/m68k-softmmu.mak @@ -2,3 +2,4 @@ TARGET_ARCH=3Dm68k TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3D gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-cor= e.xml gdb-xml/m68k-fp.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/microblaze-linux-user.mak b/configs/targets/mi= croblaze-linux-user.mak index 37727797695..d1a235c89b1 100644 --- a/configs/targets/microblaze-linux-user.mak +++ b/configs/targets/microblaze-linux-user.mak @@ -5,3 +5,4 @@ TARGET_BIG_ENDIAN=3Dy TARGET_HAS_BFLT=3Dy TARGET_XML_FILES=3Dgdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-pr= otect.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/microblaze-softmmu.mak b/configs/targets/micro= blaze-softmmu.mak index bab7b498c24..52ba849aa16 100644 --- a/configs/targets/microblaze-softmmu.mak +++ b/configs/targets/microblaze-softmmu.mak @@ -4,3 +4,4 @@ TARGET_BIG_ENDIAN=3Dy TARGET_NEED_FDT=3Dy TARGET_XML_FILES=3Dgdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-pr= otect.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/microblazeel-linux-user.mak b/configs/targets/= microblazeel-linux-user.mak index a51a05488d3..0b7634d5a2d 100644 --- a/configs/targets/microblazeel-linux-user.mak +++ b/configs/targets/microblazeel-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_HAS_BFLT=3Dy TARGET_XML_FILES=3Dgdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-pr= otect.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/microblazeel-softmmu.mak b/configs/targets/mic= roblazeel-softmmu.mak index 8aee7ebc5cf..44ac4e5b659 100644 --- a/configs/targets/microblazeel-softmmu.mak +++ b/configs/targets/microblazeel-softmmu.mak @@ -3,3 +3,4 @@ TARGET_ARCH=3Dmicroblaze TARGET_NEED_FDT=3Dy TARGET_XML_FILES=3Dgdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-pr= otect.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mips-linux-user.mak b/configs/targets/mips-lin= ux-user.mak index 69bdc459b69..a12452cc5d0 100644 --- a/configs/targets/mips-linux-user.mak +++ b/configs/targets/mips-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL_ABI=3Do32 TARGET_SYSTBL=3Dsyscall_o32.tbl TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mips-softmmu.mak b/configs/targets/mips-softmm= u.mak index c9588066b8d..170d026bc25 100644 --- a/configs/targets/mips-softmmu.mak +++ b/configs/targets/mips-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dmips TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mips64-linux-user.mak b/configs/targets/mips64= -linux-user.mak index 04e82b3ab11..0112e300eca 100644 --- a/configs/targets/mips64-linux-user.mak +++ b/configs/targets/mips64-linux-user.mak @@ -5,3 +5,4 @@ TARGET_SYSTBL_ABI=3Dn64 TARGET_SYSTBL=3Dsyscall_n64.tbl TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mips64-softmmu.mak b/configs/targets/mips64-so= ftmmu.mak index 7202655fcac..f0850233b98 100644 --- a/configs/targets/mips64-softmmu.mak +++ b/configs/targets/mips64-softmmu.mak @@ -2,3 +2,4 @@ TARGET_ARCH=3Dmips64 TARGET_BASE_ARCH=3Dmips TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mips64el-linux-user.mak b/configs/targets/mips= 64el-linux-user.mak index 27f41694265..50efedc1f11 100644 --- a/configs/targets/mips64el-linux-user.mak +++ b/configs/targets/mips64el-linux-user.mak @@ -4,3 +4,4 @@ TARGET_BASE_ARCH=3Dmips TARGET_SYSTBL_ABI=3Dn64 TARGET_SYSTBL=3Dsyscall_n64.tbl TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mips64el-softmmu.mak b/configs/targets/mips64e= l-softmmu.mak index 3ebeadb29ea..f352fed914a 100644 --- a/configs/targets/mips64el-softmmu.mak +++ b/configs/targets/mips64el-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dmips64 TARGET_BASE_ARCH=3Dmips TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mipsel-linux-user.mak b/configs/targets/mipsel= -linux-user.mak index 8b7e86ab288..dea6c52cf24 100644 --- a/configs/targets/mipsel-linux-user.mak +++ b/configs/targets/mipsel-linux-user.mak @@ -3,3 +3,4 @@ TARGET_ABI_MIPSO32=3Dy TARGET_SYSTBL_ABI=3Do32 TARGET_SYSTBL=3Dsyscall_o32.tbl TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mipsel-softmmu.mak b/configs/targets/mipsel-so= ftmmu.mak index 90e09bdc3e5..34be6987edf 100644 --- a/configs/targets/mipsel-softmmu.mak +++ b/configs/targets/mipsel-softmmu.mak @@ -1,2 +1,3 @@ TARGET_ARCH=3Dmips TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mipsn32-linux-user.mak b/configs/targets/mipsn= 32-linux-user.mak index 39ae214633f..412f75180c6 100644 --- a/configs/targets/mipsn32-linux-user.mak +++ b/configs/targets/mipsn32-linux-user.mak @@ -6,3 +6,4 @@ TARGET_SYSTBL_ABI=3Dn32 TARGET_SYSTBL=3Dsyscall_n32.tbl TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/mipsn32el-linux-user.mak b/configs/targets/mip= sn32el-linux-user.mak index d9b61d69902..2fa89882035 100644 --- a/configs/targets/mipsn32el-linux-user.mak +++ b/configs/targets/mipsn32el-linux-user.mak @@ -5,3 +5,4 @@ TARGET_BASE_ARCH=3Dmips TARGET_SYSTBL_ABI=3Dn32 TARGET_SYSTBL=3Dsyscall_n32.tbl TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/or1k-linux-user.mak b/configs/targets/or1k-lin= ux-user.mak index 810567a98f9..4cc6f2a6616 100644 --- a/configs/targets/or1k-linux-user.mak +++ b/configs/targets/or1k-linux-user.mak @@ -3,3 +3,4 @@ TARGET_BIG_ENDIAN=3Dy TARGET_SYSTBL_ABI=3Dcommon,32,or1k,time32,stat64,rlimit,renameat TARGET_SYSTBL=3Dsyscall.tbl TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/or1k-softmmu.mak b/configs/targets/or1k-softmm= u.mak index 0e47d9878b0..5a8eb66cbc5 100644 --- a/configs/targets/or1k-softmmu.mak +++ b/configs/targets/or1k-softmmu.mak @@ -3,3 +3,4 @@ TARGET_BIG_ENDIAN=3Dy # needed by boot.c and all boards TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/ppc-linux-user.mak b/configs/targets/ppc-linux= -user.mak index 970d04a5ba1..eb86b5fa721 100644 --- a/configs/targets/ppc-linux-user.mak +++ b/configs/targets/ppc-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3D gdb-xml/power-core.xml gdb-xml/power-fpu.xml gdb-xml/p= ower-altivec.xml gdb-xml/power-spe.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/ppc-softmmu.mak b/configs/targets/ppc-softmmu.= mak index 9bfa7df6c36..96310350ba4 100644 --- a/configs/targets/ppc-softmmu.mak +++ b/configs/targets/ppc-softmmu.mak @@ -3,3 +3,4 @@ TARGET_BIG_ENDIAN=3Dy TARGET_KVM_HAVE_GUEST_DEBUG=3Dy TARGET_XML_FILES=3D gdb-xml/power-core.xml gdb-xml/power-fpu.xml gdb-xml/p= ower-altivec.xml gdb-xml/power-spe.xml TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/ppc64-linux-user.mak b/configs/targets/ppc64-l= inux-user.mak index 461f1c67d15..627f2f1b87d 100644 --- a/configs/targets/ppc64-linux-user.mak +++ b/configs/targets/ppc64-linux-user.mak @@ -6,3 +6,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3D gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml= /power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/ppc64-softmmu.mak b/configs/targets/ppc64-soft= mmu.mak index 74572864b36..6aa381fe025 100644 --- a/configs/targets/ppc64-softmmu.mak +++ b/configs/targets/ppc64-softmmu.mak @@ -6,3 +6,4 @@ TARGET_XML_FILES=3D gdb-xml/power64-core.xml gdb-xml/power-= fpu.xml gdb-xml/power-a # all boards require libfdt TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/ppc64le-linux-user.mak b/configs/targets/ppc64= le-linux-user.mak index cf9d8a400d9..7c3d97191af 100644 --- a/configs/targets/ppc64le-linux-user.mak +++ b/configs/targets/ppc64le-linux-user.mak @@ -5,3 +5,4 @@ TARGET_SYSTBL_ABI=3Dcommon,nospu,64 TARGET_SYSTBL=3Dsyscall.tbl TARGET_XML_FILES=3D gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml= /power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/riscv32-linux-user.mak b/configs/targets/riscv= 32-linux-user.mak index a0ef03c0c3f..0ad8b7da436 100644 --- a/configs/targets/riscv32-linux-user.mak +++ b/configs/targets/riscv32-linux-user.mak @@ -8,3 +8,4 @@ TARGET_SYSTBL_ABI=3D32 TARGET_SYSTBL_ABI=3Dcommon,32,riscv,memfd_secret TARGET_SYSTBL=3Dsyscall.tbl TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/riscv32-softmmu.mak b/configs/targets/riscv32-= softmmu.mak index db55275b868..d76aabe14b1 100644 --- a/configs/targets/riscv32-softmmu.mak +++ b/configs/targets/riscv32-softmmu.mak @@ -4,3 +4,4 @@ TARGET_XML_FILES=3D gdb-xml/riscv-32bit-cpu.xml gdb-xml/ris= cv-32bit-fpu.xml gdb-xm # needed by boot.c TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/riscv64-bsd-user.mak b/configs/targets/riscv64= -bsd-user.mak index c6348a79629..442e117db9f 100644 --- a/configs/targets/riscv64-bsd-user.mak +++ b/configs/targets/riscv64-bsd-user.mak @@ -3,3 +3,4 @@ TARGET_BASE_ARCH=3Driscv TARGET_ABI_DIR=3Driscv TARGET_XML_FILES=3D gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xm= l gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-virtual.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/riscv64-linux-user.mak b/configs/targets/riscv= 64-linux-user.mak index aac7568305d..64802031bd1 100644 --- a/configs/targets/riscv64-linux-user.mak +++ b/configs/targets/riscv64-linux-user.mak @@ -8,3 +8,4 @@ TARGET_SYSTBL_ABI=3D64 TARGET_SYSTBL_ABI=3Dcommon,64,riscv,rlimit,memfd_secret TARGET_SYSTBL=3Dsyscall.tbl TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/riscv64-softmmu.mak b/configs/targets/riscv64-= softmmu.mak index 2bdd4a62cd2..d1386d7238f 100644 --- a/configs/targets/riscv64-softmmu.mak +++ b/configs/targets/riscv64-softmmu.mak @@ -5,3 +5,4 @@ TARGET_XML_FILES=3D gdb-xml/riscv-64bit-cpu.xml gdb-xml/ris= cv-32bit-fpu.xml gdb-xm # needed by boot.c TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/rx-softmmu.mak b/configs/targets/rx-softmmu.mak index 1c250a6450d..3886905f9fc 100644 --- a/configs/targets/rx-softmmu.mak +++ b/configs/targets/rx-softmmu.mak @@ -3,3 +3,4 @@ TARGET_XML_FILES=3D gdb-xml/rx-core.xml # all boards require libfdt TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/s390x-linux-user.mak b/configs/targets/s390x-l= inux-user.mak index 68c2f288724..677ca12e828 100644 --- a/configs/targets/s390x-linux-user.mak +++ b/configs/targets/s390x-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3D gdb-xml/s390x-core64.xml gdb-xml/s390-acr.xml gdb-xml/= s390-fpr.xml gdb-xml/s390-vx.xml gdb-xml/s390-cr.xml gdb-xml/s390-virt.xml = gdb-xml/s390-virt-kvm.xml gdb-xml/s390-gs.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/s390x-softmmu.mak b/configs/targets/s390x-soft= mmu.mak index 76dd5de6584..6258170ee53 100644 --- a/configs/targets/s390x-softmmu.mak +++ b/configs/targets/s390x-softmmu.mak @@ -3,3 +3,4 @@ TARGET_BIG_ENDIAN=3Dy TARGET_KVM_HAVE_GUEST_DEBUG=3Dy TARGET_XML_FILES=3D gdb-xml/s390x-core64.xml gdb-xml/s390-acr.xml gdb-xml/= s390-fpr.xml gdb-xml/s390-vx.xml gdb-xml/s390-cr.xml gdb-xml/s390-virt.xml = gdb-xml/s390-virt-kvm.xml gdb-xml/s390-gs.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sh4-linux-user.mak b/configs/targets/sh4-linux= -user.mak index d58c5471b77..cbb3eca483f 100644 --- a/configs/targets/sh4-linux-user.mak +++ b/configs/targets/sh4-linux-user.mak @@ -3,3 +3,4 @@ TARGET_SYSTBL_ABI=3Dcommon TARGET_SYSTBL=3Dsyscall.tbl TARGET_HAS_BFLT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sh4-softmmu.mak b/configs/targets/sh4-softmmu.= mak index 787d349b501..547abc225f6 100644 --- a/configs/targets/sh4-softmmu.mak +++ b/configs/targets/sh4-softmmu.mak @@ -1,2 +1,3 @@ TARGET_ARCH=3Dsh4 TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sh4eb-linux-user.mak b/configs/targets/sh4eb-l= inux-user.mak index 99007f0f2d6..c09c571e893 100644 --- a/configs/targets/sh4eb-linux-user.mak +++ b/configs/targets/sh4eb-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_HAS_BFLT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sh4eb-softmmu.mak b/configs/targets/sh4eb-soft= mmu.mak index cdea2c61c58..5d56cf79f3f 100644 --- a/configs/targets/sh4eb-softmmu.mak +++ b/configs/targets/sh4eb-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dsh4 TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sparc-linux-user.mak b/configs/targets/sparc-l= inux-user.mak index 4ff4b7287d2..1b4ee80fe17 100644 --- a/configs/targets/sparc-linux-user.mak +++ b/configs/targets/sparc-linux-user.mak @@ -3,3 +3,4 @@ TARGET_SYSTBL_ABI=3Dcommon,32 TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sparc-softmmu.mak b/configs/targets/sparc-soft= mmu.mak index 57801faf1fc..f02bacb8bbf 100644 --- a/configs/targets/sparc-softmmu.mak +++ b/configs/targets/sparc-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dsparc TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sparc32plus-linux-user.mak b/configs/targets/s= parc32plus-linux-user.mak index 7a16934fd17..75c3a600bf0 100644 --- a/configs/targets/sparc32plus-linux-user.mak +++ b/configs/targets/sparc32plus-linux-user.mak @@ -6,3 +6,4 @@ TARGET_SYSTBL_ABI=3Dcommon,32 TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sparc64-linux-user.mak b/configs/targets/sparc= 64-linux-user.mak index 7c2ecb7be06..1b75d276426 100644 --- a/configs/targets/sparc64-linux-user.mak +++ b/configs/targets/sparc64-linux-user.mak @@ -6,3 +6,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3Dgdb-xml/sparc64-core.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/sparc64-softmmu.mak b/configs/targets/sparc64-= softmmu.mak index d9d51d21e59..bfa1bcfb427 100644 --- a/configs/targets/sparc64-softmmu.mak +++ b/configs/targets/sparc64-softmmu.mak @@ -3,3 +3,4 @@ TARGET_BASE_ARCH=3Dsparc TARGET_BIG_ENDIAN=3Dy TARGET_XML_FILES=3Dgdb-xml/sparc64-core.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/tricore-softmmu.mak b/configs/targets/tricore-= softmmu.mak index 781ce49a62f..cac4eb54154 100644 --- a/configs/targets/tricore-softmmu.mak +++ b/configs/targets/tricore-softmmu.mak @@ -1,2 +1,3 @@ TARGET_ARCH=3Dtricore TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/x86_64-bsd-user.mak b/configs/targets/x86_64-b= sd-user.mak index d62d656f2c6..f1a39573452 100644 --- a/configs/targets/x86_64-bsd-user.mak +++ b/configs/targets/x86_64-bsd-user.mak @@ -2,3 +2,4 @@ TARGET_ARCH=3Dx86_64 TARGET_BASE_ARCH=3Di386 TARGET_XML_FILES=3D gdb-xml/i386-64bit.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/x86_64-linux-user.mak b/configs/targets/x86_64= -linux-user.mak index b093ab5a167..ec46e6b1bb2 100644 --- a/configs/targets/x86_64-linux-user.mak +++ b/configs/targets/x86_64-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL_ABI=3Dcommon,64 TARGET_SYSTBL=3Dsyscall_64.tbl TARGET_XML_FILES=3D gdb-xml/i386-64bit.xml gdb-xml/i386-64bit-linux.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/x86_64-softmmu.mak b/configs/targets/x86_64-so= ftmmu.mak index 5619b2bc686..5658d325f34 100644 --- a/configs/targets/x86_64-softmmu.mak +++ b/configs/targets/x86_64-softmmu.mak @@ -4,3 +4,4 @@ TARGET_KVM_HAVE_GUEST_DEBUG=3Dy TARGET_KVM_HAVE_RESET_PARKED_VCPU=3Dy TARGET_XML_FILES=3D gdb-xml/i386-64bit.xml TARGET_LONG_BITS=3D64 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/xtensa-linux-user.mak b/configs/targets/xtensa= -linux-user.mak index cbec6e368af..8c3d6442797 100644 --- a/configs/targets/xtensa-linux-user.mak +++ b/configs/targets/xtensa-linux-user.mak @@ -3,3 +3,4 @@ TARGET_SYSTBL_ABI=3Dcommon TARGET_SYSTBL=3Dsyscall.tbl TARGET_HAS_BFLT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/xtensa-softmmu.mak b/configs/targets/xtensa-so= ftmmu.mak index 2a9797338a6..82bcc49ad90 100644 --- a/configs/targets/xtensa-softmmu.mak +++ b/configs/targets/xtensa-softmmu.mak @@ -1,2 +1,3 @@ TARGET_ARCH=3Dxtensa TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/xtensaeb-linux-user.mak b/configs/targets/xten= saeb-linux-user.mak index f455b1c7801..f766d635938 100644 --- a/configs/targets/xtensaeb-linux-user.mak +++ b/configs/targets/xtensaeb-linux-user.mak @@ -4,3 +4,4 @@ TARGET_SYSTBL=3Dsyscall.tbl TARGET_BIG_ENDIAN=3Dy TARGET_HAS_BFLT=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/configs/targets/xtensaeb-softmmu.mak b/configs/targets/xtensae= b-softmmu.mak index 5204729af8b..8774e3e5a23 100644 --- a/configs/targets/xtensaeb-softmmu.mak +++ b/configs/targets/xtensaeb-softmmu.mak @@ -1,3 +1,4 @@ TARGET_ARCH=3Dxtensa TARGET_BIG_ENDIAN=3Dy TARGET_LONG_BITS=3D32 +TARGET_USE_LEGACY_NATIVE_ENDIAN_API=3Dy diff --git a/scripts/make-config-poison.sh b/scripts/make-config-poison.sh index 2b36907e239..543119c074e 100755 --- a/scripts/make-config-poison.sh +++ b/scripts/make-config-poison.sh @@ -10,6 +10,7 @@ exec sed -n \ -e' /CONFIG_TCG/d' \ -e '/CONFIG_USER_ONLY/d' \ -e '/CONFIG_SOFTMMU/d' \ + -e '/TARGET_USE_LEGACY_NATIVE_ENDIAN_API/d' \ -e '/^#define / {' \ -e 's///' \ -e 's/ .*//' \ --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161361; cv=none; d=zohomail.com; s=zohoarc; b=iOBTiFqMRXW9FvhMXJUsJuLpoDFSAXSkInhAzI/DxbVZVBokGFvjR3N1G05fIYIKiKZJE2FF4SWO7miQcANzG+uhUggN3ZOgBPfApt8fFFhsyq/Ki9XCqRJCL/JF+89bfpL42wH9qm3T8oXxZMx2ygaQZr+2l+MAlEjGTqoHe8E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161361; 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=MlZbLtyKD5Kx9RMvXZxS+ZYE1ejEy5zG7BP8ve/1sWc=; b=Rc20QeYcOoJf6r0gTjUmhIkKAtSRvXujZP5POrfUisZLXyG2H8ynDNAOFqS8taIwls4MtHuXidBadjn6YY/QqfpTGItNbY9gM6CS5Qwn7oh1j8+kmilAEGAwe6OdIRytyCrbGbwAeT1ealGt0pg1nGmn0LcyoHiOlA1TX7kAU2E= 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 1766161361062637.2227160963821; Fri, 19 Dec 2025 08:22:41 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdF0-000266-Se; Fri, 19 Dec 2025 11:22: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 1vWdEw-0001YJ-MA for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:02 -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 1vWdEu-0006KW-VC for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:02 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47a95efd2ceso16779335e9.2 for ; Fri, 19 Dec 2025 08:22:00 -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-47d193cbc0bsm50099865e9.11.2025.12.19.08.21.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:21:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161319; x=1766766119; 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=MlZbLtyKD5Kx9RMvXZxS+ZYE1ejEy5zG7BP8ve/1sWc=; b=RHEQn0G9re8U7QSYgT2D6xtKIJ43OH/WKN+PPu1fMc0TfciC/uEJam/BnKx8jTWRHV 1bdo7KBqgwPKOBpMfjPcJBPT+L+N/Cl4KEP/g1Ea5OdD+jPqn5pJ0vvm1fVhIeprYE9V pES10jhnHrNXSoUKikeu/IIpkr1zr88UfIgQ8RR6CKEO76Mp2qmYvrYqcMcuZFbTdD0Z BNjpTcpDMEBzrz7ZB5zSi/4QaA+HZnxV9Elsudg+++wVIKInLZKUFUwb4Ce3nJ6Qx113 /56X23ngN+kSNgaaAwZwu7Mo+fuG2dRzfyMD3H0lUklDnn5TCnhY1tkrZRNbqb7QzQnv 7xzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161319; x=1766766119; 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=MlZbLtyKD5Kx9RMvXZxS+ZYE1ejEy5zG7BP8ve/1sWc=; b=cZxeuXbrcuS0iq0/yKD8MsdXGEbpUL+h9/2bHIjvb9xuPxgJrTobyT1YKBDr+AEwyM 1e+zml0HER9S39QpiEDzDdqCQhDu6ECAQfBqVsGebKtr3nOb9bvUugEbEmIqhH91f533 GIvUmgCe6OTCdJd1g2jr9rcRLeT39QKMGOe0FPie7e4c0cVUu1O8kEfAcqLOOamjlv+L r8Ig0VVaZ9LYwV9bzf+ohfrUgs5jgvVhQ4YYWGMSTo6QxGPH0bWOvtfw0ws1NVwG89Y/ tTzW21RIuZkNX3Dpw6bpAtD8bVBEDgRQd2h78iZP8RC3D5dX95W/No+U/e5JTQmFFO6w 2Hiw== X-Gm-Message-State: AOJu0YwGmTTLxM69m7UYLX2oFm/JsowayuLTgHZcRwbeQblJNVH4SP3Q xXoPyRvI8/jtKMDWf165s05EGcc6D3Uunxm/eq7HgQaexTAVmC6IrreCiuZSKi2ClEAHn4663ad J6PRTXrY= X-Gm-Gg: AY/fxX7wlnkiPjLVmUJelwih/NgNmhIJiEQrSS6ifbRRsfN0Y/GfYojQjM8Z2s1QnmQ +yTCBAdNQ+DPmPx68OYOV6nUicRezfwJ3mYDFt2DWY/6JDPNT+NANagO6SEz3q/EtILhyI+wb0O W6PWgOeIRkTixQW4d4I6GGPwwNWV7eNBTqerUoWZ84ptFY+4AbOaZEdVGj0YFjcvoikW/jh4m73 b/nhsA6N4N4vo3FDTxvsix7J0K40s9acuOoe/gLcmS00gC/taeafdWuEvCH4zjj7ctEViW6SPuW VImTD25Htv+mguLTLK2kpl9ti2oGASXUuly8xTHUumS+F2xzxqVGsEm8z0BTU+Yi4fE+B6Ch0gR U9/RyI8b623vETE8YgsEvDgDhFD+LMr257AzkH+FKaXHNRH02R8hh44gYohhY7uVH8YsWpljFnl 2kN3jAeX0dWr5CBVIVvb42II6Sc6U253i4NSa42Da7jwivrUo11kTDSCWqAcL+ X-Google-Smtp-Source: AGHT+IEBVHrywafE04qHREF0ebxc38+U4M5dEdUoOXn78hGsX4y+BaiAoqGTB1eT/bJSeGbxgfLntg== X-Received: by 2002:a05:600c:8107:b0:477:c478:46d7 with SMTP id 5b1f17b1804b1-47d19595f00mr32397115e9.22.1766161319064; Fri, 19 Dec 2025 08:21:59 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 17/24] system/memory: Restrict legacy ld/st_phys() 'native-endian' API Date: Fri, 19 Dec 2025 17:19:44 +0100 Message-ID: <20251219161953.72724-18-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161361361158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- include/system/memory_ldst_phys.h.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/system/memory_ldst_phys.h.inc b/include/system/memory_= ldst_phys.h.inc index f4c91dc7a91..e0da6d19a5b 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 +#ifdef TARGET_USE_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #include "system/memory_ldst_phys_endian.h.inc" +#endif /* TARGET_USE_LEGACY_NATIVE_ENDIAN_API */ =20 #define ENDIANNESS _le #include "system/memory_ldst_phys_endian.h.inc" --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161365; cv=none; d=zohomail.com; s=zohoarc; b=ZYBPABbbzOnTaQghEp3QKg9pOtWugWWj/CvOtLBwE93ZQ9qySXrmi8tQHA+r3hUn8j2a0RKK6aiH2fUBTz4SKX3WtkxDm+n/5wWtXw5Le0AMu3hEVpdqk9V2rStiVCIdNFXpVRoAlw2zwbsw9n7+GSFgrgSre5/Crd5ArAH8Va0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161365; 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=0VadcLSqhJ258bP0oq5fPt2FaMzVFLrZ+DXNq/vrBxo=; b=BbLE1jC+kQKtgoISei0DXeRM1ZDWv+mzo4XvR9VS9E+m2s3ls5bhH8GRgnTX2ZPa4J82LIbdeKur4BqXsni+h/F/ZGkUtWEWbwUMfmn52odK3ABInTjMvjaQoBjJrmd1V6IshddOoQK4cnrGcmpQbsEMSlq0LvWxDTHsJr0woqo= 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 17661613650761019.154925847256; Fri, 19 Dec 2025 08:22:45 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdF4-0002lm-LD; Fri, 19 Dec 2025 11:22:10 -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 1vWdF3-0002Wt-E1 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:09 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdF1-0006M0-TJ for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:09 -0500 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-42fb2314eb0so1526434f8f.2 for ; Fri, 19 Dec 2025 08:22:07 -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-4324ea2ce09sm5611430f8f.19.2025.12.19.08.22.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161326; x=1766766126; 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=0VadcLSqhJ258bP0oq5fPt2FaMzVFLrZ+DXNq/vrBxo=; b=M/mbjS7S6o5gNcmxXF3/YJlwA/4BXWkjHOC0/usl+NTatHcwGxqae67oWLv4laKrri 0iJUk3o160aI5aObiceiIjy70O2RE2cHwQZjATj3CjPlxUN6fvgasAKbJCqd/PYOidz3 GXOq+NIHfgrzxMjhSWzSfyWSumLm23JnYf0LW3HCjyfsmfdKRVcI+3lcd14DsdBC4Xvf OoA8yWtGxFXntKm9BVDT+Zmg1P1hmVHzk9CfQEZ+yxKx2523eefg+eW7idi5r6K1MFgl dnFYN0LDmHsTtaGNYviH5zEDuhjllPPQeLmJmjlZE/lRX2S0T/2iY3maLh+LM4eKuafn JkSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161326; x=1766766126; 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=0VadcLSqhJ258bP0oq5fPt2FaMzVFLrZ+DXNq/vrBxo=; b=SwiZv5aX/jXZKVsu8sCfFK5ZNubqOLsuzbY2yc+6vACa/Y3OkFcJuQWWheNoG5INsa YZGp+K6ZFT2wFJf2M6Svz5MQ2AgfZC6rXMTUREO2+AhCuNOtuEA8eaUORDrdZCnpRDkJ OWHnreOreAy2C9Gybe7NKzJcWw70aB798PApe99Yz+NpGrbwApXVIzHA0n2qtgphpGCv jgaXZj3imoyifvmWHUSV2OAEtiXABZETKYyS8sYfWTt8te1hiisr8dk09HrM73nNZh9f XAqAkERE9K9wWnq+gAQa4jkSG+B2UDMXPaRr5227RdanGQMwetMzIQ+0H0hMAyIwFEYY qBLQ== X-Gm-Message-State: AOJu0YwpbG3m+TgGQqyqHuWw2W/PiyDyjjhYkbGA4fnLjUD5ZkpKMd0B FatADo2riRsr8x+0u9LcC7EFwDFa8qMSAPaVOfsQZqKbiyaHox8lmsE3aJQmXllx6MdN+3vhgFr GIx5WUn4= X-Gm-Gg: AY/fxX5Kkf5eypKMJU02wwaX/hhMnb7igf2K6nz4+dfbLYRfM6NOKO2uJ0AGRMo5kdq n//4KS0QtyjDJnPE7H5PlyxkkROZBf8Ntv1Ja7kmEz3yWKzTdfWyFELIbqZFsz/p08kOJ1VKWSB sGErJZ3JZplbntk5hUPJkIDHF5Wz0xeB7sGsP4tVp6DYakYwzJnRhHff27IA0QHgP3Ve/NLe/JG xXj99yJdAk7SpYN9nZkBbCJAH5qZtDFoTXnYOlw+j4zXwolX5pVhdRiq/2OZFvycGWIm3ZQKqAP j01D6NsMA8/RDLFplUfpxczvImUvPKmUnGLlVHxK5/8RyH5xmK0N2JeoMJ3eyZIgs/HbAXV4C0L NjXG5Cu2J3kXkIOiNSqwvctKaf9QiODry4yWY+leUCjEahjhN8dD9VHfloBEtCFNR2TNpurNx+m A0Aqn1ZGAK/EgQYlJQVQsfgjkT65BSLugQzZIhs7LyNbIZrSZRSGrtlrIVUVuY X-Google-Smtp-Source: AGHT+IGKzZD95vVI5917QlkyDWGOADRGlmurXAPGz0z+1G4il8Affjnh1eDgz53xVMtPYsa7HKAW1w== X-Received: by 2002:a05:6000:25c3:b0:430:f879:a0fc with SMTP id ffacd0b85a97d-4324e4cb9f4mr3882237f8f.21.1766161326033; Fri, 19 Dec 2025 08:22:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 18/24] system/memory: Restrict legacy ld/st_he() 'native-endian' API Date: Fri, 19 Dec 2025 17:19:45 +0100 Message-ID: <20251219161953.72724-19-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.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: 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: 1766161365323158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- include/qemu/bswap.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 65a1b3634f4..8b0070d26a6 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -412,7 +412,9 @@ static inline void stq_be_p(void *ptr, uint64_t v) } \ } =20 +#ifdef TARGET_USE_LEGACY_NATIVE_ENDIAN_API DO_STN_LDN_P(he) +#endif DO_STN_LDN_P(le) DO_STN_LDN_P(be) =20 @@ -423,6 +425,7 @@ DO_STN_LDN_P(be) #undef le_bswaps #undef be_bswaps =20 +#ifdef TARGET_USE_LEGACY_NATIVE_ENDIAN_API =20 /* Return ld{word}_{le,be}_p following target endianness. */ #define LOAD_IMPL(word, args...) \ @@ -494,4 +497,6 @@ static inline void stn_p(void *ptr, int sz, uint64_t v) =20 #undef STORE_IMPL =20 +#endif /* TARGET_USE_LEGACY_NATIVE_ENDIAN_API */ + #endif /* BSWAP_H */ --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161362; cv=none; d=zohomail.com; s=zohoarc; b=XcQv3gi0ptqkJizN00oYvUPu9Nni1yoWT1W3eoPiTjmtja5KGbwmkkBR3TR9Ifs9qn4qgy5qyTEqZ+qRE6rdzTwEzNPH4HNtO+9LxOOjyDyCv5PhbGly6e3WQU/omyzCMaWRno5FFfY6mteXSlYOkOpF/PuJUDhe4gQsQhYTDMU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161362; 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=34i2N7BdKj/8NGyrgpN6X684Am9U/Qza8t05wZ+ve08=; b=lo0cOlWE+U72OIJynm9en/qnjDw2EvpNaHbV9uuD4hK8tC5FaekxJlw9TACBnxBOkkChmUvEdgp45FcS22WyKPnYpXnROnFlnNc2yuiR6tb99fNlDnrRZr7b94aDu+Y90T2zkEppduU8XARVnUwz4q5WCrpGU7fLAwL66ax5C2U= 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 1766161362946262.6406708688364; Fri, 19 Dec 2025 08:22:42 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdFN-0003mR-IS; Fri, 19 Dec 2025 11:22:33 -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 1vWdFC-0003cN-4H for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:18 -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 1vWdF9-0006N9-2h for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:16 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4779cb0a33fso20187655e9.0 for ; Fri, 19 Dec 2025 08:22:14 -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-4324ea2278dsm5814202f8f.18.2025.12.19.08.22.12 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161333; x=1766766133; 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=34i2N7BdKj/8NGyrgpN6X684Am9U/Qza8t05wZ+ve08=; b=Hq6Pz9HmGRL9UDZd+nKxT+ShzROAPaR2y+7E8RbI67EvxfjLFtZLhvMSmLJ45OAyoX kqYbeLER7FouO+rF2SynL1W6nHGQupsqa5w2y5U+aOycuIS3PIYWclCI1VDrlcghOXN8 gf9BvhPlvg3U1vxvtWuO7JhFp8X5n3e7DT8+R4i/oPAnpziUoCpoQS/1GZK5eFtprd9P 8Gh8fMus6cv4hmGCiPQ3wrIvts1OxPl4assiEPybKzdEgkiP85mPl1JsmL69TQOoVkpg RO8SspW4BjPK0HAAG+jMSdom7iZTxFEi8QjmEa0n8RtsN4wIpHRqph17mwFBMlglZU3g 2Mjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161333; x=1766766133; 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=34i2N7BdKj/8NGyrgpN6X684Am9U/Qza8t05wZ+ve08=; b=PkU7CQnD5jk1PQfLQNNbk6A3/pRU6z2vU+QmVrxhJhFmhMF8M0WfveN24mOQ5MNd3Y WrAUmtTjp+zEaSuVxwp48DF6IG7tnF2jkAROb3WnQbnOYn8N/B3UYDDLcWUMKXFc8oLX 7VrJ7JbFhU9C7wQYU7hO+kfLu51o61K07I9QwJxeLw3B6JqJCPyzdsFkNJV7IClAK+2B tW3uR/NsGG6BpCoQgqnU6ZtKBVFdKZSW7gQtavZELEHMgKwnGLZfUwHoLPT4e3woDMap 1KHfE7h0ySS//9iuf60A2KhDYZ1UL5d9Wa8kiLppmQGhBqS7JdoSodQAMXtJOuZF/mCW osag== X-Gm-Message-State: AOJu0YyyB5TkeAzycAfMpLVml1sWRiCtPhnMhXeF4HhW/zO6XFXF2clo WYFxwi+xIOIzxCymtNzXsjwGq7F31LbiwAYWKAhggcZjRpJ8MJBNa2JnGix1+ebmREQ++5VOTfb gUf4q2Uk= X-Gm-Gg: AY/fxX40D8fZ8oi9CVC3hVRTrmGVdfKSxCNQf/LrUcTRcklV9SL7+W8/VpfEVKf8c0l E04+pEvpGX5RziJeSBpJbu8E9IGjhwJKVAO2Kwl+2mFLsjRg7dkwtQyF9Ml340TlLZk7NI9co+A 3FytM2wt90fbuA288pTsuKgUJb6mKMjZyuT3RYBngROIwzsnm9pICUk5VSh6vnvY4C2FoaXcUy1 HjKoB00cdKlqQn66OmKkUiMaX3u8iELZURhRgAbXAy4FE94+ZbIkH+0/Yf2TC5NdhSPUjtHUmlg QtKOQNrSqM4GAZWJynpr4AtZk5xY7+akpr7+ouO3R1pGDIkhq2JWPTUNWV0QzH4jaq0Q3EI5V/d XGN2BBBirHevibG9DcX0Mus6hErQr9Y7+cJTrVCAZk5CO8H8QYEWP4GHM2ex6LKEbk7Yyv/d5Q7 hLfSnTbFrhQdOiRGDcfQ84m+EvmCDK+NoJ5K6iZ+mnzBo9VQMfM8sHocIhwpzD X-Google-Smtp-Source: AGHT+IEPJi+DidT23MeG+AK6jJuehEnpn18LDKQTOoDHDaZBLgmEwoeQnE9PfnmUlIlvWHlPUk8BwQ== X-Received: by 2002:a05:600c:8b8c:b0:477:af07:dd1c with SMTP id 5b1f17b1804b1-47d195aaf01mr31960925e9.35.1766161333129; Fri, 19 Dec 2025 08:22:13 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 19/24] system/memory: Restrict legacy address_space_ldst() 'native-endian' API Date: Fri, 19 Dec 2025 17:19:46 +0100 Message-ID: <20251219161953.72724-20-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161363383158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- 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 587e8a1453a..65ea60df8fa 100644 --- a/include/system/memory_cached.h +++ b/include/system/memory_cached.h @@ -77,8 +77,10 @@ static inline void address_space_stb_cached(MemoryRegion= Cache *cache, } } =20 +#ifdef TARGET_USE_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..8ff6e563310 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 +#ifdef TARGET_USE_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #include "system/memory_ldst_endian.h.inc" +#endif /* TARGET_USE_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 20a2784e234..5c8afb26c7c 100644 --- a/system/memory_ldst.c.inc +++ b/system/memory_ldst.c.inc @@ -117,9 +117,11 @@ void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr= addr, uint8_t val, attrs, result); } =20 +#ifdef TARGET_USE_LEGACY_NATIVE_ENDIAN_API #define ENDIANNESS #define MO_ENDIAN (target_big_endian() ? MO_BE : MO_LE) #include "memory_ldst_endian.c.inc" +#endif /* TARGET_USE_LEGACY_NATIVE_ENDIAN_API */ =20 #define ENDIANNESS _le #define MO_ENDIAN MO_LE --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161393; cv=none; d=zohomail.com; s=zohoarc; b=mrkEslAdCRzbEddsOtlMDXqmogXRRFVu9jiVomNx7E2zpyvBiFszjjJN4WnJhKV1dchr9WvztPZrmY5X4vlW8afrpYrn1EN9ukySJXM9lMSrEKPCN7gTjGs2QYS+Dm9+Kvd0Q/GdoYAFD0WSIXhwcn1gmNWyuDEqt3DQJch6Hzo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161393; 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=khiScXO2o7JNwZuNHp3qGbNqQoHSXXrl/2UNC4oNo3Y=; b=is4NnPWy1K+wPGticosAYc/ROoU3oq6ATfmymVaIWjY+RBu3f35a8dEHLzL5NfhUDIdW73vjPv7hJgBgIR6XLpEUn/ix6iP+J/bp4GIjdVTZEZXBWs0qGxp4tzItOxzU5qMLRdyv+J4RlXuCOgLRHAjjyWItndvXBHJbEnH0WuA= 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 1766161393262844.9757962483327; Fri, 19 Dec 2025 08:23:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdFZ-00043k-Ls; Fri, 19 Dec 2025 11:22:41 -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 1vWdFI-0003iw-PD for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:25 -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 1vWdFG-0006On-Lh for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:23 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-477a1c28778so21549045e9.3 for ; Fri, 19 Dec 2025 08:22:21 -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-47be279c637sm97193505e9.11.2025.12.19.08.22.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161340; x=1766766140; 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=khiScXO2o7JNwZuNHp3qGbNqQoHSXXrl/2UNC4oNo3Y=; b=e9R8N/LJPfCjS1qzOJRNlJZfsmM1IvQ0MZ4fWBL02vl1fhYaPPaBW3pRvKd/855eLv nKwHE1N+djpky2pVh7itWJ1E5GQv1DevUbXUbhI5Io0SGDv3w0YPjCTTA3zJ4EmBpjiv rJ2JQ85M4FJI8IzkEJLlPto+yeXZZBvMI6saKyGxspx91O5rRE62KUCpQU3bLI8dgRbQ BIjButU2NJHl9gnpD+n47MZ1Jx6NJzsQGkA+HsIL8Ln58D3xsHKzClhTCzghK0U0dUlZ RJPvKRX8aJcB11Yk5UhqPSFeMPkGFVJjxM+jw/+bCTozhtP+naY4IPypVjE8iOv18YPa Qyhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161340; x=1766766140; 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=khiScXO2o7JNwZuNHp3qGbNqQoHSXXrl/2UNC4oNo3Y=; b=kYNXF5X++4ppXIzyegdp7d24qeh05BupRZl/3HFUDc+DToGNlNfdnP0XNNKYNoJ4xD O1PKNbeocbwaiGZ/MXhGAMIEVFM/cf3WDFhMgsbrOwVB3XB71l1bjML87vkf4HRx/N9i qM69Pq9h9idgKxg2RorcIXLY6T/l+j+S5OmEQsnYKN7qQ1X7mjyOGVnV22r6MWPMAz3I qlRiCko1ENz3FEglcad4ZQ3bn1JSB/tL/iicRd5VixE+EYfoP6HdeaDBne/PUbjbaxeY 4MYY6m3HWbFDspKO9W+amCMAI5oNaiI7c2HGiEmCAxGua9n+/5cB5wwW0b1cC40uQ82q g3ew== X-Gm-Message-State: AOJu0YzsGavJrzewwjxTJHcErctb6jFTKTla7kXu760Ga8YeCHtEy9sS iGtkypy0sTDRbgUikz+u9EnquUxCkpr8rnRrI2VsSrWDY9jsCC94fgUCzDhOAYVUZn+J9iac4Qh WDFI0TWM= X-Gm-Gg: AY/fxX6xZFh4TvWn752Me+eZwIocMfxiBICRHwyU7f/r9i+oWSptOwW1NMZ/owqKyri tX6DiU9O3IYIvh1ZUHDtXL8G6eR/zG8oUbsO7pdIjry4pVcbqRZkdzvXQvOFLjrucSi/nzo9bB+ ZnLE+Q6bxI0U99XRJNmuSOzXdJPlD6VBZ5RvwV6HLr6fKj99twMt8nNUgrVsYT8byir0AWvCz8L Pg7j1IdzaFX4jnCebULq6335aSIxDfSFbBilOSatvCqF+/NGnXKn4yTI177iqt3paAxgTdRLpUp n9PQsX3JifBoxgyEz8L85ZnhGs7QBU2XCHFf07j0Ub7DsMoLOVSlhcC4ZkIPDGrhGflpQS8s1UQ yTM8K/tzjY+DosaekrBYjtqZsO2ulJWFwE8vcj4468L4MZlOSn5C3rp5K/l/+ZgT+D6f4SlGWaj 5/a+tAWB8ZRyTZ0RsDtsyaQ9+Nx8/Zt4eid15isvqRdPL7Zja9+qnY5oWBKrYW1ZCbGW+Kzb8= X-Google-Smtp-Source: AGHT+IHP4gP5GWXHINMPK9I9IqaJlx+u6uNcXxRwOYG417teMq+lGtm0kKMo7FlMjBAonvrwccAzJw== X-Received: by 2002:a05:600c:8b12:b0:477:a36f:1a57 with SMTP id 5b1f17b1804b1-47d1955ae38mr39840045e9.3.1766161340209; Fri, 19 Dec 2025 08:22:20 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 20/24] system/memory: Restrict legacy cpu_ld/st() 'native-endian' API Date: Fri, 19 Dec 2025 17:19:47 +0100 Message-ID: <20251219161953.72724-21-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161395438158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- 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..91b618c2f41 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 +#ifdef TARGET_USE_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_USE_LEGACY_NATIVE_ENDIAN_API */ =20 #endif /* ACCEL_TCG_CPU_LDST_H */ --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161368; cv=none; d=zohomail.com; s=zohoarc; b=dW752GfofNZe7QogLPconJTdr6uBuiOlRfoeofvVeV/EuWBNhtPMvm2Wv1krV3661E7ZqkSc9gacDjqBGp+6FTikNlLYVU0OQsYTgY4DA8xM2KsBU9W+LPhskCIvkdH7L/o4Zk/Sp7U5vWqkZd41RT5Tgt3di1hbZW9QcV/B1xc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161368; 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=BpjgfT5VSI3t/6S6vaApflnZkyWTsFc2Sy1vcWpsXLI=; b=nOYMUn1HZ7E5NnnIcve9gudPB3DjQORTVozA1bO41e4uYUJ3n6Vi3CwqV91ppgmpk74PGW9B9nZoFE98QL1Uo5cuFKXGjrKIe4YEZWfNnwmCbFbrWq8noyMejb6MO6FvZr6TZ01YXpQ7fTs+M+VenIoiiPRmShOAdxnCeD/nEOY= 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 176616136880986.43281675347521; Fri, 19 Dec 2025 08:22:48 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdFZ-00044M-NU; Fri, 19 Dec 2025 11:22:41 -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 1vWdFP-0003pR-Q7 for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:33 -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 1vWdFN-0006Po-6Y for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:30 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4775e891b5eso8164005e9.2 for ; Fri, 19 Dec 2025 08:22:28 -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-4324eab33f5sm5911303f8f.41.2025.12.19.08.22.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161347; x=1766766147; 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=BpjgfT5VSI3t/6S6vaApflnZkyWTsFc2Sy1vcWpsXLI=; b=tlU4f6dVCNrDU9aB7kiW8ph7NOx9eMUbfppTIkrVhVsTfGQ99uZNk1k1n3NleLrQZh /ZevyRoi4WyAiqHOFwFZ8qQ8RkOTSiyK8uO+shStkDOS7i3CmzUCrcrVDGah3pnIJWhD XOVqyMkz8cAegbB7l2eB4JCg8qRxpGansDvOqXvzfm9JLEx38X7ficYQjIOmJWrZsoX8 ugsdHMzPtA7sMBaCouAdBL3e6Qn675QmF1aI9YWqoqAmnpadDUmopW/7ubaesMZ21gmb Hsi0HegyHsc0WRZ8CO+xgc/RItNgvmFEFBi90/VaKt44znc7f/mvvCUoRbzVnwd85PMy LS4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161347; x=1766766147; 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=BpjgfT5VSI3t/6S6vaApflnZkyWTsFc2Sy1vcWpsXLI=; b=s5N45xDqzhdkCGHSx6KNs1bPjEGJatgTDA02TX329zP/YYWKcq007Cpbb0wMLh2W/l edGSx5OwlmiZqFzmwAJGyuHvLS1DlN1H0L7Uuxbui5rmihXVst/q5wJAdiIfPDQSNGFr EQoncXBDBoR+iLCXM4edK2oYhUBXfoMXhLLBy9s0KcjPJTflC/c9X//aeWu2163hOerm 2J95v1pRxcwCQaxgkMMsHNHDqPQlwcIrK5SIV+14ckmXM8O/oNvJWaDs2/3tFsmJ9hdp /Ba5qZewEIrNgFnz5uA+eRcEsK1YplAjv7G4mhQafIpl18EK15vekAs98LnUfNl6ocNy 71kw== X-Gm-Message-State: AOJu0YyYwzKvikY2ygecSawLxXysHrk3LOda3d/ZbP1b6CoXpaz12eJJ EciWogozlbjoTtYdgfY056i0ZxI/g6HQ9y2naOEx7W5iB3sUXqOz5+hY/Y03RfGD7sT8iGLrznp DEh93qw0= X-Gm-Gg: AY/fxX4bPg9ouuFIrYhT+wOyd0CYKwh73Oa2cSfgAaC/BWpK9oct5HOmC7idCqo7pvF eGDh25PC7gFvIpc8zL6L+thn3IG0Q/3xaGMO3gayXADht93PuWAMxLilW7TPD2QmftQKDxLR/Tn 8YAXrurHA/H/unJfEIeOjgSikjL7gxFxkVR/DqJQWsgpDDmWVtNc+8L0CSYyPqbRHRm6xmf1n76 h7Ab3TPb6jgTiiRIojrS/tADF6bDg5NDW1UCGuBDY36Mc2z11baPrvcBLzVoujiqGJsUaAl5/QJ BdD48eihe3zOjd62XW4v3evuBaskF0elAzvmAiFLgBrsAO68MI4wJToNFJXVzXZHZ3qwNXuHl/9 dlGLuyJ+dsuPi4CvW1FTesngFkA0XpTqdBqd2VfBsfSvucv4vLSJTrne3Du6xnC86mC7uCRJBvi 5Hy6IqCEJCHgamVSVbY8AEAu1vBQlYqmdpXID0o+ykbq7/Dnl0CQUvyma2fKy+ X-Google-Smtp-Source: AGHT+IEIoop5UneoLJ0ulg3j7HfIDhkh8nnEHCs1MnnRLTrcdx/hSuqQmA8K8qB9dza+R65emYP0oA== X-Received: by 2002:a05:6000:2386:b0:430:f718:2388 with SMTP id ffacd0b85a97d-4324e4bfa20mr3195495f8f.8.1766161347302; Fri, 19 Dec 2025 08:22:27 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 21/24] system/memory: Restrict legacy translator_ld() 'native-endian' API Date: Fri, 19 Dec 2025 17:19:48 +0100 Message-ID: <20251219161953.72724-22-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161369423158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- include/exec/translator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/exec/translator.h b/include/exec/translator.h index 3c326555696..30e6596c5d7 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -188,7 +188,7 @@ 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_USE_LEGACY_NATIVE_ENDIAN_API) && defined(COMPILING_PER_= TARGET) static inline uint16_t translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc) { --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161399; cv=none; d=zohomail.com; s=zohoarc; b=KRA1GOBvI/p3Zl9VLlFejVhJST5GBQTEmLFbDLoClVrR/fZNIjdqzeFSRw68dRD4TQxrUdZDPrzfyfD2iQCmUr+dkWVc9t/zG4o8S7pX8aailykwqt4yks5RiJH9CokT4vTU24OH05NF9nSaNttUUYBoSiJkWSs3K6SV3N9XWfo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161399; 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=jdXBVU3cj91wzneTl+TIyd7O42kKkcA3SVbxfUbxdD8=; b=inrB9KzYCqmcaqBvSGnBpvDUfXwSmC4zGK5iOyYLVuXt66O1kjp6U8H3S4dzZEGWhFZxJ/Y6nb8D9OtZrWOvWnzIYPFBjUsrB130m8BJikdoXCny1LmsRwSSDDSohkhIbEirXLsiwbgWmrHSX1OmdmqDcHKxjLe0bukcLWmJnrc= 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 1766161399112942.6746330161001; Fri, 19 Dec 2025 08:23:19 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdFb-0004Nz-Hj; Fri, 19 Dec 2025 11:22:43 -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 1vWdFV-0003vg-OD for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:41 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdFU-0006R2-Aq for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:37 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-477632b0621so12141135e9.2 for ; Fri, 19 Dec 2025 08:22:35 -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-47be2724fe8sm133542715e9.1.2025.12.19.08.22.33 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161354; x=1766766154; 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=jdXBVU3cj91wzneTl+TIyd7O42kKkcA3SVbxfUbxdD8=; b=H5nxFDElV4iJZ+tryvMzh4ZifttGZfyjcPkOJZ7fncUwYU6fYxoN63HEdyWB0+9Ix8 SzU+/I4pJejjDY+WSfHSuLgzO73NZE7RwcI79lHQo0jiMdJmSWdqAvGDOvVgYGsk+0Pm IuOsMTshBBVewrvDMl48zlFb4KHtUXEn64xISN1ZWY7lP+YVluQ7iDhZoks/XklofqHZ 2wwoGtRuNkrEUkQOEDudzeN5g369Kg1/gkx8Eq2OrBVli9lpmfFTPjwnrp4KEryS4pbH SDvQANoiZKj2CfJvbCBXIUPcFbikbbIB482qUkV++sYEfDkPuWfF41yTkdSUip7/0/vj 1p3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161354; x=1766766154; 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=jdXBVU3cj91wzneTl+TIyd7O42kKkcA3SVbxfUbxdD8=; b=qT0FlLt28l7qVtt3HceJW6qHYgX4mks6oIY/SXfzKu6lJEQbYAzBvdHn/xvq+MBtIe gKv4pJvqJ6cM28am4+HyNNJpNQDNgS46fAKMMudedqpAWMGcn/Gw52YLD2aO25RPa7I3 Rsk2YEyUFo+RGRLL4w2jTIih6NpvEr9Mt1eh8GzM1mry5HcbKcG1KsdQE/IjY66VKSYz 8L+sXRVasWJU+3Z7Uc+evwlROzogtG5Zav7GYvNYHjnAi0z2HCWQpsJrYDK8rDUg+Saq 0mZOmOCMeiqK86mV6LdoK3m5dPjBBGlaaCqcEitjFVUKAM0nNS3bh8NNCPpCzgxrJPbZ 8ctw== X-Gm-Message-State: AOJu0YzFlz6arudW5VZksNxz5+qXkdBXM7YfcRDOWhE+64xHRY1ORVeg 21Fkr48dfhYA9gZPzdDb07f0EP+A7JTjbXWvsemzgGj2uuV1L055jwB8luF8tIUCodFLKXGNeOP Qc7Mntcs= X-Gm-Gg: AY/fxX63Vygtb+ht2bMJ1j7jR+Jwtjw0aNj0OtZJReuQz4CkB5wcH94vWjA7rBn1WsK 5HJyNRQQkKKLjUxk7e8V7ugfu6FANVP9mt5zpsMe8wMrSagFd/Xv4jl6/RizOJ7xyIVra/OBD71 m8/3RidMQu/Xxai2yz0CPHeAImz6a7IFuAZ9BO4wEpvFVH/tPzdPQPYG3dy7eps3XQBLOWg11Br wo6N8miZbFJpvExx+1b3V3z9CvAKddjYE6GSbI0Tookg551j1E395Ksr2Jb+MaqgxxMczQZ3ORU P6LooGxVpSlniZAS4oesQMGcnnYUjBuHLAU8rljUUZPQNtcO3UstjZuiYRDMUdBY28s3EO8eq4L taTKuS/OD6Mw0zQzh5Q8T5o7US9axa6MYvct+VN59SCyGXjqPo1o0ePKFSWyZgT0i0ImZL1XiaA RYDGhFMSsN+F/JTjsrKYfsPhjTkz2/aKSoC7dVZHJzyOcbcaIPOQtPBcM3mVedvXWeE+s4ESo= X-Google-Smtp-Source: AGHT+IENXpG1ylj1QuiuuBJFplyjWUiaO+RTYMASUvP8MtDPgH4aGS2PZ6z3vknEd96VziWASpDIEw== X-Received: by 2002:a05:600c:190f:b0:475:dd89:acb with SMTP id 5b1f17b1804b1-47d195a72fbmr30685235e9.22.1766161354391; Fri, 19 Dec 2025 08:22:34 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 22/24] system/memory: Restrict legacy tswap() 'native-endian' API Date: Fri, 19 Dec 2025 17:19:49 +0100 Message-ID: <20251219161953.72724-23-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.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: 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: 1766161399521158500 Guard the native endian APIs we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- include/exec/tswap.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/exec/tswap.h b/include/exec/tswap.h index 72219e2c431..624e2cd525d 100644 --- a/include/exec/tswap.h +++ b/include/exec/tswap.h @@ -21,6 +21,7 @@ #define target_needs_bswap() (HOST_BIG_ENDIAN !=3D target_big_endian()) #endif /* COMPILING_PER_TARGET */ =20 +#if defined(CONFIG_USER_ONLY) || defined(TARGET_USE_LEGACY_NATIVE_ENDIAN_A= PI) static inline uint16_t tswap16(uint16_t s) { if (target_needs_bswap()) { @@ -68,5 +69,6 @@ static inline void tswap64s(uint64_t *s) *s =3D bswap64(*s); } } +#endif =20 #endif /* TSWAP_H */ --=20 2.52.0 From nobody Mon Feb 9 08:41:37 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=1766161412; cv=none; d=zohomail.com; s=zohoarc; b=AxaPdK+ECzt3Nhn32ykKo2Z+5xrfkdFo04aNA2Vnf/fbnl8peytQtJqISHElDm0T4aYioZmXHUM+4EUgjbw1ZPuh3vRPoUhJ7mVVmAbngUBukMGGVSiO1VnIp4c2R26eU20p3DgG0rZ9QqhoUsfQXd1KfA2j/1/3WQXTs0pAoWk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161412; 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=IvOQucxMKvOFTIzzs4UAQ1T/36cywHOclRzJmHaR2bo=; b=eB3xwvobq77CkI/m8cqKVwvuJ9ydGNa1iwL7iEAdQb2T85WJ0CQNqMxOhcHgEzIC32v/FOA0HiVsw5ugNPBOd2GkRSebjekjo0hg1iecmoZSZ5wMOFBBPal7KLsDE6tegvtuzzoZqB4X9IT8TO84OV+gNwdMIdEvKW8qGtiRQgs= 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 1766161412411186.87307511353072; Fri, 19 Dec 2025 08:23:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdFf-00051N-CT; Fri, 19 Dec 2025 11:22:47 -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 1vWdFd-0004ec-7g for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:45 -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 1vWdFb-0006SZ-Hx for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:44 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-430f3ef2d37so1433125f8f.3 for ; Fri, 19 Dec 2025 08:22: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-4324eaa2beasm5854160f8f.33.2025.12.19.08.22.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161361; x=1766766161; 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=IvOQucxMKvOFTIzzs4UAQ1T/36cywHOclRzJmHaR2bo=; b=IArLtXfXpz9aGGHj5/gs01uUSMa0nkw7GuIbRHshm4VfkvJ+/TTZlnsr4OkyyYUp5l PAFa5thiEOQqVn9y28/gWlMQ2HYnaPjcAEOq3BTHFfa0j96URvNi+iq08fy+ap1WbZnn G9a6N68hMiAObYBtyyrEQXLkBXZhXMT3JyZ/s9mp/UdsvD8ZlIe9af/zoYIouAu43XYK RqinKEEULar/8yW6krZTVZ2OR7W8I0F81Tzvuf0ZTnebpmIZYBuTikhMkWTTuSn4I/hi m1VUCvEGellLgDPET16K3lkeAP4vHbhXPrAF2hr4wkbBPg5ragxUCHGltNlOL6FNLqC7 bmuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161361; x=1766766161; 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=IvOQucxMKvOFTIzzs4UAQ1T/36cywHOclRzJmHaR2bo=; b=KRBwXkxwph6CE9GrtpnjFIzkLIMZ+6xKIUagXJlCL+wpYTudsFWSNj5q2fY86+cE4X gwmET1fs2+VlqwQNZ3/g2KgXmcZraq2J1wblGk1OMm7T1YgZDR0n4JZfVL7DLRhsR04q niMCBML1vI1ha3n5PMXvvuGMF1BupIkBzGT+bgDJQXyUzLZUsUg398PnmIcw23FaSPRU IoTkhcwsQ3NgYJBgZ+7EHyFx/ENlwbLx/3tQOHC1sX62Lqm4wYi6DYEDrxpf5r9FZj54 221T8mFKvc0Xlv0mXapX4kNczTfMMjoaTV7D7NsphiR6dcXBALnuUhwLo7tga4mJiwwb h49g== X-Gm-Message-State: AOJu0Ywcm+xu4aHeZhBJfaEyAayQefNll7u1ph5+uIHZV4XN6X6YeinR 1UZLivgeYH/gXTTiFvKV3y3Fkz0bUNFjxmPIzlZC4JhAzzp6n4y3JVD6wYfY7jhnagDAC8YLvy3 1XaZU120= X-Gm-Gg: AY/fxX53Uf8/0FLXMKGks10fV4Rrr++ckm58X6niwK2ga6mDouwUVwJOQVH9pN4V4FU z2XrVJy5avWcJyaONGPtvBMCLDJxP1lahHn/po9t+k8aLluOrKjd22vNbbrNE9FmcCXBozLYc5u X7f2QWSL1RaiCs9k6SXJjBPGS43rkBRNf4znC4makOIrjXAGOwX0BfZYefXhCAANKqPoL5pNty+ RndgNOkOSTYMHbuIzOFIVuxk6ltLwCqqNA5iIaHJ0aEBe0Bz1EsGBriWxD2tx2uCeAH/C5Hx2RJ i9n50JDiwpQJsfEilTKZwp6sVQ0QXU3k/7BRJSa8k93yL07W5vvHaEDhizrixjGqn2vkif9476C T9PIKlGb+3DLT7cRHrQPK5i8z+ghnI2niR6CbAHZd6nR45CtUTwqp5x0rGSBRY7pROr4+Kpf7RR BqI1ewQOaNeoqEHtbYJG4rZbbofoOoOyu9EuOW7gdGrl9XwpZqrzQz5g+JOGue X-Google-Smtp-Source: AGHT+IEDcFQLFxGPpCMUvcpMVn+BEzVAnKgvVjCtXGrLU5lVRO3p4pg3MpdlPeVuUQXIRurVkSYjkg== X-Received: by 2002:a05:6000:2403:b0:431:35a:4a7d with SMTP id ffacd0b85a97d-4324e708fe3mr3576594f8f.58.1766161361524; Fri, 19 Dec 2025 08:22:41 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 23/24] system/memory: Restrict legacy MO_TE 'native-endian' definitions Date: Fri, 19 Dec 2025 17:19:50 +0100 Message-ID: <20251219161953.72724-24-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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: 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: 1766161413591158502 Guard the native endian definitions we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- include/exec/memop.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/exec/memop.h b/include/exec/memop.h index 799b5b42218..3545592765f 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 +#ifdef TARGET_USE_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 +#ifdef TARGET_USE_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 Mon Feb 9 08:41:37 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=1766161412; cv=none; d=zohomail.com; s=zohoarc; b=BVfspmdOid72HvLLrx7JTX21qoWeyrKp3hxUC4tB1KyM/Eo0efhLbiW0YyjQhQwXEwS5Msf5ItoWxZRylrJ7GrPUyH49L2mX0+wpZmLFxYrsNX9/vIL4nTg18YMFTL8jknGyupCf7swahY9CYWGsI4lBGLj5nQh0E7UzynVdh/E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766161412; 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=hP3KYcHy9nGJ+Swo6FkNiFvQDfCIc+8Wts9KydhYuNA=; b=JYtCONuh4ytAT+1M1kVbauAEYrNcLvhJOYpqEsW+bP1yEBDlKp8MKsnXTdw7QdAHgkY3QFd3/kt7yOBpJRxIJin8dU4rQZjspqMpMte01vq2e9hSw9lSc9/DbQxEKJKA1cn6zQwyAYTtjdXquG94J8wsPeDe9nE3mXCyGAnsJ1M= 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 1766161412141432.73853611086076; Fri, 19 Dec 2025 08:23:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vWdFp-0005f2-O7; Fri, 19 Dec 2025 11:22:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vWdFj-0005Ug-Sm for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:52 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vWdFi-0006UP-GK for qemu-devel@nongnu.org; Fri, 19 Dec 2025 11:22:51 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-477a1c28778so21555475e9.3 for ; Fri, 19 Dec 2025 08:22: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 5b1f17b1804b1-47be3aa9971sm37161985e9.13.2025.12.19.08.22.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 19 Dec 2025 08:22:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161369; x=1766766169; 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=hP3KYcHy9nGJ+Swo6FkNiFvQDfCIc+8Wts9KydhYuNA=; b=BTcrXE7IKZMoi4RNIEHQqOllP9sZJoVtaXK1R2A3hRxdKLOIRo77DzstnYplTg52I8 ZDhOarQHX7PNhfDP/s0oBFAXL/YBneIYQKahEWq3r2lZTWTag8Bo7muLOerGoLhmclO+ 5ejzZjUWb5tliYn8Wuxw0nTKjdTNaMLlI7shBrkVizB9rTuXPOrAeXllCTt9cZiU7aFN LnRHUI8lbBkUWJmPfQKy2nD1ylZsgJPAz6QuuqZSig+Op2XIG4v3MdwCCu3fNhGpY9NV wko8HKtERsZw9/6KjGbJKqsBvSIoaEI+SDyo71Y+tKcDV6Hd8woWk4lBMp0sVPLIeZal F1yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161369; x=1766766169; 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=hP3KYcHy9nGJ+Swo6FkNiFvQDfCIc+8Wts9KydhYuNA=; b=M6PRXDU+xHroC5mzs3mYkWwx0M3uRkUDf9S6aGCRvY9x3+LTMeV75k8KTtLmLgNjhd 7KQfxoYLQ4eC1NeSjy3I82r9gcJL0IrwVwQP5Va1abJnslHNel07hPKq7yiVuQlASOzH VAxCKgZaso0QWQxpuHKcC3XTB6Qu2DwaDo5c4f633cX5uTpV+gvRZ4vExkrFjJV+gpLj DlmXp0lnD+bl/3Ytf4sMqLKJQDCWDh7qiO7tGPp7dUHhVUhtQuwtfcbqcQSLXGHwtW38 iqpHQ3XpW+V4Rqnk0cvyzpwMdjA6X8+R5s9Sv7vVCaqGcaDto2DTHVyJBDeGA2wsHMey Ou2A== X-Gm-Message-State: AOJu0YzhlVqTHK4iiLdsHMRtC6d+OXmd/OAAAqCGzTyyWXVRjQWo6nCZ OU7lGc4Cw9ZaS3Fu2spIVEjqKY9Gj6mDLis9waY8F6T0p3IWNlXI/cPcvEwOalhCnNs92rvW4Dr CZaII0JQ= X-Gm-Gg: AY/fxX7T1yC7yedPNViPTKuK+U0JAdBwcg0sN+zPPpAnek2IeDk2VPAEMtA+UXwDpJX u/9jVsKcKzDJ1GxKYkFJlkfN2NN4zNpO2rehqFwB2FyQKXFZxi2yBQt9lhrOdtNKLzRnvyO0NrJ B9Eks/H9OzenpgkO0cYbl9dQEQcLjkazu92lHou0Sa8EVXgNBoD7IxkcUFxKrcZYdZw0seMA3Yu Z7iOY54lrU2tu1UqEYVKoKtM+bMhqcJ3vsHy0QKSefmusVdBrwwoj1DGNzNGtHomnDLuvMXgU7V Le1cGR1MuMjXO0TmNFy4/Sk12G1u0L3610MyCMSP1k4TLoHGJM5JcESi6OJC6JyE/6qHVMA+yS5 E5MsT1PEYX8TbRyCiJMrgD2WMwlgN8Gqm4aUxM8nQ7EX0ZZzgYloSJuBLcJSLgiKqdBHLBf7ukk PLCpbfCCBLvvqZZi/aEtazf2XDglg4Bj+ceLxcjMtzRZw/nz/afIXa3yOABHNv X-Google-Smtp-Source: AGHT+IEsDY5GSpN/zj5C28b7mr/pRFn+cB0p9rKKhMBQVv5bpQ0dM5nmKG5V0lU1c+384zO9Id/H7g== X-Received: by 2002:a05:600c:4fd4:b0:477:7bca:8b34 with SMTP id 5b1f17b1804b1-47d1955b744mr31676515e9.6.1766161368699; Fri, 19 Dec 2025 08:22:48 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Richard Henderson , Daniel Henrique Barboza , Paolo Bonzini , Pierrick Bouvier , Anton Johansson , David Hildenbrand , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 24/24] system/memory: Restrict legacy DEVICE_NATIVE_ENDIAN definition Date: Fri, 19 Dec 2025 17:19:51 +0100 Message-ID: <20251219161953.72724-25-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251219161953.72724-1-philmd@linaro.org> References: <20251219161953.72724-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::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.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: 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: 1766161413609158500 Guard the native endian definition we want to remove by surrounding them with TARGET_USE_LEGACY_NATIVE_ENDIAN_API #ifdef'ry. Once a target gets cleaned we'll unset 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 --- include/exec/cpu-common.h | 2 ++ system/memory-internal.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index e0be4ee2b8f..104d2619473 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -39,7 +39,9 @@ void tcg_iommu_init_notifier_list(CPUState *cpu); void tcg_iommu_free_notifier_list(CPUState *cpu); =20 enum device_endian { +#ifdef TARGET_USE_LEGACY_NATIVE_ENDIAN_API DEVICE_NATIVE_ENDIAN, +#endif DEVICE_BIG_ENDIAN, DEVICE_LITTLE_ENDIAN, }; diff --git a/system/memory-internal.h b/system/memory-internal.h index 46f758fa7e4..d781d437642 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) { +#ifdef TARGET_USE_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