-/* $OpenBSD: vmm.c,v 1.339 2023/04/22 18:27:28 guenther Exp $ */
+/* $OpenBSD: vmm.c,v 1.340 2023/04/24 16:53:57 dv Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
vmx_setmsrbr(vcpu, MSR_MISC_ENABLE);
vmx_setmsrbr(vcpu, MSR_TSC);
+ /* If host supports CET, pass through access to the guest. */
+ if (rcr4() | CR4_CET)
+ vmx_setmsrbrw(vcpu, MSR_S_CET);
+
/* XXX CR0 shadow */
/* XXX CR4 shadow */
*rcx |= SEFF0ECX_PKU;
else
*rcx &= ~SEFF0ECX_PKU;
+
+ /* Expose IBT bit if we've enabled CET on the host. */
+ if (rcr4() | CR4_CET)
+ *rdx |= SEFF0EDX_IBT;
+ else
+ *rdx &= ~SEFF0EDX_IBT;
} else {
/* Unsupported subleaf */
DPRINTF("%s: function 0x07 (SEFF) unsupported subleaf "