#include <linux/debugfs.h>
#include <linux/uaccess.h>
-#include <interfaces/vmm_mcheck.h>
+//#include <interfaces/vmm_mcheck.h>
#include "palacios.h"
#include "vm.h"
#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)
{
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;
}
struct linux_ext mcheck_ext = {
.name = "MACHINE CHECK",
.init = NULL,
- .deinit = NULL,
+ .deinit = all_deinit,
.guest_init = guest_init,
.guest_deinit = guest_deinit
};