From 213945e4d753b5f214468ff746d65fa76e21dbd1 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Tue, 12 Mar 2013 14:06:02 +1100 Subject: savevm: Add VMSTATE_FLOAT64 helpers The current savevm code includes VMSTATE helpers for a number of commonly used data types, but not for the float64 type used by the internal floating point emulation code. This patch fixes the deficiency. Signed-off-by: David Gibson Signed-off-by: Juan Quintela --- savevm.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'savevm.c') diff --git a/savevm.c b/savevm.c index cd98b0db1d..8f1344a959 100644 --- a/savevm.c +++ b/savevm.c @@ -1133,6 +1133,29 @@ const VMStateInfo vmstate_info_uint16_equal = { .put = put_uint16, }; +/* floating point */ + +static int get_float64(QEMUFile *f, void *pv, size_t size) +{ + float64 *v = pv; + + *v = make_float64(qemu_get_be64(f)); + return 0; +} + +static void put_float64(QEMUFile *f, void *pv, size_t size) +{ + uint64_t *v = pv; + + qemu_put_be64(f, float64_val(*v)); +} + +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) -- cgit v1.2.1