Second Extended Filesystem (ext2) and other improvements (#33)
[lunaix-os.git] / lunaix-os / kernel / lunad.c
index 1f2fb957742567471129e50ccad33319d36f716a..d9e138f3aa9db1f525d57d335ecc128a6f2e8203 100644 (file)
@@ -41,8 +41,10 @@ int
 exec_initd()
 {
     int errno = 0;
+    const char* argv[] = { "/mnt/lunaix-os/usr/bin/init", 0 };
+    const char* envp[] = { 0 };
 
-    if ((errno = exec_kexecve("/mnt/lunaix-os/usr/bin/init", NULL, NULL))) {
+    if ((errno = exec_kexecve(argv[0], argv, envp))) {
         goto fail;
     }
 
@@ -56,7 +58,7 @@ fail:
 static void
 lunad_do_usr() {
     // No, these are not preemptive
-    cpu_disable_interrupt();
+    no_preemption();
 
     if (!mount_bootmedium() || !exec_initd()) {
         fail("failed to initd");
@@ -87,11 +89,11 @@ lunad_main()
         thread (which is preemptive!)
     */
 
-    cpu_enable_interrupt();
+    set_preemption();
     while (1)
     {
         cleanup_detached_threads();
-        sched_pass();
+        yield_current();
     }
 }