From: Helge Deller Date: Fri, 10 Nov 2023 00:11:24 +0000 (+0100) Subject: target/hppa: Fix calculation of CR_IIASQ back register X-Git-Tag: v8.2.0-rc0~5^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e722e5a11212f3080456dea1c3cc5b231d1d3a2d;p=thirdparty%2Fqemu.git 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 Reviewed-by: Richard Henderson Signed-off-by: Richard Henderson --- diff --git a/target/hppa/int_helper.c b/target/hppa/int_helper.c index 467ee7daf5c..98e9d688f64 100644 --- a/target/hppa/int_helper.c +++ b/target/hppa/int_helper.c @@ -126,7 +126,7 @@ void hppa_cpu_do_interrupt(CPUState *cs) env->cr[CR_IIASQ] = hppa_form_gva_psw(old_psw, env->iasq_f, env->iaoq_f) >> 32; 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 { env->cr[CR_IIASQ] = 0; env->cr_back[0] = 0;