diff --git a/arch/x64/arch-cpu.hh b/arch/x64/arch-cpu.hh index 687546e51fbd7170ba67e6178aac92e8dcf5e0df..692ec3b1f039166aaa031a24245a33b66de1aa4b 100644 --- a/arch/x64/arch-cpu.hh +++ b/arch/x64/arch-cpu.hh @@ -64,6 +64,8 @@ inline void arch_cpu::init_on_cpu() lgdt(desc_ptr(nr_gdt*8-1, reinterpret_cast<u64>(&gdt))); ltr(gdt_tss*8); idt.load_on_cpu(); + write_cr4(cr4_de | cr4_pse | cr4_pae | cr4_pge | cr4_osfxsr + | cr4_osxmmexcpt | cr4_fsgsbase | cr4_osxsave); } }