qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] kvmvapic: fix migration


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] kvmvapic: fix migration
Date: Mon, 22 Sep 2014 21:07:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

Il 22/09/2014 14:14, Pavel Dovgalyuk ha scritto:
> This patch fixes migration by extending do_vapic_enable function. This 
> function
> called vapic_enable which read cpu number from the guest memory. When cpu
> number could not be read, vapic was not enabled while loading the VM state.
> This patch adds required code for cpu_number=0 to do_vapic_enable function,
> because it is called only when cpu_number=0.
> 
> Signed-off-by: Pavel Dovgalyuk <address@hidden>
> ---
>  hw/i386/kvmvapic.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
> index 2cca7a4..f9da050 100644
> --- a/hw/i386/kvmvapic.c
> +++ b/hw/i386/kvmvapic.c
> @@ -732,7 +732,11 @@ static void do_vapic_enable(void *data)
>      VAPICROMState *s = data;
>      X86CPU *cpu = X86_CPU(first_cpu);
>  
> -    vapic_enable(s, cpu);
> +    static const uint8_t enabled = 1;
> +    cpu_physical_memory_write(s->vapic_paddr + offsetof(VAPICState, enabled),
> +                              &enabled, sizeof(enabled));
> +    apic_enable_vapic(cpu->apic_state, s->vapic_paddr);
> +    s->state = VAPIC_ACTIVE;
>  }
>  
>  static void kvmvapic_vm_state_change(void *opaque, int running,
> 

Thanks.

Paolo



reply via email to

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