diff options
Diffstat (limited to 'linux-user/aarch64/signal.c')
-rw-r--r-- | linux-user/aarch64/signal.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/linux-user/aarch64/signal.c b/linux-user/aarch64/signal.c index 6a2c6e06d2..b265cfd470 100644 --- a/linux-user/aarch64/signal.c +++ b/linux-user/aarch64/signal.c @@ -665,17 +665,8 @@ static void target_setup_frame(int usig, struct target_sigaction *ka, env->btype = 2; } - /* - * Invoke the signal handler with both SM and ZA disabled. - * When clearing SM, ResetSVEState, per SMSTOP. - */ - if (FIELD_EX64(env->svcr, SVCR, SM)) { - arm_reset_sve_state(env); - } - if (env->svcr) { - env->svcr = 0; - arm_rebuild_hflags(env); - } + /* Invoke the signal handler with both SM and ZA disabled. */ + aarch64_set_svcr(env, 0, R_SVCR_SM_MASK | R_SVCR_ZA_MASK); if (info) { tswap_siginfo(&frame->info, info); |