X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fextensions%2Fext_mcheck.c;h=2ab04ca27cb0e5ab1f7131291d2109c1b226138f;hb=2ee5d1ec27731b41027c42003608ad9c06d748e8;hp=51605ae1b42bfba4ae6adf5b546839845456eae4;hpb=780b4edcfe6d8da3ca01cc7fc9ca25cdddf782af;p=palacios.git diff --git a/palacios/src/extensions/ext_mcheck.c b/palacios/src/extensions/ext_mcheck.c index 51605ae..2ab04ca 100644 --- a/palacios/src/extensions/ext_mcheck.c +++ b/palacios/src/extensions/ext_mcheck.c @@ -545,6 +545,25 @@ int v3_mcheck_inject_nb_mce(struct v3_vm_info * const vm, const uint32_t cpu, return 0; } +int v3_mcheck_inject_scrubber_mce(struct v3_vm_info *info, int cpu, uint64_t dst) +{ + struct mc4_stat_msr stat; + struct mc4_addr_msr addr; + + stat.value = 0; + stat.error_code = 0x810; + stat.error_code_ext = 0x8; + stat.uecc = 1; + stat.addr_v = 1; + stat.en = 1; + stat.uc = 1; + stat.val = 1; + + addr.addr64 = dst; + + return v3_mcheck_inject_nb_mce(info, cpu, stat, addr); +} + static struct v3_extension_impl mcheck_impl = { .name = MCHECK, .init = init_mcheck,