From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37956) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOOGw-0000aK-G3 for qemu-devel@nongnu.org; Thu, 19 Feb 2015 05:23:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOOGn-00076x-9N for qemu-devel@nongnu.org; Thu, 19 Feb 2015 05:23:54 -0500 Received: from mailapp01.imgtec.com ([195.59.15.196]:53482) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOOGn-00076b-1S for qemu-devel@nongnu.org; Thu, 19 Feb 2015 05:23:45 -0500 Message-ID: <54E5B9AC.5000904@imgtec.com> Date: Thu, 19 Feb 2015 10:23:40 +0000 From: Leon Alrae MIME-Version: 1.0 References: <1424271115-7885-1-git-send-email-leon.alrae@imgtec.com> <1424271115-7885-2-git-send-email-leon.alrae@imgtec.com> <54E4C4E7.9060405@suse.de> In-Reply-To: <54E4C4E7.9060405@suse.de> Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/2] target-mips: replace cpu_save/cpu_load with VMStateDescription List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-15?Q?Andreas_F=E4rber?= , qemu-devel@nongnu.org Cc: amit.shah@redhat.com, macro@linux-mips.org, aurelien@aurel32.net, quintela@redhat.com Hi, On 18/02/2015 16:59, Andreas F=E4rber wrote: > Hi Leon, >=20 > Am 18.02.2015 um 15:51 schrieb Leon Alrae: >> Create VMStateDescription for MIPS CPU. The new structure contains exa= ctly the >> same fields as before, therefore leaving existing version_id. >> >> Signed-off-by: Leon Alrae >> --- >> target-mips/cpu-qom.h | 4 + >> target-mips/cpu.c | 1 + >> target-mips/cpu.h | 2 - >> target-mips/machine.c | 567 ++++++++++++++++++++++-------------------= --------- >> 4 files changed, 257 insertions(+), 317 deletions(-) > [...] >> diff --git a/target-mips/cpu.c b/target-mips/cpu.c >> index 98dc94e..cbdc463 100644 >> --- a/target-mips/cpu.c >> +++ b/target-mips/cpu.c >> @@ -148,6 +148,7 @@ static void mips_cpu_class_init(ObjectClass *c, vo= id *data) >> cc->do_unassigned_access =3D mips_cpu_unassigned_access; >> cc->do_unaligned_access =3D mips_cpu_do_unaligned_access; >> cc->get_phys_page_debug =3D mips_cpu_get_phys_page_debug; >> + dc->vmsd =3D &vmstate_mips_cpu; >=20 > This looks wrong. There's two ways to do a CPU VMSD, 1) via dc->vmsd, > and 2) via cc->vmsd. When going for the new dc->vmsd, the common CPU > state would need to be referenced from vmstate_mips_cpu below. Doing so > would break backwards compatibility, so you probably want cc->vmsd, > causing a separate VMSD for the common parts to be registered. Ah, I see it now in cpu_exec_init() that vmstate_cpu_common won't get registered if I set dc->vmsd. Thanks for pointing that out. Regards, Leon