aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/translate.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2019-12-11 12:36:13 -0800
committerCornelia Huck <cohuck@redhat.com>2019-12-18 12:57:29 +0100
commitebed683c4e2678947df06cb33d3d860840426c65 (patch)
treef5bdc67fc30e3e51f6e4ab11a1a91c51e4795309 /target/s390x/translate.c
parentaceeaa69d28e6f08a24395d0aa6915b687d0a681 (diff)
target/s390x: Split out helper_per_store_real
Split the PER handling for store-to-real-address into its own helper function, conditionally called when PER is enabled, just as we do for per_branch and per_ifetch. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20191211203614.15611-2-richard.henderson@linaro.org> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/translate.c')
-rw-r--r--target/s390x/translate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index 151dfa91fb..ef751fefa4 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -4507,12 +4507,20 @@ static DisasJumpType op_stnosm(DisasContext *s, DisasOps *o)
static DisasJumpType op_stura(DisasContext *s, DisasOps *o)
{
gen_helper_stura(cpu_env, o->in2, o->in1);
+ if (s->base.tb->flags & FLAG_MASK_PER) {
+ update_psw_addr(s);
+ gen_helper_per_store_real(cpu_env);
+ }
return DISAS_NEXT;
}
static DisasJumpType op_sturg(DisasContext *s, DisasOps *o)
{
gen_helper_sturg(cpu_env, o->in2, o->in1);
+ if (s->base.tb->flags & FLAG_MASK_PER) {
+ update_psw_addr(s);
+ gen_helper_per_store_real(cpu_env);
+ }
return DISAS_NEXT;
}
#endif