All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>
Subject: Re: [PATCH] migration: Drop unused VMSTATE_FLOAT64 support
Date: Mon, 26 Oct 2020 11:57:19 +0000	[thread overview]
Message-ID: <20201026115719.GF3277@work-vm> (raw)
In-Reply-To: <20201022120830.5938-1-peter.maydell@linaro.org>

* Peter Maydell (peter.maydell@linaro.org) wrote:
> Commit ef96e3ae9698d6 in January 2019 removed the last user of the
> VMSTATE_FLOAT64* macros. These were used by targets which defined
> their floating point register file as an array of 'float64'.
> 
> We used to try to maintain a stricter distinction between
> 'float64' (a type for holding an integer representing an IEEE float)
> and 'uint64_t', including having a debug option for 'float64' being
> a struct and supposedly mandatory macros for converting between
> float64 and uint64_t. We no longer think that's a usefully
> strong distinction to draw and we allow ourselves to freely
> assume that float64 really is just a 64-bit integer type, so
> for new targets we would simply recommend use of the uint64_t type
> for a floating point register file. The float64 type remains
> as a useful way of documenting in the type signature of helper
> functions and the like that they expect to receive an IEEE float
> from the TCG generated code rather than an arbitrary integer.
> 
> Since the VMSTATE_FLOAT64* macros have no remaining users and
> we don't recommend new code uses them, delete them.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Queued

> ---
>  include/migration/vmstate.h | 13 -------------
>  migration/vmstate-types.c   | 26 --------------------------
>  2 files changed, 39 deletions(-)
> 
> diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
> index f68ed7db13c..4d71dc8fbaa 100644
> --- a/include/migration/vmstate.h
> +++ b/include/migration/vmstate.h
> @@ -219,7 +219,6 @@ extern const VMStateInfo vmstate_info_uint64;
>  #define VMS_NULLPTR_MARKER (0x30U) /* '0' */
>  extern const VMStateInfo vmstate_info_nullptr;
>  
> -extern const VMStateInfo vmstate_info_float64;
>  extern const VMStateInfo vmstate_info_cpudouble;
>  
>  extern const VMStateInfo vmstate_info_timer;
> @@ -997,12 +996,6 @@ extern const VMStateInfo vmstate_info_qlist;
>      VMSTATE_SINGLE_TEST(_f, _s, _t, 0, vmstate_info_uint64, uint64_t)
>  
>  
> -#define VMSTATE_FLOAT64_V(_f, _s, _v)                                 \
> -    VMSTATE_SINGLE(_f, _s, _v, vmstate_info_float64, float64)
> -
> -#define VMSTATE_FLOAT64(_f, _s)                                       \
> -    VMSTATE_FLOAT64_V(_f, _s, 0)
> -
>  #define VMSTATE_TIMER_PTR_TEST(_f, _s, _test)                             \
>      VMSTATE_POINTER_TEST(_f, _s, _test, vmstate_info_timer, QEMUTimer *)
>  
> @@ -1114,12 +1107,6 @@ extern const VMStateInfo vmstate_info_qlist;
>  #define VMSTATE_INT64_ARRAY(_f, _s, _n)                               \
>      VMSTATE_INT64_ARRAY_V(_f, _s, _n, 0)
>  
> -#define VMSTATE_FLOAT64_ARRAY_V(_f, _s, _n, _v)                       \
> -    VMSTATE_ARRAY(_f, _s, _n, _v, vmstate_info_float64, float64)
> -
> -#define VMSTATE_FLOAT64_ARRAY(_f, _s, _n)                             \
> -    VMSTATE_FLOAT64_ARRAY_V(_f, _s, _n, 0)
> -
>  #define VMSTATE_CPUDOUBLE_ARRAY_V(_f, _s, _n, _v)                     \
>      VMSTATE_ARRAY(_f, _s, _n, _v, vmstate_info_cpudouble, CPU_DoubleU)
>  
> diff --git a/migration/vmstate-types.c b/migration/vmstate-types.c
> index 35e784c9d93..e22d41d73d6 100644
> --- a/migration/vmstate-types.c
> +++ b/migration/vmstate-types.c
> @@ -420,32 +420,6 @@ const VMStateInfo vmstate_info_uint16_equal = {
>      .put  = put_uint16,
>  };
>  
> -/* floating point */
> -
> -static int get_float64(QEMUFile *f, void *pv, size_t size,
> -                       const VMStateField *field)
> -{
> -    float64 *v = pv;
> -
> -    *v = make_float64(qemu_get_be64(f));
> -    return 0;
> -}
> -
> -static int put_float64(QEMUFile *f, void *pv, size_t size,
> -                       const VMStateField *field, QJSON *vmdesc)
> -{
> -    uint64_t *v = pv;
> -
> -    qemu_put_be64(f, float64_val(*v));
> -    return 0;
> -}
> -
> -const VMStateInfo vmstate_info_float64 = {
> -    .name = "float64",
> -    .get  = get_float64,
> -    .put  = put_float64,
> -};
> -
>  /* CPU_DoubleU type */
>  
>  static int get_cpudouble(QEMUFile *f, void *pv, size_t size,
> -- 
> 2.20.1
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



  parent reply	other threads:[~2020-10-26 12:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-22 12:08 [PATCH] migration: Drop unused VMSTATE_FLOAT64 support Peter Maydell
2020-10-26 11:53 ` Dr. David Alan Gilbert
2020-10-26 11:57 ` Dr. David Alan Gilbert [this message]
2021-02-07 17:10 ` Philippe Mathieu-Daudé
2021-02-07 19:43   ` Peter Maydell
2021-02-08  9:31     ` Philippe Mathieu-Daudé
2021-02-08 10:00       ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201026115719.GF3277@work-vm \
    --to=dgilbert@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.