summaryrefslogtreecommitdiff
path: root/target-s390x/translate.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-09-20 13:04:28 -0700
committerRichard Henderson <rth@twiddle.net>2015-02-03 12:06:37 -0800
commit9c3fd85b142f244ac1900b9da02f2d733d03c1b1 (patch)
tree3c07676839ac6e7fb672011593c4d15279f51ed3 /target-s390x/translate.c
parent81822c2f42e0c3d7bf36f6eec92941de33ed92b8 (diff)
downloadqemu-9c3fd85b142f244ac1900b9da02f2d733d03c1b1.zip
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.c26
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)