diff --git a/Kernel/Arch/i386/CPU.cpp b/Kernel/Arch/i386/CPU.cpp index a83beac00a..24bf137685 100644 --- a/Kernel/Arch/i386/CPU.cpp +++ b/Kernel/Arch/i386/CPU.cpp @@ -971,6 +971,8 @@ UNMAP_AFTER_INIT void Processor::cpu_detect() set_feature(CPUFeature::PGE); if (processor_info.edx() & (1 << 23)) set_feature(CPUFeature::MMX); + if (processor_info.edx() & (1 << 24)) + set_feature(CPUFeature::FXSR); if (processor_info.edx() & (1 << 25)) set_feature(CPUFeature::SSE); if (processor_info.edx() & (1 << 26)) @@ -1137,6 +1139,8 @@ String Processor::features_string() const return "syscall"; case CPUFeature::MMX: return "mmx"; + case CPUFeature::FXSR: + return "fxsr"; case CPUFeature::SSE2: return "sse2"; case CPUFeature::SSE3: diff --git a/Kernel/Arch/x86/CPU.h b/Kernel/Arch/x86/CPU.h index d17e1ffb23..c1baf2478c 100644 --- a/Kernel/Arch/x86/CPU.h +++ b/Kernel/Arch/x86/CPU.h @@ -548,6 +548,7 @@ enum class CPUFeature : u32 { SSE4_2 = (1 << 20), XSAVE = (1 << 21), AVX = (1 << 22), + FXSR = (1 << 23), }; class Thread;