[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] migration: Drop unused VMSTATE_FLOAT64 support
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH] migration: Drop unused VMSTATE_FLOAT64 support |
Date: |
Mon, 26 Oct 2020 11:57:19 +0000 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
* 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