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 <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Aurelien Jarno 2015-06-15 17:57:04 +02:00 committed by Alexander Graf
parent 06e3c077da
commit 7107e5a756
1 changed files with 2 additions and 1 deletions

View File

@ -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;