{"id":2175784,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175784/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20251218221457.73341-5-philmd@linaro.org>","date":"2025-12-18T22:14:55","name":"[4/6] target/sparc: Use address_space_ld/st[n]_be() in ld/st_asi helpers","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"a489425218f343940f528bbc62f49d4d98f7e759","submitter":{"id":85046,"url":"http://patchwork.ozlabs.org/api/1.0/people/85046/?format=json","name":"Philippe Mathieu-Daudé","email":"philmd@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20251218221457.73341-5-philmd@linaro.org/mbox/","series":[{"id":485925,"url":"http://patchwork.ozlabs.org/api/1.0/series/485925/?format=json","date":"2025-12-18T22:14:52","name":"target/sparc64: Stop using the legacy native-endian APIs","version":1,"mbox":"http://patchwork.ozlabs.org/series/485925/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2175784/checks/","tags":{},"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=Y0RYmoVh;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dXQ416FGmz1xpw\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 09:16:17 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vWMHu-0001yM-6p; Thu, 18 Dec 2025 17:15:58 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1vWMHa-0001fS-E1\n for qemu-devel@nongnu.org; Thu, 18 Dec 2025 17:15:42 -0500","from mail-wm1-x329.google.com ([2a00:1450:4864:20::329])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1vWMHY-0006xM-B2\n for qemu-devel@nongnu.org; Thu, 18 Dec 2025 17:15:38 -0500","by mail-wm1-x329.google.com with SMTP id\n 5b1f17b1804b1-47774d3536dso9794465e9.0\n for <qemu-devel@nongnu.org>; Thu, 18 Dec 2025 14:15:35 -0800 (PST)","from localhost.localdomain (88-187-86-199.subs.proxad.net.\n [88.187.86.199]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-47be27b0d5asm63775225e9.13.2025.12.18.14.15.32\n (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);\n Thu, 18 Dec 2025 14:15:32 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1766096134; x=1766700934; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=/ai82X5qjfSKpHMHTaz42E+3ndTcjTJ0slisrNHpajs=;\n b=Y0RYmoVhD9V3w8maW3iZKhqqVSJa343xosHJsWa8GaXIO4CXIKsU457mmuwB9e3u1r\n F16l4GESFFwr2p1wuu2nt9uJKiUNr132p1MkIxRK2cyxURf+RzYAFsX2lAPBZ4yNhuUo\n 0uZ3qOyIriQcki/zRVWyq/3L7TNVZp+VuKf4SKwWLIf1SNP2upc88A8ODRjOAxnGxxA1\n FhYX64QkzXZLreDMEGg/bZWcSEaKPo25/CI6QZDYELTkR/W94Z0OsFUlCGzTQOGr1Xkh\n 8gyQf/EkM2lcnC8aAZ7DMX9KIusljS92QNAfruWJoSktMrBp3KaDmKG5qgpR5pd1v4H+\n MLNg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1766096134; x=1766700934;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=/ai82X5qjfSKpHMHTaz42E+3ndTcjTJ0slisrNHpajs=;\n b=Y2iFgbkrmIdXn9uazQsuPzXPruTltnEYw9dtOFwhhfY/BOZ91QFLiPIWQrhm/4c8gw\n iiFHWf40yoTC/V1hoaU+lZpY5fxBcc7+yTm0zduAvUNcUinGGzrY8Xqy8ERHa5Y5/DEN\n YJAJgaVnkMHcDenUaiyCJBfKu2ME8p7hNvOj0/ZBbsgWCF0jiK0naWuslFxlNr2d0xjC\n MfuTZzOvJaNQNX/RseI/y6WW7111X9rPK/hPgM718Wl9iR8vaLey06Vlbrf5pJ6d5OBm\n prppbbm0v8xd8LivFhPAxrJ1Cm8U3Y1g0zEzUATYuOHlERFtV7/9U4A4zB37QWfXgaJg\n rn7w==","X-Gm-Message-State":"AOJu0YxllwpAXSQ8VaXInqGmP9FIV03k0ykjcAWV46sJ/X8KvSPOMm2/\n bTxWDr/CBm5fSGsgjvNtcc/DJjPOot86jjobLta9t/Qx5dT2rVIex1D8ZlPdPJ8lr0kEhvNSXq5\n dJRrYOWE=","X-Gm-Gg":"AY/fxX6lQ6dk1wM8/dy+rD97nE7PgU47HVaEFyA+KwKVNID6+Oqd0uOnneuhm1ZZQTX\n FYO6xUcntTHHTPEhF7NlIyF6kDPYO06Q6AARHj9XMGtBqriIeJkxn8P0+A40RyMoIBGMMltBLS4\n aaPy29CUhLzZnoIfLDzra2/hyGFgxVPfXamLz7e0HBLO9+SCU1cUKRYFAfYpjbr1+Bfkh8CM/z2\n zJAB07Y6zDtHn+BkJWv9CyVhIomfm2i29TM98fVy+nmJUtBh55XX2klrRM9aQ4X3g64yJuE1ij1\n 135NqKOKCKbGxUxXMqme24PlvY7Ur1dd4pb8QvD3IpuLV5+gerUCNRP60B+isNvR+ibcJZHrzCj\n swzIs+JwUCUI2G0eu6tkVVCM6Jy9uCBUQWB//WEwqJ5fn+GpgVG6YZWw44byVf3gT2fOh7ipb8E\n EEWMOhzUnWIEGaSWjmZrTgmnhnWYTEAos/Sr7/AFZ6UQwUk/rB8FM2gwCv94AV","X-Google-Smtp-Source":"\n AGHT+IEbg6nUPAcQ7Dmf4wv9OGctpaenVpQh4kP0zTmGAfbkG+be/0y3YhcEa8WffAnc40O1Wy6H0w==","X-Received":"by 2002:a05:600c:46cf:b0:477:9e0c:f59 with SMTP id\n 5b1f17b1804b1-47d18b833a6mr11165315e9.2.1766096134014;\n Thu, 18 Dec 2025 14:15:34 -0800 (PST)","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>","To":"qemu-devel@nongnu.org","Cc":"Anton Johansson <anjo@rev.ng>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, =?utf-8?q?Cl?=\n\t=?utf-8?q?=C3=A9ment_Chigot?= <chigot@adacore.com>,\n Pierrick Bouvier <pierrick.bouvier@linaro.org>,\n Richard Henderson <richard.henderson@linaro.org>,\n Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,\n Frederic Konrad <konrad.frederic@yahoo.fr>,\n Artyom Tarasenko <atar4qemu@gmail.com>, =?utf-8?q?Philippe_Mathieu-Daud?=\n\t=?utf-8?q?=C3=A9?= <philmd@linaro.org>","Subject":"[PATCH 4/6] target/sparc: Use address_space_ld/st[n]_be() in\n ld/st_asi helpers","Date":"Thu, 18 Dec 2025 23:14:55 +0100","Message-ID":"<20251218221457.73341-5-philmd@linaro.org>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20251218221457.73341-1-philmd@linaro.org>","References":"<20251218221457.73341-1-philmd@linaro.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2a00:1450:4864:20::329;\n 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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Do not open-code address_space_{ld,st}n(), use it passing\nthe access size as argument. Directly expand to the big-endian\nvariant (with the '_be' suffix) since we only build the SPARC\ntargets as big-endian.\n\nSigned-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>\n---\n target/sparc/ldst_helper.c | 42 ++++----------------------------------\n 1 file changed, 4 insertions(+), 38 deletions(-)","diff":"diff --git a/target/sparc/ldst_helper.c b/target/sparc/ldst_helper.c\nindex 2c63eb9e036..052608c02d8 100644\n--- a/target/sparc/ldst_helper.c\n+++ b/target/sparc/ldst_helper.c\n@@ -701,25 +701,8 @@ uint64_t helper_ld_asi(CPUSPARCState *env, target_ulong addr,\n         MemTxResult result;\n         hwaddr access_addr = (hwaddr)addr | ((hwaddr)(asi & 0xf) << 32);\n \n-        switch (size) {\n-        case 1:\n-            ret = address_space_ldub(cs->as, access_addr,\n-                                     MEMTXATTRS_UNSPECIFIED, &result);\n-            break;\n-        case 2:\n-            ret = address_space_lduw(cs->as, access_addr,\n-                                     MEMTXATTRS_UNSPECIFIED, &result);\n-            break;\n-        default:\n-        case 4:\n-            ret = address_space_ldl(cs->as, access_addr,\n-                                    MEMTXATTRS_UNSPECIFIED, &result);\n-            break;\n-        case 8:\n-            ret = address_space_ldq(cs->as, access_addr,\n-                                    MEMTXATTRS_UNSPECIFIED, &result);\n-            break;\n-        }\n+        ret = address_space_ldn_be(cs->as, access_addr, size,\n+                                   MEMTXATTRS_UNSPECIFIED, &result);\n \n         if (result != MEMTX_OK) {\n             sparc_raise_mmu_fault(cs, access_addr, false, false, false,\n@@ -1066,25 +1049,8 @@ void helper_st_asi(CPUSPARCState *env, target_ulong addr, uint64_t val,\n             MemTxResult result;\n             hwaddr access_addr = (hwaddr)addr | ((hwaddr)(asi & 0xf) << 32);\n \n-            switch (size) {\n-            case 1:\n-                address_space_stb(cs->as, access_addr, val,\n-                                  MEMTXATTRS_UNSPECIFIED, &result);\n-                break;\n-            case 2:\n-                address_space_stw(cs->as, access_addr, val,\n-                                  MEMTXATTRS_UNSPECIFIED, &result);\n-                break;\n-            case 4:\n-            default:\n-                address_space_stl(cs->as, access_addr, val,\n-                                  MEMTXATTRS_UNSPECIFIED, &result);\n-                break;\n-            case 8:\n-                address_space_stq(cs->as, access_addr, val,\n-                                  MEMTXATTRS_UNSPECIFIED, &result);\n-                break;\n-            }\n+            address_space_stn_be(cs->as, access_addr, val, size,\n+                                 MEMTXATTRS_UNSPECIFIED, &result);\n             if (result != MEMTX_OK) {\n                 sparc_raise_mmu_fault(cs, access_addr, true, false, false,\n                                       size, GETPC());\n","prefixes":["4/6"]}