aboutsummaryrefslogtreecommitdiff
path: root/kernel/drivers/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/cpu.c')
-rw-r--r--kernel/drivers/cpu.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/drivers/cpu.c b/kernel/drivers/cpu.c
index 5d53bef..296e73a 100644
--- a/kernel/drivers/cpu.c
+++ b/kernel/drivers/cpu.c
@@ -179,12 +179,14 @@ CLEAR void cpu_enable_features(void)
void clac(void)
{
- __asm__ volatile("clac" ::: "cc");
+ if (cpu_extended_features.ebx & CPUID_EXT_FEAT_EBX_SMAP)
+ __asm__ volatile("clac" ::: "cc");
}
void stac(void)
{
- __asm__ volatile("stac" ::: "cc");
+ if (cpu_extended_features.ebx & CPUID_EXT_FEAT_EBX_SMAP)
+ __asm__ volatile("stac" ::: "cc");
}
CLEAR void cli(void)