{"id":2231334,"url":"http://patchwork.ozlabs.org/api/patches/2231334/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260430160307.634093-3-cohuck@redhat.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/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":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260430160307.634093-3-cohuck@redhat.com>","list_archive_url":null,"date":"2026-04-30T16:02:58","name":"[PULL,v2,02/11] target/s390x: Replace legacy ld/st_phys -> address_space_ld/st (cpu)","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"017ffc6cb5d9d8dbe36ed9af0eb437f266b5d189","submitter":{"id":71914,"url":"http://patchwork.ozlabs.org/api/people/71914/?format=json","name":"Cornelia Huck","email":"cohuck@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260430160307.634093-3-cohuck@redhat.com/mbox/","series":[{"id":502335,"url":"http://patchwork.ozlabs.org/api/series/502335/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502335","date":"2026-04-30T16:02:58","name":"[PULL,v2,01/11] target/s390x/kvm: Simplify the async pfault handling code","version":2,"mbox":"http://patchwork.ozlabs.org/series/502335/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2231334/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2231334/checks/","tags":{},"related":[],"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 (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=XsKVoato;\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=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.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 4g5zWL0Ktcz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:04:14 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wITra-0008CT-2s; Thu, 30 Apr 2026 12:03:42 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <cohuck@redhat.com>) id 1wITrO-0007dZ-GU\n for qemu-devel@nongnu.org; Thu, 30 Apr 2026 12:03:31 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <cohuck@redhat.com>) id 1wITrL-0007B8-QD\n for qemu-devel@nongnu.org; Thu, 30 Apr 2026 12:03:29 -0400","from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-341-4q6-AtfJOU2ff1wXRRMGFw-1; Thu,\n 30 Apr 2026 12:03:18 -0400","from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 57A191800620; Thu, 30 Apr 2026 16:03:17 +0000 (UTC)","from gondolin.redhat.com (unknown [10.44.50.47])\n by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id B4F491800446; Thu, 30 Apr 2026 16:03:15 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1777565005;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=CTQH8Xk4rqvkiYnv2/aGbRTg+OAKN8L11IMTTxA0LDs=;\n b=XsKVoato7FLGJvbW+bn5NV05Fsy52u39J5lq2mR6U+ZcBTLZX3aUDkIMhm1DLMkw8LrG7/\n lpAyNljEDOLy7K35tPrZov3CPO7tUOMdRrYEEr22+n/uFE0A55gfKKF8J1sUCZdJ9wwEmy\n lKyjLJf/vMxCGsltXe/Geazkba6Iv88=","X-MC-Unique":"4q6-AtfJOU2ff1wXRRMGFw-1","X-Mimecast-MFC-AGG-ID":"4q6-AtfJOU2ff1wXRRMGFw_1777564997","From":"Cornelia Huck <cohuck@redhat.com>","To":"qemu-devel@nongnu.org","Cc":"qemu-s390x@nongnu.org,\n =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,\n Matthew Rosato <mjrosato@linux.ibm.com>, Cornelia Huck <cohuck@redhat.com>","Subject":"[PULL v2 02/11] target/s390x: Replace legacy ld/st_phys ->\n address_space_ld/st (cpu)","Date":"Thu, 30 Apr 2026 18:02:58 +0200","Message-ID":"<20260430160307.634093-3-cohuck@redhat.com>","In-Reply-To":"<20260430160307.634093-1-cohuck@redhat.com>","References":"<20260430160307.634093-1-cohuck@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.111","Received-SPF":"pass client-ip=170.10.129.124; envelope-from=cohuck@redhat.com;\n helo=us-smtp-delivery-124.mimecast.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, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n SPF_HELO_PASS=-0.001,\n 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":"qemu development <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":"From: Philippe Mathieu-Daudé <philmd@linaro.org>\n\nPrefer the address_space_ld/st API over the legacy ld_phys()\nbecause it allow checking for bus access fault.\nThis code however doesn't check for fault, so we simply inline\nthe calls (not specifying any memory transaction attribute nor\nexpecting transation result). No logical change intended.\n\nSigned-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>\nReviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>\nTested-by: Matthew Rosato <mjrosato@linux.ibm.com>\nMessage-ID: <20260319185203.11799-2-philmd@linaro.org>\nSigned-off-by: Cornelia Huck <cohuck@redhat.com>\n---\n target/s390x/tcg/excp_helper.c | 21 +++++++++++++--------\n target/s390x/tcg/mem_helper.c  | 12 +++++++-----\n 2 files changed, 20 insertions(+), 13 deletions(-)","diff":"diff --git a/target/s390x/tcg/excp_helper.c b/target/s390x/tcg/excp_helper.c\nindex 41b0017d767c..05e448d3f20c 100644\n--- a/target/s390x/tcg/excp_helper.c\n+++ b/target/s390x/tcg/excp_helper.c\n@@ -54,8 +54,9 @@ G_NORETURN void tcg_s390_data_exception(CPUS390XState *env, uint32_t dxc,\n     g_assert(dxc <= 0xff);\n #if !defined(CONFIG_USER_ONLY)\n     /* Store the DXC into the lowcore */\n-    stl_be_phys(env_cpu(env)->as,\n-                env->psa + offsetof(LowCore, data_exc_code), dxc);\n+    address_space_stl_be(env_cpu(env)->as,\n+                         env->psa + offsetof(LowCore, data_exc_code), dxc,\n+                         MEMTXATTRS_UNSPECIFIED, NULL);\n #endif\n \n     /* Store the DXC into the FPC if AFP is enabled */\n@@ -71,8 +72,9 @@ G_NORETURN void tcg_s390_vector_exception(CPUS390XState *env, uint32_t vxc,\n     g_assert(vxc <= 0xff);\n #if !defined(CONFIG_USER_ONLY)\n     /* Always store the VXC into the lowcore, without AFP it is undefined */\n-    stl_be_phys(env_cpu(env)->as,\n-                env->psa + offsetof(LowCore, data_exc_code), vxc);\n+    address_space_stl_be(env_cpu(env)->as,\n+                         env->psa + offsetof(LowCore, data_exc_code), vxc,\n+                         MEMTXATTRS_UNSPECIFIED, NULL);\n #endif\n \n     /* Always store the VXC into the FPC, without AFP it is undefined */\n@@ -619,11 +621,14 @@ void monitor_event(CPUS390XState *env,\n                    uint64_t monitor_code,\n                    uint8_t monitor_class, uintptr_t ra)\n {\n+    const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED;\n+    AddressSpace *as = env_cpu(env)->as;\n+\n     /* Store the Monitor Code and the Monitor Class Number into the lowcore */\n-    stq_be_phys(env_cpu(env)->as,\n-                env->psa + offsetof(LowCore, monitor_code), monitor_code);\n-    stw_be_phys(env_cpu(env)->as,\n-                env->psa + offsetof(LowCore, mon_class_num), monitor_class);\n+    address_space_stq_be(as, env->psa + offsetof(LowCore, monitor_code),\n+                         monitor_code, attrs, NULL);\n+    address_space_stw_be(as, env->psa + offsetof(LowCore, mon_class_num),\n+                         monitor_class, attrs, NULL);\n \n     tcg_s390_program_interrupt(env, PGM_MONITOR, ra);\n }\ndiff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c\nindex 2a79a789f639..8474a6941107 100644\n--- a/target/s390x/tcg/mem_helper.c\n+++ b/target/s390x/tcg/mem_helper.c\n@@ -41,6 +41,7 @@\n #else\n #include \"hw/s390x/storage-keys.h\"\n #include \"hw/core/boards.h\"\n+#include \"system/memory.h\"\n #endif\n \n #ifdef CONFIG_USER_ONLY\n@@ -958,13 +959,14 @@ uint32_t HELPER(mvpg)(CPUS390XState *env, uint64_t r0, uint32_t r1, uint32_t r2)\n inject_exc:\n #if !defined(CONFIG_USER_ONLY)\n     if (exc != PGM_ADDRESSING) {\n-        stq_be_phys(env_cpu(env)->as,\n-                    env->psa + offsetof(LowCore, trans_exc_code),\n-                    env->tlb_fill_tec);\n+        address_space_stq_be(env_cpu(env)->as,\n+                             env->psa + offsetof(LowCore, trans_exc_code),\n+                             env->tlb_fill_tec, MEMTXATTRS_UNSPECIFIED, NULL);\n     }\n     if (exc == PGM_PAGE_TRANS) {\n-        stb_phys(env_cpu(env)->as, env->psa + offsetof(LowCore, op_access_id),\n-                 r1 << 4 | r2);\n+        address_space_stb(env_cpu(env)->as,\n+                          env->psa + offsetof(LowCore, op_access_id),\n+                          r1 << 4 | r2, MEMTXATTRS_UNSPECIFIED, NULL);\n     }\n #endif\n     tcg_s390_program_interrupt(env, exc, ra);\n","prefixes":["PULL","v2","02/11"]}