diff options
author | Ot ten Thije <ottenthije@google.com> | 2010-09-20 10:29:22 +0100 |
---|---|---|
committer | Ot ten Thije <ottenthije@google.com> | 2010-10-14 16:20:03 +0100 |
commit | 871da2aa80687142bec00ef7c1112253c76c32bb (patch) | |
tree | 02e55b1f236f63516c13b47e1b68b092b400f390 /savevm.c | |
parent | bd62acb45d0199940f3baecfa288a2173e4428ae (diff) | |
download | external_qemu-871da2aa80687142bec00ef7c1112253c76c32bb.zip external_qemu-871da2aa80687142bec00ef7c1112253c76c32bb.tar.gz external_qemu-871da2aa80687142bec00ef7c1112253c76c32bb.tar.bz2 |
Added state snapshot support for QemuD.
With this patch, both modem and sensor functionality are correctly
restored when a state snapshot is loaded. This was not the case
previously because communication with either of these services is
done using the qemud daemon, which did not support snapshots.
The boot-properties and charpipe services have no specific save/load
functionality yet, since the framework itself should be reviewed
first. Adding support for bootproperties should not be difficult
though, and charpipe may not need it.
For a description of the high-level process for saving and loading,
consult section IV "State snapshots" in docs/ANDROID-QEMUD.TXT.
Change-Id: I5b06d88b911ca096e78060163174904c48a01c66
Diffstat (limited to 'savevm.c')
-rw-r--r-- | savevm.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -724,6 +724,22 @@ int qemu_get_struct(QEMUFile* f, const QField* fields, void* s) return 0; } +/* write a float to file */ +void qemu_put_float(QEMUFile *f, float v) +{ + uint8_t *bytes = (uint8_t*) &v; + qemu_put_buffer(f, bytes, sizeof(float)); +} + +/* read a float from file */ +float qemu_get_float(QEMUFile *f) +{ + uint8_t bytes[sizeof(float)]; + qemu_get_buffer(f, bytes, sizeof(float)); + + return *((float*) bytes); +} + typedef struct SaveStateEntry { char idstr[256]; int instance_id; |