qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 02/10] apic_common: vapic_paddr synchronization


From: Pavel Dovgaluk
Subject: Re: [Qemu-devel] [PATCH 02/10] apic_common: vapic_paddr synchronization fix
Date: Wed, 10 Sep 2014 10:55:28 +0400

> From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
> Sent: Tuesday, September 09, 2014 4:30 PM
> To: address@hidden
> Cc: address@hidden; address@hidden; address@hidden; address@hidden
> Subject: [PATCH 02/10] apic_common: vapic_paddr synchronization fix
> 
> From: Pavel Dovgalyuk <address@hidden>
> 
> This patch postpones vapic_paddr initialization, which is performed
> during migration. When vapic_paddr is synchronized within the migration
> process, apic_common functions could operate with incorrect apic state,
> if it hadn't loaded yet. This patch postpones the synchronization until
> the virtual machine is started, ensuring that the whole virtual machine
> state has been loaded.
> 
> Signed-off-by: Pavel Dovgalyuk <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
>  hw/i386/kvmvapic.c | 37 ++++++++++++++++++++++++++-----------
>  1 file changed, 26 insertions(+), 11 deletions(-)
> 
> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
> index ee95963..2bcc249 100644
> --- a/hw/i386/kvmvapic.c
> +++ b/hw/i386/kvmvapic.c
> @@ -59,6 +59,7 @@ typedef struct VAPICROMState {
>      GuestROMState rom_state;
>      size_t rom_size;
>      bool rom_mapped_writable;
> +    VMChangeStateEntry *vmsentry;
>  } VAPICROMState;
> 
>  #define TYPE_VAPIC "kvmvapic"
> @@ -734,11 +735,34 @@ static void do_vapic_enable(void *data)
>      vapic_enable(s, cpu);
>  }
> 
> -static int vapic_post_load(void *opaque, int version_id)
> +static void kvmvapic_vm_state_change(void *opaque, int running,
> +                                  RunState state)

Thank you for apic solution.
I've tested this one with replay, and it worked fine.

Pavel Dovgalyuk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]