diff options
author | Richard Henderson <rth@twiddle.net> | 2013-09-20 13:04:28 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2015-02-03 12:06:37 -0800 |
commit | 9c3fd85b142f244ac1900b9da02f2d733d03c1b1 (patch) | |
tree | 3c07676839ac6e7fb672011593c4d15279f51ed3 /target-s390x/translate.c | |
parent | 81822c2f42e0c3d7bf36f6eec92941de33ed92b8 (diff) |
target-s390: Implement LURA, LURAG, STURG
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-s390x/translate.c')
-rw-r--r-- | target-s390x/translate.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/target-s390x/translate.c b/target-s390x/translate.c index 0c5191737d..b7b74ea759 100644 --- a/target-s390x/translate.c +++ b/target-s390x/translate.c @@ -2478,6 +2478,24 @@ static ExitStatus op_lm64(DisasContext *s, DisasOps *o) return NO_EXIT; } +#ifndef CONFIG_USER_ONLY +static ExitStatus op_lura(DisasContext *s, DisasOps *o) +{ + check_privileged(s); + potential_page_fault(s); + gen_helper_lura(o->out, cpu_env, o->in2); + return NO_EXIT; +} + +static ExitStatus op_lurag(DisasContext *s, DisasOps *o) +{ + check_privileged(s); + potential_page_fault(s); + gen_helper_lurag(o->out, cpu_env, o->in2); + return NO_EXIT; +} +#endif + static ExitStatus op_mov2(DisasContext *s, DisasOps *o) { o->out = o->in2; @@ -3364,6 +3382,14 @@ static ExitStatus op_stura(DisasContext *s, DisasOps *o) gen_helper_stura(cpu_env, o->in2, o->in1); return NO_EXIT; } + +static ExitStatus op_sturg(DisasContext *s, DisasOps *o) +{ + check_privileged(s); + potential_page_fault(s); + gen_helper_sturg(cpu_env, o->in2, o->in1); + return NO_EXIT; +} #endif static ExitStatus op_st8(DisasContext *s, DisasOps *o) |