From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCpzu-0001Io-LC for qemu-devel@nongnu.org; Thu, 31 Jul 2014 09:02:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XCpzo-00081U-Bl for qemu-devel@nongnu.org; Thu, 31 Jul 2014 09:02:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55800) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCpzn-0007zM-Ld for qemu-devel@nongnu.org; Thu, 31 Jul 2014 09:02:12 -0400 Message-ID: <53DA3E44.8040007@redhat.com> Date: Thu, 31 Jul 2014 15:01:56 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <20140731125321.1600.46604.stgit@PASHA-ISP.novsu.ac.ru> <20140731125407.1600.30462.stgit@PASHA-ISP.novsu.ac.ru> In-Reply-To: <20140731125407.1600.30462.stgit@PASHA-ISP.novsu.ac.ru> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH v3 07/49] kvmapic: fixing loading vmstate List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pavel Dovgalyuk , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com, mark.burton@greensocs.com, real@ispras.ru, batuzovk@ispras.ru, maria.klimushenkova@ispras.ru, afaerber@suse.de, fred.konrad@greensocs.com Il 31/07/2014 14:54, Pavel Dovgalyuk ha scritto: > +static int apic_pre_load(void *opaque) > +{ > + APICCommonState *s = APIC_COMMON(opaque); > + s->sipi_vector = 0; > + s->wait_for_sipi = 0; > + s->vapic_paddr = 0; > + return 0; Is this necessary? Or does reset already do that? > +} > + > static void apic_dispatch_pre_save(void *opaque) > { > APICCommonState *s = APIC_COMMON(opaque); > @@ -345,12 +354,46 @@ static int apic_dispatch_post_load(void *opaque, int version_id) > return 0; > } > > +static bool apic_common_sipi_needed(void *opaque) > +{ > + APICCommonState *s = APIC_COMMON(opaque); > + return s->wait_for_sipi != 0; > +} > + > +static const VMStateDescription vmstate_apic_common_sipi = { > + .name = "apic_sipi", > + .version_id = 1, > + .minimum_version_id = 1, > + .fields = (VMStateField[]) { > + VMSTATE_INT32(sipi_vector, APICCommonState), > + VMSTATE_INT32(wait_for_sipi, APICCommonState), > + VMSTATE_END_OF_LIST() > + } > +}; > + > +static bool apic_common_vapic_paddr_needed(void *opaque) > +{ > + APICCommonState *s = APIC_COMMON(opaque); > + return s->vapic_paddr != 0; > +} > + > +static const VMStateDescription vmstate_apic_common_vapic_paddr = { > + .name = "apic_vapic_paddr", > + .version_id = 1, > + .minimum_version_id = 1, > + .fields = (VMStateField[]) { > + VMSTATE_UINT64(vapic_paddr, APICCommonState), > + VMSTATE_END_OF_LIST() > + } > +}; > + > static const VMStateDescription vmstate_apic_common = { > .name = "apic", > - .version_id = 3, > + .version_id = 4, You know what I'm going to say. :) Paolo