int sysc_wait(int ticks);
void kernel_task(char *name, void *entry, void *arg);
-
// 测试用的代码
// 这里存的是下标对应的每个扇区的最后2个字节
// hexdump -C HD.IMG | less 看的,如果镜像文件有变动需要更新这里
}
}
-
void init_task_entry() {
current->priority = 10;
inb(0x60);
#endif
-
#if 1
extern __attribute__((regparm(0))) long sysc_mkdir(const char *path, int mode);
sysc_mkdir("/root", 0777);
regs.ss = SELECTOR_KRNL_DS;
regs.fs = SELECTOR_KRNL_DS;
regs.gs = SELECTOR_KRNL_DS;
+#if 0
get_eflags(regs.eflags);
+#else
+ regs.eflags = 0x200;
+#endif
int pid = do_fork(®s, FORK_KRNL);
}
#endif
-
- sti();
+ // sti();
kernel_task("init", init_task_entry, NULL);
- schedule();
+ sti();
current->priority = 1;
while (1) {