Message ID | 20171129202701.16117-12-david@redhat.com |
---|---|
State | New |
Headers | show |
Series | s390x/tcg: cleanup and fix program interrupts | expand |
On 29.11.2017 21:26, David Hildenbrand wrote: > Now we can drop the two save statements in the translate function. > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > target/s390x/misc_helper.c | 2 +- > target/s390x/translate.c | 3 --- > 2 files changed, 1 insertion(+), 4 deletions(-) > > diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c > index 02654617b3..ee6179ef89 100644 > --- a/target/s390x/misc_helper.c > +++ b/target/s390x/misc_helper.c > @@ -101,7 +101,7 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num) > } > > if (r) { > - program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO); > + s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, GETPC()); > } > } > > diff --git a/target/s390x/translate.c b/target/s390x/translate.c > index 76b222b0ce..cf8ffa217e 100644 > --- a/target/s390x/translate.c > +++ b/target/s390x/translate.c > @@ -2124,9 +2124,6 @@ static ExitStatus op_diag(DisasContext *s, DisasOps *o) > TCGv_i32 func_code = tcg_const_i32(get_field(s->fields, i2)); > > check_privileged(s); > - update_psw_addr(s); > - gen_op_calc_cc(s); > - > gen_helper_diag(cpu_env, r1, r3, func_code); > > tcg_temp_free_i32(func_code); > Maybe merge it with patch 06/16 ? Thomas
On 30.11.2017 12:53, Thomas Huth wrote: > On 29.11.2017 21:26, David Hildenbrand wrote: >> Now we can drop the two save statements in the translate function. >> >> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> >> Signed-off-by: David Hildenbrand <david@redhat.com> >> --- >> target/s390x/misc_helper.c | 2 +- >> target/s390x/translate.c | 3 --- >> 2 files changed, 1 insertion(+), 4 deletions(-) >> >> diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c >> index 02654617b3..ee6179ef89 100644 >> --- a/target/s390x/misc_helper.c >> +++ b/target/s390x/misc_helper.c >> @@ -101,7 +101,7 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num) >> } >> >> if (r) { >> - program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO); >> + s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, GETPC()); >> } >> } >> >> diff --git a/target/s390x/translate.c b/target/s390x/translate.c >> index 76b222b0ce..cf8ffa217e 100644 >> --- a/target/s390x/translate.c >> +++ b/target/s390x/translate.c >> @@ -2124,9 +2124,6 @@ static ExitStatus op_diag(DisasContext *s, DisasOps *o) >> TCGv_i32 func_code = tcg_const_i32(get_field(s->fields, i2)); >> >> check_privileged(s); >> - update_psw_addr(s); >> - gen_op_calc_cc(s); >> - >> gen_helper_diag(cpu_env, r1, r3, func_code); >> >> tcg_temp_free_i32(func_code); >> > > Maybe merge it with patch 06/16 ? > No, because this is tcg specific. > Thomas >
diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c index 02654617b3..ee6179ef89 100644 --- a/target/s390x/misc_helper.c +++ b/target/s390x/misc_helper.c @@ -101,7 +101,7 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num) } if (r) { - program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO); + s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, GETPC()); } } diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 76b222b0ce..cf8ffa217e 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -2124,9 +2124,6 @@ static ExitStatus op_diag(DisasContext *s, DisasOps *o) TCGv_i32 func_code = tcg_const_i32(get_field(s->fields, i2)); check_privileged(s); - update_psw_addr(s); - gen_op_calc_cc(s); - gen_helper_diag(cpu_env, r1, r3, func_code); tcg_temp_free_i32(func_code);