Handle VMs misbehaving.

If a VM accesses memory it is not allowed to or otherwise triggers and
unhandled exception it will be aborted such that none of the vCPUs can
be run again.

The VM remains unchanged from the point of view of other VMs other than
it will not make any further progress.

Change-Id: I352e1c714f1e4b1b43185269f92e7fa41e09a4db
diff --git a/src/vm.c b/src/vm.c
index 38a9328..a670753 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -45,6 +45,7 @@
 	vm->id = vm_count;
 	vm->vcpu_count = vcpu_count;
 	vm->mailbox.state = mailbox_state_empty;
+	atomic_init(&vm->aborting, false);
 
 	if (!mm_vm_init(&vm->ptable, ppool)) {
 		return false;