[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/4] target/s390x: Remove DISAS_PC_STALE
From: |
David Hildenbrand |
Subject: |
Re: [PATCH v2 2/4] target/s390x: Remove DISAS_PC_STALE |
Date: |
Fri, 8 Jul 2022 13:14:33 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 |
On 02.07.22 08:02, Richard Henderson wrote:
> There is nothing to distinguish this from DISAS_TOO_MANY.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/s390x/tcg/translate.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
> index e38ae9ce09..a3422c0eb0 100644
> --- a/target/s390x/tcg/translate.c
> +++ b/target/s390x/tcg/translate.c
> @@ -1126,10 +1126,6 @@ typedef struct {
> /* We have updated the PC and CC values. */
> #define DISAS_PC_CC_UPDATED DISAS_TARGET_2
>
> -/* We are exiting the TB, but have neither emitted a goto_tb, nor
> - updated the PC for the next instruction to be executed. */
> -#define DISAS_PC_STALE DISAS_TARGET_3
> -
> /* We are exiting the TB to the main loop. */
> #define DISAS_PC_STALE_NOCHAIN DISAS_TARGET_4
>
> @@ -3993,7 +3989,7 @@ static DisasJumpType op_sacf(DisasContext *s, DisasOps
> *o)
> {
> gen_helper_sacf(cpu_env, o->in2);
> /* Addressing mode has changed, so end the block. */
> - return DISAS_PC_STALE;
> + return DISAS_TOO_MANY;
> }
> #endif
>
> @@ -4029,7 +4025,7 @@ static DisasJumpType op_sam(DisasContext *s, DisasOps
> *o)
> tcg_temp_free_i64(tsam);
>
> /* Always exit the TB, since we (may have) changed execution mode. */
> - return DISAS_PC_STALE;
> + return DISAS_TOO_MANY;
> }
>
> static DisasJumpType op_sar(DisasContext *s, DisasOps *o)
> @@ -6562,13 +6558,13 @@ static DisasJumpType translate_one(CPUS390XState
> *env, DisasContext *s)
>
> /* io should be the last instruction in tb when icount is enabled */
> if (unlikely(icount && ret == DISAS_NEXT)) {
> - ret = DISAS_PC_STALE;
> + ret = DISAS_TOO_MANY;
> }
>
> #ifndef CONFIG_USER_ONLY
> if (s->base.tb->flags & FLAG_MASK_PER) {
> /* An exception might be triggered, save PSW if not already done. */
> - if (ret == DISAS_NEXT || ret == DISAS_PC_STALE) {
> + if (ret == DISAS_NEXT || ret == DISAS_TOO_MANY) {
> tcg_gen_movi_i64(psw_addr, s->pc_tmp);
> }
>
> @@ -6634,7 +6630,6 @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase,
> CPUState *cs)
> case DISAS_NORETURN:
> break;
> case DISAS_TOO_MANY:
> - case DISAS_PC_STALE:
> case DISAS_PC_STALE_NOCHAIN:
> update_psw_addr(dc);
> /* FALLTHRU */
Reviewed-by: David Hildenbrand <david@redhat.com>
--
Thanks,
David / dhildenb
- [PATCH v2 0/4] target/s390x: Exit tb after executing ex_value, Richard Henderson, 2022/07/02
- [PATCH v2 2/4] target/s390x: Remove DISAS_PC_STALE, Richard Henderson, 2022/07/02
- Re: [PATCH v2 2/4] target/s390x: Remove DISAS_PC_STALE,
David Hildenbrand <=
- [PATCH v2 3/4] target/s390x: Remove DISAS_PC_STALE_NOCHAIN, Richard Henderson, 2022/07/02
- [PATCH v2 4/4] target/s390x: Exit tb after executing ex_value, Richard Henderson, 2022/07/02
- [PATCH v2 1/4] target/s390x: Remove DISAS_GOTO_TB, Richard Henderson, 2022/07/02
- Re: [PATCH v2 0/4] target/s390x: Exit tb after executing ex_value, Sven Schnelle, 2022/07/02
- Re: [PATCH v2 0/4] target/s390x: Exit tb after executing ex_value, Thomas Huth, 2022/07/06