int v3_stop_vm(struct v3_vm_info * vm) {
+ if ((vm->run_state |= VM_RUNNING) &&
+ (vm->run_state != VM_SIMULATING)) {
+ PrintError("Tried to stop VM in invalid runstate (%d)\n", vm->run_state);
+ return -1;
+ }
+
vm->run_state = VM_STOPPED;
// Sanity check to catch any weird execution states
int i = 0;
// deinitialize guest (free memory, etc...)
+ if ((vm->run_state != VM_STOPPED) &&
+ (vm->run_state != VM_ERROR)) {
+ PrintError("Tried to Free VM in invalid runstate (%d)\n", vm->run_state);
+ return -1;
+ }
+
v3_free_vm_devices(vm);
// free cores