rdmsrl(MSR_IA32_MCG_CAP, value);
/* For Guest vMCE usage */
- g_mcg_cap = value & ~MCG_CMCI_P;
+ g_mcg_cap = value & (MCG_CAP_COUNT | MCG_CTL_P | MCG_TES_P | MCG_SER_P);
if (value & MCG_CTL_P)
rdmsrl(MSR_IA32_MCG_CTL, h_mcg_ctl);
/* Bitfield of the MSR_IA32_MCG_CAP register */
-#define MCG_SER_P (1UL<<24)
#define MCG_CAP_COUNT 0x00000000000000ffULL
-#define MCG_CTL_P 0x0000000000000100ULL
-#define MCG_EXT_P (1UL<<9)
-#define MCG_EXT_CNT (16)
-#define MCG_CMCI_P (1UL<<10)
+#define MCG_CTL_P (1ULL<<8)
+#define MCG_EXT_P (1ULL<<9)
+#define MCG_CMCI_P (1ULL<<10)
+#define MCG_TES_P (1ULL<<11)
+#define MCG_EXT_CNT 16
+#define MCG_SER_P (1ULL<<24)
/* Other bits are reserved */
/* Bitfield of the MSR_IA32_MCG_STATUS register */