[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/6] target/s390x: Implement LOAD PAIR DISJOI
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/6] target/s390x: Implement LOAD PAIR DISJOINT |
Date: |
Wed, 10 May 2017 12:16:20 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On 2017-05-09 11:07, Richard Henderson wrote:
> From: Eric Bischoff <address@hidden>
>
> Reviewed-by: Aurelien Jarno <address@hidden>
> Signed-off-by: Eric Bischoff <address@hidden>
> Message-Id: <address@hidden>
> [rth: Combine the two via insn->data; free the address temps.]
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> target/s390x/insn-data.def | 4 +++-
> target/s390x/translate.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 45 insertions(+), 1 deletion(-)
[snip]
> diff --git a/target/s390x/translate.c b/target/s390x/translate.c
> index 2b66a4e..8de0177 100644
> --- a/target/s390x/translate.c
> +++ b/target/s390x/translate.c
> @@ -2559,6 +2559,7 @@ static ExitStatus op_lctlg(DisasContext *s, DisasOps *o)
> tcg_temp_free_i32(r3);
> return NO_EXIT;
> }
> +
> static ExitStatus op_lra(DisasContext *s, DisasOps *o)
> {
> check_privileged(s);
> @@ -2759,6 +2760,31 @@ static ExitStatus op_lm64(DisasContext *s, DisasOps *o)
> return NO_EXIT;
> }
>
> +static ExitStatus op_lpd(DisasContext *s, DisasOps *o)
> +{
> + TCGv_i64 a1, a2;
> + TCGMemOp mop = s->insn->data;
> +
> + /* In a parallel context, stop the world and single step. */
> + if (parallel_cpus) {
> + potential_page_fault(s);
> + gen_helper_exit_atomic(cpu_env);
> + return EXIT_NORETURN;
> + }
One small additional comment about this patch I haven't spotted at the
first review. The exit_atomic helper is properly restoring the CPU state
passing the return address to cpu_loop_exit_atomic, so I believe the
potential_page_fault call is not necessary. That said, it doesn't hurt
either.
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
address@hidden http://www.aurel32.net
[Qemu-devel] [PATCH v3 5/6] target/s390x: Use atomic operations for COMPARE SWAP, Richard Henderson, 2017/05/09
[Qemu-devel] [PATCH v3 6/6] target/s390x: Use atomic operations for LOAD AND OP, Richard Henderson, 2017/05/09
Re: [Qemu-devel] [PATCH v3 0/6] target/s390x patches, no-reply, 2017/05/09