From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51846) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTB5P-0007vB-2c for qemu-devel@nongnu.org; Tue, 30 Oct 2012 08:38:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTB5D-0001yr-DM for qemu-devel@nongnu.org; Tue, 30 Oct 2012 08:38:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42843) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTB5D-0001ya-5Y for qemu-devel@nongnu.org; Tue, 30 Oct 2012 08:38:15 -0400 Message-ID: <508FCA33.5030309@redhat.com> Date: Tue, 30 Oct 2012 14:38:11 +0200 From: Avi Kivity MIME-Version: 1.0 References: <1351599394-24876-1-git-send-email-pbonzini@redhat.com> <1351599394-24876-4-git-send-email-pbonzini@redhat.com> In-Reply-To: <1351599394-24876-4-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/3] apic: always update the in-kernel status after loading List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: jan.kiszka@siemens.com, mtosatti@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org On 10/30/2012 02:16 PM, Paolo Bonzini wrote: > The LAPIC is loaded separately from the rest of the VCPU state. Thus, > when restoring the CPU the dummy post-reset state is passed to the > in-kernel APIC. > > This can cause MSI injection to fail if attempted during the restore of > another device, because the LAPIC believes it's not enabled. > > Signed-off-by: Paolo Bonzini > --- > hw/apic_common.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/hw/apic_common.c b/hw/apic_common.c > index f373ba8..1ef52b2 100644 > --- a/hw/apic_common.c > +++ b/hw/apic_common.c > @@ -362,6 +362,7 @@ static int apic_dispatch_post_load(void *opaque, int version_id) > if (info->post_load) { > info->post_load(s); > } > + cpu_put_apic_state(DEVICE(s)); > return 0; > } Aren't we still dependent on the order of processing? If the APIC is restored after the device, won't we get the same problem? -- error compiling committee.c: too many arguments to function