summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/os/mlsetup.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/i86pc/os/mlsetup.c')
-rw-r--r--usr/src/uts/i86pc/os/mlsetup.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/src/uts/i86pc/os/mlsetup.c b/usr/src/uts/i86pc/os/mlsetup.c
index 105c5c3363..0fd3ec3dfb 100644
--- a/usr/src/uts/i86pc/os/mlsetup.c
+++ b/usr/src/uts/i86pc/os/mlsetup.c
@@ -267,8 +267,14 @@ mlsetup(struct regs *rp)
if (is_x86_feature(x86_featureset, X86FSET_TSCP))
(void) wrmsr(MSR_AMD_TSCAUX, 0);
+ /*
+ * Let's get the other %cr4 stuff while we're here.
+ */
if (is_x86_feature(x86_featureset, X86FSET_DE))
setcr4(getcr4() | CR4_DE);
+
+ if (is_x86_feature(x86_featureset, X86FSET_SMEP))
+ setcr4(getcr4() | CR4_SMEP);
#endif /* __xpv */
/*