From 16d6b94c4650f53e074a5c46f294f147e721d946 Mon Sep 17 00:00:00 2001 From: fslongjin Date: Mon, 18 Jul 2022 21:19:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86usb=E7=9A=84=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E4=BA=A4=E7=94=B1init=E8=BF=9B=E7=A8=8B=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 ++- kernel/main.c | 3 ++- kernel/process/process.c | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index de89f68f..97f00e33 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -108,7 +108,8 @@ "ahci.h": "c", "slab.h": "c", "boot_info.h": "c", - "pci.h": "c" + "pci.h": "c", + "time.h": "c" }, "C_Cpp.errorSquiggles": "Enabled", "esbonio.sphinx.confDir": "" diff --git a/kernel/main.c b/kernel/main.c index 90402976..e3a6fe56 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -153,9 +153,10 @@ void system_initialize() // fat32_init(); HPET_enable(); - usb_init(); + // 系统初始化到此结束,剩下的初始化功能应当放在初始内核线程中执行 apic_timer_init(); + } //操作系统内核从这里开始执行 diff --git a/kernel/process/process.c b/kernel/process/process.c index df28cba0..89d9b767 100644 --- a/kernel/process/process.c +++ b/kernel/process/process.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -410,7 +411,10 @@ ul initial_kernel_thread(ul arg) // kinfo("initial proc running...\targ:%#018lx", arg); fat32_init(); + usb_init(); + + // 准备切换到用户态 struct pt_regs *regs; current_pcb->thread->rip = (ul)ret_from_system_call;