X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Fmcheck.c;h=8b3c5b244b60ecabf3e2ac970f7d9470cf849c76;hb=0246f0904a4800dbe1e8e23332d49b468a58f751;hp=e357e942cf484d7b3280fe230c6f49b9491a4830;hpb=2ee5d1ec27731b41027c42003608ad9c06d748e8;p=palacios.git diff --git a/linux_module/mcheck.c b/linux_module/mcheck.c index e357e94..8b3c5b2 100644 --- a/linux_module/mcheck.c +++ b/linux_module/mcheck.c @@ -8,7 +8,7 @@ #include #include -#include +//#include #include "palacios.h" #include "vm.h" @@ -17,6 +17,12 @@ #define SCRUBBER_MCE 0x1 #define V3_VM_INJECT_SCRUBBER_MCE (10224+20) +/* Missing the vmm_mcheck.h header file */ + +struct v3_vm_info; + +int v3_mcheck_inject_scrubber_mce(struct v3_vm_info *info, int cpu, uint64_t dst); + static int inject_mce(struct v3_guest * guest, unsigned int cmd, unsigned long arg, void * priv_data) { @@ -41,6 +47,13 @@ static int guest_init(struct v3_guest * guest, void ** vm_data) { static int guest_deinit(struct v3_guest * guest, void * vm_data) { + remove_guest_ctrl(guest, V3_VM_INJECT_SCRUBBER_MCE); + return 0; +} + +static int all_deinit(void) +{ + // nothing to do return 0; } @@ -48,7 +61,7 @@ static int guest_deinit(struct v3_guest * guest, void * vm_data) { struct linux_ext mcheck_ext = { .name = "MACHINE CHECK", .init = NULL, - .deinit = NULL, + .deinit = all_deinit, .guest_init = guest_init, .guest_deinit = guest_deinit };