[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] apic: always update the in-kernel status af
From: |
Avi Kivity |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] apic: always update the in-kernel status after loading |
Date: |
Tue, 30 Oct 2012 14:38:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121016 Thunderbird/16.0.1 |
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 <address@hidden>
> ---
> 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