* Peter Maydell ([email protected]) 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 <[email protected]>
Reviewed-by: Dr. David Alan Gilbert <[email protected]> > --- > 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 / [email protected] / Manchester, UK
