qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 09/35] vmstate: introduce float64 arrays


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 09/35] vmstate: introduce float64 arrays
Date: Fri, 04 May 2012 15:03:12 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0

Am 04.05.2012 12:54, schrieb Juan Quintela:
> Signed-off-by: Juan Quintela <address@hidden>
> ---
>  savevm.c  |   25 +++++++++++++++++++++++++
>  vmstate.h |    4 ++++
>  2 files changed, 29 insertions(+), 0 deletions(-)
> 
> 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 = {
>      .put  = put_float32,
>  };
> 
> +/* 64 bit float */
> +
> +static int get_float64(QEMUFile *f, void *pv, size_t size)
> +{
> +    float64 *v = pv;
> +    uint64_t u;
> +    qemu_get_be64s(f, &u);
> +    *v = make_float64(u);
> +    return 0;
> +}
> +
> +static void put_float64(QEMUFile *f, void *pv, size_t size)
> +{
> +    float64 *v = pv;
> +    uint64_t u;
> +    u = float64_val(*v);
> +    qemu_put_be64s(f, &u);
> +}
> +
> +const VMStateInfo vmstate_info_float64 = {
> +    .name = "float64",
> +    .get  = get_float64,
> +    .put  = put_float64,
> +};
> +
>  /* timers  */
> 
>  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;
> 
>  extern const VMStateInfo vmstate_info_float32;
> +extern const VMStateInfo vmstate_info_float64;
> 
>  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)
> 
> +#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)))
> 

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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