fix: load x87 fpu default settings
[lunaix-os.git] / lunaix-os / kernel / k_init.c
index fc6c51cc221c129bac5ae880ab4f3dc8c9638180..ce4ac6aab8d44585c04e04a0e219da3283e68741 100644 (file)
@@ -78,6 +78,8 @@ _kernel_init()
     fsm_init();
     input_init();
 
+    vfs_export_attributes();
+
     if ((errno = vfs_mount_root("ramfs", NULL))) {
         panickf("Fail to mount root. (errno=%d)", errno);
     }
@@ -162,6 +164,11 @@ spawn_proc0()
                  : "i"(KSTACK_TOP), "i"(KCODE_SEG), "r"(proc0->intr_ctx.eip)
                  : "%ebx", "memory");
 
+    // 加载x87默认配置
+    asm volatile("fninit\n"
+                 "fxsave (%%eax)" ::"a"(proc0->fxstate)
+                 : "memory");
+
     // 向调度器注册进程。
     commit_process(proc0);