From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQIAP-0006k8-8x for qemu-devel@nongnu.org; Fri, 04 May 2012 09:03:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SQIAE-00079S-Do for qemu-devel@nongnu.org; Fri, 04 May 2012 09:03:24 -0400 Received: from cantor2.suse.de ([195.135.220.15]:60846 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SQIAE-000794-4p for qemu-devel@nongnu.org; Fri, 04 May 2012 09:03:14 -0400 Message-ID: <4FA3D390.9050300@suse.de> Date: Fri, 04 May 2012 15:03:12 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 09/35] vmstate: introduce float64 arrays List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: qemu-devel@nongnu.org Am 04.05.2012 12:54, schrieb Juan Quintela: > Signed-off-by: Juan Quintela > --- > savevm.c | 25 +++++++++++++++++++++++++ > vmstate.h | 4 ++++ > 2 files changed, 29 insertions(+), 0 deletions(-) >=20 > diff --git a/savevm.c b/savevm.c > index a22278e..da8f234 100644 > --- a/savevm.c > +++ b/savevm.c > @@ -1107,6 +1107,31 @@ const VMStateInfo vmstate_info_float32 =3D { > .put =3D put_float32, > }; >=20 > +/* 64 bit float */ > + > +static int get_float64(QEMUFile *f, void *pv, size_t size) > +{ > + float64 *v =3D pv; > + uint64_t u; > + qemu_get_be64s(f, &u); > + *v =3D make_float64(u); > + return 0; > +} > + > +static void put_float64(QEMUFile *f, void *pv, size_t size) > +{ > + float64 *v =3D pv; > + uint64_t u; > + u =3D float64_val(*v); > + qemu_put_be64s(f, &u); > +} > + > +const VMStateInfo vmstate_info_float64 =3D { > + .name =3D "float64", > + .get =3D get_float64, > + .put =3D put_float64, > +}; > + > /* timers */ >=20 > static int get_timer(QEMUFile *f, void *pv, size_t size) > diff --git a/vmstate.h b/vmstate.h > index 135c5aa..d3fb88c 100644 > --- a/vmstate.h > +++ b/vmstate.h > @@ -131,6 +131,7 @@ extern const VMStateInfo vmstate_info_uint32; > extern const VMStateInfo vmstate_info_uint64; >=20 > extern const VMStateInfo vmstate_info_float32; > +extern const VMStateInfo vmstate_info_float64; >=20 > extern const VMStateInfo vmstate_info_timer; > extern const VMStateInfo vmstate_info_buffer; > @@ -564,6 +565,9 @@ extern const VMStateDescription vmstate_cpu; > #define VMSTATE_FLOAT32_ARRAY(_f, _s, _n) = \ > VMSTATE_ARRAY(_f, _s, _n, 0, vmstate_info_float32, float32) >=20 > +#define VMSTATE_FLOAT64_ARRAY(_f, _s, _n) = \ > + VMSTATE_ARRAY(_f, _s, _n, 0, vmstate_info_float64, float64) Same comment as for float32: Why not _FLOAT64_ARRAY -> _FLOAT64_ARRAY_V -> _ARRAY? /-F > + > #define VMSTATE_BUFFER_V(_f, _s, _v) = \ > VMSTATE_STATIC_BUFFER(_f, _s, _v, NULL, 0, sizeof(typeof_field(_s,= _f))) >=20 --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg