On 2015-06-20 23:06, Paolo Bonzini wrote:
> 
> 
> On 05/06/2015 01:41, Alexander Graf wrote:
> > From: Aurelien Jarno <aurel...@aurel32.net>
> > 
> > It is part of the basic zArchitecture instructions. Allow it to be call
> > from EXECUTE.
> > 
> > Reviewed-by: Richard Henderson <r...@twiddle.net>
> > Signed-off-by: Aurelien Jarno <aurel...@aurel32.net>
> > Signed-off-by: Alexander Graf <ag...@suse.de>
> > ---
> >  target-s390x/helper.h      |  1 +
> >  target-s390x/insn-data.def |  2 ++
> >  target-s390x/mem_helper.c  | 24 ++++++++++++++++++++++++
> >  target-s390x/translate.c   | 10 ++++++++++
> >  4 files changed, 37 insertions(+)
> > 
> > diff --git a/target-s390x/helper.h b/target-s390x/helper.h
> > index cb0b421..48b015e 100644
> > --- a/target-s390x/helper.h
> > +++ b/target-s390x/helper.h
> > @@ -77,6 +77,7 @@ DEF_HELPER_FLAGS_3(sqxb, TCG_CALL_NO_WG, i64, env, i64, 
> > i64)
> >  DEF_HELPER_FLAGS_1(cvd, TCG_CALL_NO_RWG_SE, i64, s32)
> >  DEF_HELPER_FLAGS_4(unpk, TCG_CALL_NO_WG, void, env, i32, i64, i64)
> >  DEF_HELPER_FLAGS_4(tr, TCG_CALL_NO_WG, void, env, i32, i64, i64)
> > +DEF_HELPER_4(trt, i32, env, i32, i64, i64)
> >  DEF_HELPER_4(cksm, i64, env, i64, i64, i64)
> >  DEF_HELPER_FLAGS_5(calc_cc, TCG_CALL_NO_RWG_SE, i32, env, i32, i64, i64, 
> > i64)
> >  DEF_HELPER_FLAGS_2(sfpc, TCG_CALL_NO_RWG, void, env, i64)
> > diff --git a/target-s390x/insn-data.def b/target-s390x/insn-data.def
> > index a12939d..e401754 100644
> > --- a/target-s390x/insn-data.def
> > +++ b/target-s390x/insn-data.def
> > @@ -759,6 +759,8 @@
> >  
> >  /* TRANSLATE */
> >      C(0xdc00, TR,      SS_a,  Z,   la1, a2, 0, 0, tr, 0)
> > +/* TRANSLATE AND TEST */
> > +    C(0xdd00, TRT,     SS_a,  Z,   la1, a2, 0, 0, trt, 0)
> >  
> >  /* UNPACK */
> >      /* Really format SS_b, but we pack both lengths into one argument
> > diff --git a/target-s390x/mem_helper.c b/target-s390x/mem_helper.c
> > index 0e8cd0f..e19e1aa 100644
> > --- a/target-s390x/mem_helper.c
> > +++ b/target-s390x/mem_helper.c
> > @@ -509,6 +509,9 @@ uint32_t HELPER(ex)(CPUS390XState *env, uint32_t cc, 
> > uint64_t v1,
> >          case 0xc00:
> >              helper_tr(env, l, get_address(env, 0, b1, d1),
> >                        get_address(env, 0, b2, d2));
> 
> Missing break here.

Good catch, I'll send a patch to fix that. Thanks.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurel...@aurel32.net                 http://www.aurel32.net

Reply via email to