summaryrefslogtreecommitdiff
path: root/sys/src/cmd/vmx/exith.c
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2017-06-21 22:18:26 +0000
committeraiju <devnull@localhost>2017-06-21 22:18:26 +0000
commit5c0bff4ba204cfad7aedb8c1c20f1c29265dcb01 (patch)
tree055fa5e6319b94d0f2992480a0e6ed0271179fb6 /sys/src/cmd/vmx/exith.c
parent37b9ab5a043e45a68979632c177e11af7a439027 (diff)
vmx(1): add support for (so far) crude 9p debugging fs; add gdb stub; clean up linux gdt code
Diffstat (limited to 'sys/src/cmd/vmx/exith.c')
-rw-r--r--sys/src/cmd/vmx/exith.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/src/cmd/vmx/exith.c b/sys/src/cmd/vmx/exith.c
index 939763dcd..69aba6bac 100644
--- a/sys/src/cmd/vmx/exith.c
+++ b/sys/src/cmd/vmx/exith.c
@@ -5,6 +5,8 @@
#include "dat.h"
#include "fns.h"
+int persist = 0;
+
typedef struct ExitInfo ExitInfo;
struct ExitInfo {
char *raw;
@@ -407,7 +409,7 @@ static void
hlt(ExitInfo *ei)
{
if(irqactive == 0)
- halt = 1;
+ state = VMHALT;
skipinstr(ei);
}
@@ -484,5 +486,9 @@ processexit(char *msg)
vmerror("vmx: unknown notification %s", f[0]+1);
return;
}
- sysfatal("unknown exit: %s", msg);
+ if(persist){
+ vmerror("unknown exit: %s", msg);
+ state = VMDEAD;
+ }else
+ sysfatal("unknown exit: %s", msg);
}