qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Richard Henderson <rth@twiddle.net>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 05/31] target/s390x: Use unwind data for helper_oc
Date: Tue, 23 May 2017 10:58:24 +0200	[thread overview]
Message-ID: <8b6c7055-df76-fd41-bd82-c72dcf3c634f@redhat.com> (raw)
In-Reply-To: <20170523030312.6360-6-rth@twiddle.net>

On 23.05.2017 05:02, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>  target/s390x/mem_helper.c | 18 +++++++++---------
>  target/s390x/translate.c  |  1 -
>  2 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
> index e0a6fad..e75c2de0 100644
> --- a/target/s390x/mem_helper.c
> +++ b/target/s390x/mem_helper.c
> @@ -168,20 +168,20 @@ uint32_t HELPER(xc)(CPUS390XState *env, uint32_t l, uint64_t dest,
>  uint32_t HELPER(oc)(CPUS390XState *env, uint32_t l, uint64_t dest,
>                      uint64_t src)
>  {
> -    int i;
> -    unsigned char x;
> -    uint32_t cc = 0;
> +    uintptr_t ra = GETPC();
> +    uint8_t cc = 0;
> +    uint32_t i;
>  
>      HELPER_LOG("%s l %d dest %" PRIx64 " src %" PRIx64 "\n",
>                 __func__, l, dest, src);
> +
>      for (i = 0; i <= l; i++) {
> -        x = cpu_ldub_data(env, dest + i) | cpu_ldub_data(env, src + i);
> -        if (x) {
> -            cc = 1;
> -        }
> -        cpu_stb_data(env, dest + i, x);
> +        uint8_t x = cpu_ldub_data_ra(env, dest + i, ra);
> +        x |= cpu_ldub_data_ra(env, src + i, ra);

Maybe access to src first?

> +        cc |= x;
> +        cpu_stb_data_ra(env, dest + i, x, ra);
>      }
> -    return cc;
> +    return cc != 0;
>  }
>  
>  /* memmove */
> diff --git a/target/s390x/translate.c b/target/s390x/translate.c
> index a770407..6a51d56 100644
> --- a/target/s390x/translate.c
> +++ b/target/s390x/translate.c
> @@ -3082,7 +3082,6 @@ static ExitStatus op_negf128(DisasContext *s, DisasOps *o)
>  static ExitStatus op_oc(DisasContext *s, DisasOps *o)
>  {
>      TCGv_i32 l = tcg_const_i32(get_field(s->fields, l1));
> -    potential_page_fault(s);
>      gen_helper_oc(cc_op, cpu_env, l, o->addr1, o->in2);
>      tcg_temp_free_i32(l);
>      set_cc_static(s);
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>

  reply	other threads:[~2017-05-23  8:58 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-23  3:02 [Qemu-devel] [PATCH 00/31] target/s390x unwind patches Richard Henderson
2017-05-23  3:02 ` [Qemu-devel] [PATCH 01/31] target/s390: Use cpu_loop_exit_restore for tlb_fill Richard Henderson
2017-05-23  8:03   ` Thomas Huth
2017-05-23 10:48   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 02/31] target/s390x: Implement EXECUTE via new TranslationBlock Richard Henderson
2017-05-23 10:48   ` Aurelien Jarno
2017-05-23 15:54     ` Richard Henderson
2017-05-23 17:28       ` Aurelien Jarno
2017-05-23 23:21         ` Richard Henderson
2017-05-24 17:54           ` Aurelien Jarno
2017-05-24 21:45             ` Richard Henderson
2017-05-23 20:01       ` Thomas Huth
2017-05-23 15:56     ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 03/31] target/s390x: Use unwind data for helper_nc Richard Henderson
2017-05-23  8:33   ` Thomas Huth
2017-05-23 10:49     ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 04/31] target/s390x: Use unwind data for helper_xc Richard Henderson
2017-05-23  8:56   ` Thomas Huth
2017-05-23 10:49     ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 05/31] target/s390x: Use unwind data for helper_oc Richard Henderson
2017-05-23  8:58   ` Thomas Huth [this message]
2017-05-23 10:50   ` Aurelien Jarno
2017-05-23 10:50   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 06/31] target/s390x: Use unwind data for helper_mvc Richard Henderson
2017-05-23  9:16   ` Thomas Huth
2017-05-23 10:51   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 07/31] target/s390x: Use unwind data for helper_clc Richard Henderson
2017-05-23  9:26   ` Thomas Huth
2017-05-23 10:52   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 08/31] target/s390x: Use unwind data for helper_clm Richard Henderson
2017-05-23  9:38   ` Thomas Huth
2017-05-23 10:53   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 09/31] target/s390x: Use unwind data for helper_srst Richard Henderson
2017-05-23  9:40   ` Thomas Huth
2017-05-23 10:56   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 10/31] target/s390x: Use unwind data for helper_clst Richard Henderson
2017-05-23  9:44   ` Thomas Huth
2017-05-23 10:56   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 11/31] target/s390x: Use unwind data for helper_mvpg Richard Henderson
2017-05-23  9:20   ` Thomas Huth
2017-05-23 10:56   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 12/31] target/s390x: Use unwind data for helper_mvst Richard Henderson
2017-05-23  9:45   ` Thomas Huth
2017-05-23 10:56   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 13/31] target/s390x: Use unwind data for helper_lam Richard Henderson
2017-05-23  9:46   ` Thomas Huth
2017-05-23 10:57   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 14/31] target/s390x: Use unwind data for helper_stam Richard Henderson
2017-05-23  9:47   ` Thomas Huth
2017-05-23 10:57   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 15/31] target/s390x: Use unwind data for helper_mvcl Richard Henderson
2017-05-23  9:48   ` Thomas Huth
2017-05-23 10:57   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 16/31] target/s390x: Use unwind data for helper_mvcle Richard Henderson
2017-05-23  9:50   ` Thomas Huth
2017-05-23 10:57   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 17/31] target/s390x: Use unwind data for helper_clcle Richard Henderson
2017-05-23  9:51   ` Thomas Huth
2017-05-23 10:58   ` Aurelien Jarno
2017-05-23  3:02 ` [Qemu-devel] [PATCH 18/31] target/s390x: Use unwind data for helper_cksm Richard Henderson
2017-05-23  9:57   ` Thomas Huth
2017-05-23 10:58   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 19/31] target/s390x: Use unwind data for helper_unpk Richard Henderson
2017-05-23  9:58   ` Thomas Huth
2017-05-23 10:58   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 20/31] target/s390x: Use unwind data for helper_tr Richard Henderson
2017-05-23  9:59   ` Thomas Huth
2017-05-23 10:59   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 21/31] target/s390x: Use unwind data for helper_tre Richard Henderson
2017-05-23 10:26   ` Thomas Huth
2017-05-23 11:02   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 22/31] target/s390x: Use unwind data for helper_trt Richard Henderson
2017-05-23 10:44   ` Thomas Huth
2017-05-23 11:03   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 23/31] target/s390x: Use unwind data for helper_lctlg Richard Henderson
2017-05-23 10:48   ` Thomas Huth
2017-05-23 11:04   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 24/31] target/s390x: Use unwind data for helper_lctl Richard Henderson
2017-05-23 10:51   ` Thomas Huth
2017-05-23 11:05   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 25/31] target/s390x: Use unwind data for helper_stctl Richard Henderson
2017-05-23 10:12   ` Thomas Huth
2017-05-23 11:05   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 26/31] target/s390x: Use unwind data for helper_testblock Richard Henderson
2017-05-23  9:23   ` Thomas Huth
2017-05-23 11:05   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 27/31] target/s390x: Use unwind data for helper_tprot Richard Henderson
2017-05-23 10:14   ` Thomas Huth
2017-05-23 11:06   ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 28/31] target/s390x: Use unwind data for helper_lra Richard Henderson
2017-05-23 12:11   ` Aurelien Jarno
2017-05-23 16:22     ` Richard Henderson
2017-05-23  3:03 ` [Qemu-devel] [PATCH 29/31] target/s390x: Use atomic operations for COMPARE SWAP PURGE Richard Henderson
2017-05-23 12:28   ` Aurelien Jarno
2017-05-23 16:31     ` Richard Henderson
2017-05-23 17:44       ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 30/31] target/s390x: Implement CSPG Richard Henderson
2017-05-23 11:12   ` Aurelien Jarno
2017-05-23 16:33     ` Richard Henderson
2017-05-23 17:26       ` Aurelien Jarno
2017-05-23  3:03 ` [Qemu-devel] [PATCH 31/31] target/s390x: Use unwind data for helper_mvcs/mvcp Richard Henderson
2017-05-23 10:20   ` Thomas Huth
2017-05-23 11:13   ` 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=8b6c7055-df76-fd41-bd82-c72dcf3c634f@redhat.com \
    --to=thuth@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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).