Am 04.05.2012 12:54, schrieb Juan Quintela: > Signed-off-by: Juan Quintela <quint...@redhat.com> > --- > savevm.c | 25 +++++++++++++++++++++++++ > vmstate.h | 5 +++++ > 2 files changed, 30 insertions(+), 0 deletions(-) > > diff --git a/savevm.c b/savevm.c > index 2d18bab..a22278e 100644 > --- a/savevm.c > +++ b/savevm.c > @@ -1082,6 +1082,31 @@ const VMStateInfo vmstate_info_uint16_equal = { > .put = put_uint16, > }; > > +/* 32 bit float */ > + > +static int get_float32(QEMUFile *f, void *pv, size_t size) > +{ > + float32 *v = pv; > + uint32_t u; > + qemu_get_be32s(f, &u); > + *v = make_float32(u); > + return 0; > +} > + > +static void put_float32(QEMUFile *f, void *pv, size_t size) > +{ > + float32 *v = pv; > + uint32_t u; > + u = float32_val(*v); > + qemu_put_be32s(f, &u); > +} > + > +const VMStateInfo vmstate_info_float32 = { > + .name = "float32", > + .get = get_float32, > + .put = put_float32, > +}; > + > /* timers */ > > static int get_timer(QEMUFile *f, void *pv, size_t size) > diff --git a/vmstate.h b/vmstate.h > index 1a4a60b..135c5aa 100644 > --- a/vmstate.h > +++ b/vmstate.h > @@ -130,6 +130,8 @@ extern const VMStateInfo vmstate_info_uint16; > extern const VMStateInfo vmstate_info_uint32; > extern const VMStateInfo vmstate_info_uint64; > > +extern const VMStateInfo vmstate_info_float32; > + > extern const VMStateInfo vmstate_info_timer; > extern const VMStateInfo vmstate_info_buffer; > extern const VMStateInfo vmstate_info_unused_buffer; > @@ -559,6 +561,9 @@ extern const VMStateDescription vmstate_cpu; > #define VMSTATE_INT64_ARRAY(_f, _s, _n) \ > VMSTATE_INT64_ARRAY_V(_f, _s, _n, 0) > > +#define VMSTATE_FLOAT32_ARRAY(_f, _s, _n) \ > + VMSTATE_ARRAY(_f, _s, _n, 0, vmstate_info_float32, float32)
Why isn't there a VMSTATE_FLOAT32_ARRAY_V for symmetry? Otherwise looks fine. /-F > + > #define VMSTATE_BUFFER_V(_f, _s, _v) \ > VMSTATE_STATIC_BUFFER(_f, _s, _v, NULL, 0, sizeof(typeof_field(_s, _f))) > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg