summaryrefslogtreecommitdiffstats
path: root/target/s390x/mem_helper.c
diff options
context:
space:
mode:
authorRichard Henderson2019-12-11 21:36:13 +0100
committerCornelia Huck2019-12-18 12:57:29 +0100
commitebed683c4e2678947df06cb33d3d860840426c65 (patch)
treef5bdc67fc30e3e51f6e4ab11a1a91c51e4795309 /target/s390x/mem_helper.c
parentMerge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-12-1... (diff)
downloadqemu-ebed683c4e2678947df06cb33d3d860840426c65.tar.gz
qemu-ebed683c4e2678947df06cb33d3d860840426c65.tar.xz
qemu-ebed683c4e2678947df06cb33d3d860840426c65.zip
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/mem_helper.c')
-rw-r--r--target/s390x/mem_helper.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index 2325767f17..b1b3f406c9 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -2344,27 +2344,11 @@ uint64_t HELPER(lurag)(CPUS390XState *env, uint64_t addr)
void HELPER(stura)(CPUS390XState *env, uint64_t addr, uint64_t v1)
{
cpu_stl_real_ra(env, wrap_address(env, addr), (uint32_t)v1, GETPC());
-
- if ((env->psw.mask & PSW_MASK_PER) &&
- (env->cregs[9] & PER_CR9_EVENT_STORE) &&
- (env->cregs[9] & PER_CR9_EVENT_STORE_REAL)) {
- /* PSW is saved just before calling the helper. */
- env->per_address = env->psw.addr;
- env->per_perc_atmid = PER_CODE_EVENT_STORE_REAL | get_per_atmid(env);
- }
}
void HELPER(sturg)(CPUS390XState *env, uint64_t addr, uint64_t v1)
{
cpu_stq_real_ra(env, wrap_address(env, addr), v1, GETPC());
-
- if ((env->psw.mask & PSW_MASK_PER) &&
- (env->cregs[9] & PER_CR9_EVENT_STORE) &&
- (env->cregs[9] & PER_CR9_EVENT_STORE_REAL)) {
- /* PSW is saved just before calling the helper. */
- env->per_address = env->psw.addr;
- env->per_perc_atmid = PER_CODE_EVENT_STORE_REAL | get_per_atmid(env);
- }
}
/* load real address */