From nobody Wed Nov 5 17:28:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 149679675691283.50591877738555; Tue, 6 Jun 2017 17:52:36 -0700 (PDT) Received: from localhost ([::1]:40643 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIPD9-0004vP-EM for importer@patchew.org; Tue, 06 Jun 2017 20:52:35 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33897) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIOtJ-0002mG-Iv for qemu-devel@nongnu.org; Tue, 06 Jun 2017 20:32:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIOtI-00022d-Bv for qemu-devel@nongnu.org; Tue, 06 Jun 2017 20:32:05 -0400 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:36008) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dIOtI-00022U-8H for qemu-devel@nongnu.org; Tue, 06 Jun 2017 20:32:04 -0400 Received: by mail-qt0-x242.google.com with SMTP id s33so19304262qtg.3 for ; Tue, 06 Jun 2017 17:32:04 -0700 (PDT) Received: from bigtime.twiddle.net.com (71-217-91-69.tukw.qwest.net. [71.217.91.69]) by smtp.gmail.com with ESMTPSA id m47sm29286qtc.36.2017.06.06.17.32.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Jun 2017 17:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=3z3myeUSmxEIcLGHaj0+FMkuciy3gt9ikRwgDBqESZ8=; b=goVsvzLPb+tiS9TffjZdSR3QPR6KcxH/J/jgnk6CfwYK75/Dtf04ehN1xmgSyQEzrz sdvBPOdnpe6Q896TqJIP2QzshmzZS7aK6mcORhoAdT3SJUi3jpyhy7dATPQyKvPdCYUz lhOrtR53w/Ej2G+Un3k53MRMhiiKwAnHF1p/V5wgqgQzrSxQ138oiN/haWCuH08+edEP n4KWz0kP2SJtrXQs8aY5Yw/X+jIqslV7Q1ZoyQK6IGrzXThPoz22+DfKFdWA/RMVOPuJ mp6mVPmmnWaxeBiLiueF97IyYHEMB2K8ScltInyqihgyyTBtK7/y9mnTmnsBbIri5Nxs CB0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=3z3myeUSmxEIcLGHaj0+FMkuciy3gt9ikRwgDBqESZ8=; b=XQqfcSpW3S6d4qUR19UCf/7oFDqpnCswekFwpE9m7BxeSO04Agi8LR0W2dulvrVMO/ 1R3Lci3P+KKBdQN707hWrUrFgiK+vv5yvrF+WN9OgfXDaQbyPjIGyoCmfSoRGyeZG4JV sKI/Wvt4igpWmttuow3A1msvx59v119oRVHCVQdEeQN6x1eRgWJSPb//rsyk/l0tLXVH WxsR1RdJSysnFMFKJJS/epWKOJW7PJNCaa2C7p5Nwd0TLmCHv4ryGO5hZUj1CIK3Qo5j FMHvFUaGg8FzK0ZV6sumKz5pwQZwcItar0PQcXY7TKrv6GspZUE18xRjcJvcATKogu7J zbyA== X-Gm-Message-State: AODbwcDcOVQ6y6078g3xYZPhDVa5p4PgW1/bAtut7MzaIBn0qIG+LzQz jK9EEHGw4gc+sRudDF4= X-Received: by 10.200.58.163 with SMTP id x32mr6924866qte.110.1496795523550; Tue, 06 Jun 2017 17:32:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 6 Jun 2017 17:30:39 -0700 Message-Id: <20170607003119.14778-31-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170607003119.14778-1-rth@twiddle.net> References: <20170607003119.14778-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PULL v2 30/70] target/s390x: Use unwind data for helper_mvcs/mvcp X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, aurelien@aurel32.net Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Reviewed-by: Thomas Huth Reviewed-by: Aurelien Jarno Signed-off-by: Richard Henderson --- target/s390x/mem_helper.c | 8 ++++++-- target/s390x/translate.c | 2 -- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 17d8257..a73d486 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1082,6 +1082,7 @@ uint32_t HELPER(csp)(CPUS390XState *env, uint32_t r1,= uint64_t r2) =20 uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l, uint64_t a1, uint64_= t a2) { + uintptr_t ra =3D GETPC(); int cc =3D 0, i; =20 HELPER_LOG("%s: %16" PRIx64 " %16" PRIx64 " %16" PRIx64 "\n", @@ -1095,7 +1096,8 @@ uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l,= uint64_t a1, uint64_t a2) =20 /* XXX replace w/ memcpy */ for (i =3D 0; i < l; i++) { - cpu_stb_secondary(env, a1 + i, cpu_ldub_primary(env, a2 + i)); + uint8_t x =3D cpu_ldub_primary_ra(env, a2 + i, ra); + cpu_stb_secondary_ra(env, a1 + i, x, ra); } =20 return cc; @@ -1103,6 +1105,7 @@ uint32_t HELPER(mvcs)(CPUS390XState *env, uint64_t l,= uint64_t a1, uint64_t a2) =20 uint32_t HELPER(mvcp)(CPUS390XState *env, uint64_t l, uint64_t a1, uint64_= t a2) { + uintptr_t ra =3D GETPC(); int cc =3D 0, i; =20 HELPER_LOG("%s: %16" PRIx64 " %16" PRIx64 " %16" PRIx64 "\n", @@ -1116,7 +1119,8 @@ uint32_t HELPER(mvcp)(CPUS390XState *env, uint64_t l,= uint64_t a1, uint64_t a2) =20 /* XXX replace w/ memcpy */ for (i =3D 0; i < l; i++) { - cpu_stb_primary(env, a1 + i, cpu_ldub_secondary(env, a2 + i)); + uint8_t x =3D cpu_ldub_secondary_ra(env, a2 + i, ra); + cpu_stb_primary_ra(env, a1 + i, x, ra); } =20 return cc; diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 80b08b9..e99fbd9 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2894,7 +2894,6 @@ static ExitStatus op_mvcp(DisasContext *s, DisasOps *= o) { int r1 =3D get_field(s->fields, l1); check_privileged(s); - potential_page_fault(s); gen_helper_mvcp(cc_op, cpu_env, regs[r1], o->addr1, o->in2); set_cc_static(s); return NO_EXIT; @@ -2904,7 +2903,6 @@ static ExitStatus op_mvcs(DisasContext *s, DisasOps *= o) { int r1 =3D get_field(s->fields, l1); check_privileged(s); - potential_page_fault(s); gen_helper_mvcs(cc_op, cpu_env, regs[r1], o->addr1, o->in2); set_cc_static(s); return NO_EXIT; --=20 2.9.4