vmm(4) doesn't use the VMX VMFUNC instruction.
ok mlarkin@
-/* $OpenBSD: identcpu.c,v 1.147 2024/08/27 09:16:03 bluhm Exp $ */
+/* $OpenBSD: identcpu.c,v 1.148 2024/10/07 20:30:17 dv Exp $ */
/* $NetBSD: identcpu.c,v 1.1 2003/04/26 18:39:28 fvdl Exp $ */
/*
/* EPT available? */
if (msr & (IA32_VMX_ENABLE_EPT) << 32)
ci->ci_vmm_flags |= CI_VMM_EPT;
- /* VM Functions available? */
- if (msr & (IA32_VMX_ENABLE_VM_FUNCTIONS) << 32) {
- ci->ci_vmm_cap.vcc_vmx.vmx_vm_func =
- rdmsr(IA32_VMX_VMFUNC);
- }
}
}
-/* $OpenBSD: vmm_machdep.c,v 1.38 2024/09/26 13:18:25 dv Exp $ */
+/* $OpenBSD: vmm_machdep.c,v 1.39 2024/10/07 20:30:17 dv Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
DPRINTF("\n");
}
- if (vcpu_vmx_check_cap(vcpu, IA32_VMX_PROCBASED2_CTLS,
- IA32_VMX_ENABLE_VM_FUNCTIONS, 1)) {
- /* We assume all CPUs have the same VMFUNC caps */
- if (curcpu()->ci_vmm_cap.vcc_vmx.vmx_vm_func & 0x1) {
- vmx_dump_vmcs_field(VMCS_EPTP_LIST_ADDRESS,
- "EPTP List Addr");
- DPRINTF("\n");
- }
- }
-
if (vcpu_vmx_check_cap(vcpu, IA32_VMX_PROCBASED2_CTLS,
IA32_VMX_VMCS_SHADOWING, 1)) {
vmx_dump_vmcs_field(VMCS_VMREAD_BITMAP_ADDRESS,
-/* $OpenBSD: cpu.h,v 1.177 2024/09/26 13:18:25 dv Exp $ */
+/* $OpenBSD: cpu.h,v 1.178 2024/10/07 20:30:17 dv Exp $ */
/* $NetBSD: cpu.h,v 1.1 2003/04/26 18:39:39 fvdl Exp $ */
/*-
uint32_t vmx_vmxon_revision;
uint32_t vmx_msr_table_size;
uint32_t vmx_cr3_tgt_count;
- uint64_t vmx_vm_func;
uint8_t vmx_has_l1_flush_msr;
uint64_t vmx_invept_mode;
};