qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: qemu-devel@nongnu.org
Cc: thuth@redhat.com, aurelien@aurel32.net
Subject: [Qemu-devel] [PATCH v2 24/33] target/s390x: Use unwind data for helper_lctl
Date: Wed, 24 May 2017 12:22:37 -0700	[thread overview]
Message-ID: <20170524192246.15905-25-rth@twiddle.net> (raw)
In-Reply-To: <20170524192246.15905-1-rth@twiddle.net>

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 target/s390x/mem_helper.c | 9 +++++----
 target/s390x/translate.c  | 1 -
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index 68e3817..614cdb2 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -878,18 +878,19 @@ void HELPER(lctlg)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r3)
 
 void HELPER(lctl)(CPUS390XState *env, uint32_t r1, uint64_t a2, uint32_t r3)
 {
+    uintptr_t ra = GETPC();
     S390CPU *cpu = s390_env_get_cpu(env);
     bool PERchanged = false;
-    int i;
     uint64_t src = a2;
-    uint32_t val;
+    uint32_t i;
 
     for (i = r1;; i = (i + 1) % 16) {
-        val = cpu_ldl_data(env, src);
+        uint32_t val = cpu_ldl_data_ra(env, src, ra);
         if ((uint32_t)env->cregs[i] != val && i >= 9 && i <= 11) {
             PERchanged = true;
         }
-        env->cregs[i] = (env->cregs[i] & 0xFFFFFFFF00000000ULL) | val;
+        env->cregs[i] = deposit64(env->cregs[i], 0, 32, val);
+        HELPER_LOG("load ctl %d from 0x%" PRIx64 " == 0x%x\n", i, src, val);
         src += sizeof(uint32_t);
 
         if (i == r3) {
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index 65ae573..26f6b37 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -2540,7 +2540,6 @@ static ExitStatus op_lctl(DisasContext *s, DisasOps *o)
     TCGv_i32 r1 = tcg_const_i32(get_field(s->fields, r1));
     TCGv_i32 r3 = tcg_const_i32(get_field(s->fields, r3));
     check_privileged(s);
-    potential_page_fault(s);
     gen_helper_lctl(cpu_env, r1, o->in2, r3);
     tcg_temp_free_i32(r1);
     tcg_temp_free_i32(r3);
-- 
2.9.4

  parent reply	other threads:[~2017-05-24 19:23 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-24 19:22 [Qemu-devel] [PATCH v2 00/33] target/s390x unwind patches Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 01/33] target/s390x: Use cpu_loop_exit_restore for tlb_fill Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 02/33] target/s390x: Move helper_ex to end of file Richard Henderson
2017-05-25 20:22   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 03/33] target/s390x: Use unwind data for helper_nc Richard Henderson
2017-05-25 20:26   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 04/33] target/s390x: Use unwind data for helper_oc Richard Henderson
2017-05-25 20:26   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 05/33] target/s390x: Use unwind data for helper_xc Richard Henderson
2017-05-25 20:32   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 06/33] target/s390x: Use unwind data for helper_mvc Richard Henderson
2017-05-25 20:33   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 07/33] target/s390x: Use unwind data for helper_clc Richard Henderson
2017-05-25 20:34   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 08/33] target/s390x: Use unwind data for helper_clm Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 09/33] target/s390x: Use unwind data for helper_srst Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 10/33] target/s390x: Use unwind data for helper_clst Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 11/33] target/s390x: Use unwind data for helper_mvpg Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 12/33] target/s390x: Use unwind data for helper_mvst Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 13/33] target/s390x: Use unwind data for helper_lam Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 14/33] target/s390x: Use unwind data for helper_stam Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 15/33] target/s390x: Use unwind data for helper_mvcl Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 16/33] target/s390x: Use unwind data for helper_mvcle Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 17/33] target/s390x: Use unwind data for helper_clcle Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 18/33] target/s390x: Use unwind data for helper_cksm Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 19/33] target/s390x: Use unwind data for helper_unpk Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 20/33] target/s390x: Use unwind data for helper_tr Richard Henderson
2017-05-25 20:35   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 21/33] target/s390x: Use unwind data for helper_tre Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 22/33] target/s390x: Use unwind data for helper_trt Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 23/33] target/s390x: Use unwind data for helper_lctlg Richard Henderson
2017-05-24 19:22 ` Richard Henderson [this message]
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 25/33] target/s390x: Use unwind data for helper_stctl Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 26/33] target/s390x: Use unwind data for helper_testblock Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 27/33] target/s390x: Use unwind data for helper_tprot Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 28/33] target/s390x: Use unwind data for helper_lra Richard Henderson
2017-05-25 20:39   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 29/33] target/s390x: Use unwind data for helper_mvcs/mvcp Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 30/33] target/s390x: Fix some helper_ex problems Richard Henderson
2017-05-25 20:50   ` Aurelien Jarno
2017-05-26  5:58     ` Richard Henderson
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 31/33] target/s390x: Fix EXECUTE with R1==0 Richard Henderson
2017-05-25 20:51   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 32/33] target/s390x: Use atomic operations for COMPARE SWAP PURGE Richard Henderson
2017-05-25 20:52   ` Aurelien Jarno
2017-05-24 19:22 ` [Qemu-devel] [PATCH v2 33/33] target/s390x: Implement CSPG Richard Henderson
2017-05-25 20:52   ` Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170524192246.15905-25-rth@twiddle.net \
    --to=rth@twiddle.net \
    --cc=aurelien@aurel32.net \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).