On Thu, 5 Dec 2019 11:56:33 +0100 Philippe Mathieu-Daudé <phi...@redhat.com> wrote:
> Hi Cornelia, > > On 12/5/19 11:38 AM, Cornelia Huck wrote: > > We neglected to clean up pending interrupts and emergency signals; > > fix that. > > > > Signed-off-by: Cornelia Huck <coh...@redhat.com> > > --- > > > > Noted while looking at the fixes for the kvm reset handling. > > IIUC we always neglected to clean these fields, but Janosh recent work > [*] helped you to realize that? Yes, that was what I was trying to express :) > > [*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg661541.html > > > We now clear some fields twice in the paths for clear or initial reset; > > but (a) we already do that for other fields and (b) it does not really > > hurt. Maybe we should give the cpu structure some love in the future, > > as it's not always clear whether some fields are tcg only. > > > > --- > > target/s390x/cpu.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c > > index 829ce6ad5491..f2572961dc3a 100644 > > --- a/target/s390x/cpu.c > > +++ b/target/s390x/cpu.c > > @@ -133,6 +133,9 @@ static void s390_cpu_reset(CPUState *s, cpu_reset_type > > type) > > case S390_CPU_RESET_NORMAL: > > env->pfault_token = -1UL; > > env->bpbc = false; > > + env->pending_int = 0; > > + env->external_call_addr = 0; > > + bitmap_zero(env->emergency_signals, S390_MAX_CPUS); > > break; > > default: > > g_assert_not_reached(); > > >