From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51170) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNkN4-0004Zs-Gi for qemu-devel@nongnu.org; Wed, 12 Mar 2014 10:43:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNkMy-0006yB-0z for qemu-devel@nongnu.org; Wed, 12 Mar 2014 10:43:02 -0400 Message-ID: <5320726E.3090308@suse.de> Date: Wed, 12 Mar 2014 15:42:54 +0100 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1392253715-5416-1-git-send-email-aik@ozlabs.ru> <53157AC7.7070303@ozlabs.ru> In-Reply-To: <53157AC7.7070303@ozlabs.ru> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] xics-kvm: fix reset function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Paul Mackerras , Alexander Graf Am 04.03.2014 08:03, schrieb Alexey Kardashevskiy: > On 02/13/2014 12:08 PM, Alexey Kardashevskiy wrote: >> Currently interrupt priorities are set to 0 (highest) at the very >> beginning of the guest execution which is not correct and makes the gu= est >> produce random interrupt error messages such as: >> "Interrupt 0x1001 (real) is invalid, disabling it". >> This also prevents interrupt states from correct migration. >> >> This initializes priority to 0xFF as the emulated XICS does. >=20 >=20 > Ping? Pretty simple patch suggested by Paul Mackerras. Is this one still needed? Can we document a Suggested-by? Andreas >=20 >=20 >=20 >> Signed-off-by: Alexey Kardashevskiy >> --- >> hw/intc/xics_kvm.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c >> index c203646..eaf94d9 100644 >> --- a/hw/intc/xics_kvm.c >> +++ b/hw/intc/xics_kvm.c >> @@ -269,6 +269,15 @@ static void ics_kvm_set_irq(void *opaque, int src= no, int val) >> =20 >> static void ics_kvm_reset(DeviceState *dev) >> { >> + ICSState *ics =3D ICS(dev); >> + int i; >> + >> + memset(ics->irqs, 0, sizeof(ICSIRQState) * ics->nr_irqs); >> + for (i =3D 0; i < ics->nr_irqs; i++) { >> + ics->irqs[i].priority =3D 0xff; >> + ics->irqs[i].saved_priority =3D 0xff; >> + } >> + >> ics_set_kvm_state(ICS(dev), 1); >> } >> =20 >> >=20 >=20 --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg