From nobody Wed Nov 5 18:23:04 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 149659881423574.41281760836; Sun, 4 Jun 2017 10:53:34 -0700 (PDT) Received: from localhost ([::1]:57904 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHZiU-0007rm-Rl for importer@patchew.org; Sun, 04 Jun 2017 13:53:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHZRV-0007gq-JP for qemu-devel@nongnu.org; Sun, 04 Jun 2017 13:35:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dHZRS-0003JC-Sk for qemu-devel@nongnu.org; Sun, 04 Jun 2017 13:35:57 -0400 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]:34651) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dHZRS-0003I2-Hh for qemu-devel@nongnu.org; Sun, 04 Jun 2017 13:35:54 -0400 Received: by mail-pf0-x244.google.com with SMTP id w69so18143457pfk.1 for ; Sun, 04 Jun 2017 10:35:54 -0700 (PDT) Received: from bigtime.ASUS (cpe-98-155-27-246.hawaii.res.rr.com. [98.155.27.246]) by smtp.gmail.com with ESMTPSA id j191sm52854419pgc.53.2017.06.04.10.35.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 04 Jun 2017 10:35:52 -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=Cb8GdMYe0tF3tDR/aGBoSDCEqgMRUiW3Oo3XwU8bGC4=; b=pkC/fYIsz6BmJllhPrBwPybB329yf+YW5XD3XDgcaC8lJbqKZlNA6vwm/7p2v0xPF6 aP8KbS8DZGBuzeAMUmP4AjX9+1rzeXSXBXLkVli8XMF96OOB9f9yDazhkrolBgv40MOp KT/SSZSmwfU63WfkQf4tJaVJMm7Gk/WXJFaIDQXwT1Hd/cQ1pR0RGNZ/Y9Gh3oU2s6vE VKceuUTnOrP9xd4oLhjBqHNWKJ975Hz1tg7i4V/72BMrd/C6RPDasGrTzNEcQbiQ+l+p JEVaWHlVc4YBm67fkf5bKtuEiSHK3GXbnIHH+dc/PDWObvKEwCRQJFQMxdqib7G8oWpH aalw== 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=Cb8GdMYe0tF3tDR/aGBoSDCEqgMRUiW3Oo3XwU8bGC4=; b=hKBvWm8HXcSFWvsNyZTGHyWJdOGfRJrIMaKcW1z9/wLn87vDy6cvllaFG1LpVLXfbY u585kF4tzZGdNWkqdeFZbFz3gAGBgUOgP9RkV91MilPeEIPhYX/XrlUENtUH2mIOlQsW sOyEQXRQ+S6Dxw/h0ekT8m9cZ2l83DfP9gLf+NVGA8a1WqeNMcBxiSgZOC4Xpu9Zr2Ul ANbmAuvm4wRvzpK9LZDYMT8zqZkzoOadisbfGp0WQTSjpeXqLmQtjNAf+AFTcBLVmdvR T2n+khRX9g41bfnpZjQEdtKqf36TbAfni/NWv4WnGgfKfo53g57O8mN4hlLf8B4D31YJ aO8A== X-Gm-Message-State: AODbwcCn/q0LRU+m/0Fxd5N3qQrdnFBuIh1NIVXtLzIikHaiCMMphid4 hbe9INd/oCp67AJ81E8= X-Received: by 10.84.238.131 with SMTP id v3mr10679460plk.168.1496597753519; Sun, 04 Jun 2017 10:35:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Sun, 4 Jun 2017 10:34:30 -0700 Message-Id: <20170604173509.29684-31-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170604173509.29684-1-rth@twiddle.net> References: <20170604173509.29684-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::244 Subject: [Qemu-devel] [PULL 30/69] 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 141be22..422bbf1 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2889,7 +2889,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; @@ -2899,7 +2898,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