diff options
| author | Juan Quintela | 2014-10-08 11:53:22 +0200 |
|---|---|---|
| committer | Juan Quintela | 2015-07-07 14:54:51 +0200 |
| commit | 5e0f1940caf49f56e3bee123aa92e42a3f7fad20 (patch) | |
| tree | ca4507b82174ab6b2a80d5e17d8304ac5ec525ad | |
| parent | Fix older machine type compatibility on power with section footers (diff) | |
| download | qemu-5e0f1940caf49f56e3bee123aa92e42a3f7fad20.tar.gz qemu-5e0f1940caf49f56e3bee123aa92e42a3f7fad20.tar.xz qemu-5e0f1940caf49f56e3bee123aa92e42a3f7fad20.zip | |
runstate: Add runstate store
This allows us to store the current state to send it through migration.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
| -rw-r--r-- | include/sysemu/sysemu.h | 1 | ||||
| -rw-r--r-- | vl.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index df809518b4..44570d17e6 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -28,6 +28,7 @@ bool runstate_check(RunState state); void runstate_set(RunState new_state); int runstate_is_running(void); bool runstate_needs_reset(void); +bool runstate_store(char *str, size_t size); typedef struct vm_change_state_entry VMChangeStateEntry; typedef void VMChangeStateHandler(void *opaque, int running, RunState state); @@ -634,6 +634,18 @@ bool runstate_check(RunState state) return current_run_state == state; } +bool runstate_store(char *str, size_t size) +{ + const char *state = RunState_lookup[current_run_state]; + size_t len = strlen(state) + 1; + + if (len > size) { + return false; + } + memcpy(str, state, len); + return true; +} + static void runstate_init(void) { const RunStateTransition *p; |
