-/* $OpenBSD: vmm.c,v 1.219 2018/08/21 19:04:38 deraadt Exp $ */
+/* $OpenBSD: vmm.c,v 1.220 2018/09/20 14:32:59 brynet Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
case 0x80000001: /* Extended function info */
*rax = curcpu()->ci_efeature_eax;
*rbx = 0; /* Reserved */
- *rcx = curcpu()->ci_efeature_ecx;
+ *rcx = curcpu()->ci_efeature_ecx & VMM_ECPUIDECX_MASK;
*rdx = curcpu()->ci_feature_eflags & VMM_FEAT_EFLAGS_MASK;
break;
case 0x80000002: /* Brand string */
-/* $OpenBSD: vmmvar.h,v 1.58 2018/08/21 19:04:40 deraadt Exp $ */
+/* $OpenBSD: vmmvar.h,v 1.59 2018/09/20 14:32:59 brynet Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
/*
* clone host capabilities minus:
* debug store (CPUIDECX_DTES64, CPUIDECX_DSCPL, CPUID_DS)
- * monitor/mwait (CPUIDECX_MWAIT)
- * vmx (CPUIDECX_VMX)
+ * monitor/mwait (CPUIDECX_MWAIT, CPUIDECX_MWAITX)
+ * vmx/svm (CPUIDECX_VMX, CPUIDECX_SVM)
* smx (CPUIDECX_SMX)
* speedstep (CPUIDECX_EST)
* thermal (CPUIDECX_TM2, CPUID_ACPI, CPUID_TM)
CPUIDECX_DSCPL | CPUIDECX_SMX | CPUIDECX_CNXTID | \
CPUIDECX_SDBG | CPUIDECX_XTPR | CPUIDECX_PCID | \
CPUIDECX_DCA | CPUIDECX_X2APIC | CPUIDECX_DEADLINE)
+#define VMM_ECPUIDECX_MASK ~(CPUIDECX_SVM | CPUIDECX_MWAITX)
#define VMM_CPUIDEDX_MASK ~(CPUID_ACPI | CPUID_TM | \
CPUID_HTT | CPUID_DS | CPUID_APIC | \
CPUID_PSN | CPUID_SS | CPUID_PBE | \