target/hppa: Fix calculation of CR_IIASQ back register

Need to use iasq_b and iaoq_b to determine back register of CR_IIASQ.
This fixes random faults when booting up Linux user space.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Helge Deller 2023-11-10 01:11:24 +01:00 committed by Richard Henderson
parent 576fc9376d
commit e722e5a112

View File

@ -126,7 +126,7 @@ void hppa_cpu_do_interrupt(CPUState *cs)
env->cr[CR_IIASQ] = env->cr[CR_IIASQ] =
hppa_form_gva_psw(old_psw, env->iasq_f, env->iaoq_f) >> 32; hppa_form_gva_psw(old_psw, env->iasq_f, env->iaoq_f) >> 32;
env->cr_back[0] = env->cr_back[0] =
hppa_form_gva_psw(old_psw, env->iasq_f, env->iaoq_f) >> 32; hppa_form_gva_psw(old_psw, env->iasq_b, env->iaoq_b) >> 32;
} else { } else {
env->cr[CR_IIASQ] = 0; env->cr[CR_IIASQ] = 0;
env->cr_back[0] = 0; env->cr_back[0] = 0;