From 7107e5a756317151666d47d1bc1e170293babaff Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Mon, 15 Jun 2015 17:57:04 +0200 Subject: [PATCH] target-s390x: correctly initialize ext interrupt queue env->ext_index should be initialized to -1 to mark the external interrupt queue as emtpy. This should not be done in s390_cpu_initfn as all the interrupt fields are later reset to 0 by the memset in s390_cpu_initial_reset or s390_cpu_full_reset. Move the initialization there. Signed-off-by: Aurelien Jarno Signed-off-by: Alexander Graf --- target-s390x/cpu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c index 7f17823e40..c4e8a87e1c 100644 --- a/target-s390x/cpu.c +++ b/target-s390x/cpu.c @@ -117,6 +117,7 @@ static void s390_cpu_initial_reset(CPUState *s) env->cregs[14] = CR14_RESET; env->pfault_token = -1UL; + env->ext_index = -1; /* tininess for underflow is detected before rounding */ set_float_detect_tininess(float_tininess_before_rounding, @@ -146,6 +147,7 @@ static void s390_cpu_full_reset(CPUState *s) env->cregs[14] = CR14_RESET; env->pfault_token = -1UL; + env->ext_index = -1; /* tininess for underflow is detected before rounding */ set_float_detect_tininess(float_tininess_before_rounding, @@ -207,7 +209,6 @@ static void s390_cpu_initfn(Object *obj) s390_cpu_set_state(CPU_STATE_STOPPED, cpu); #endif env->cpu_num = cpu_num++; - env->ext_index = -1; if (tcg_enabled() && !inited) { inited = true;