From 2ec3859da7e9822da0b3bfe36ab811eb86f624e5 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Sun, 16 Jun 2024 23:36:42 +0800 Subject: [PATCH] feat: entry: done --- kernel/src/entry.rs | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/kernel/src/entry.rs b/kernel/src/entry.rs index 5c8e70c..a59ea57 100644 --- a/kernel/src/entry.rs +++ b/kernel/src/entry.rs @@ -3,6 +3,7 @@ use crate::plat::console::{set_console, ConsoleDevice, ConsoleDriver, CONSOLE}; use crate::plat::lowlevel::{Hardware, LowLevel}; use crate::plat::timer::{Timer, TimerOps}; use crate::plat::trap::{Trap, TrapOps}; +use crate::root::setup_root_server; use crate::scheduler::{IDLE_THREAD, SCHEDULER}; use core::cell::Cell; use core::sync::atomic::{AtomicUsize, Ordering}; @@ -31,33 +32,16 @@ pub fn rust_main() -> ! { crate::test_main(); } - // TODO: setup and start scheduler - - // --- some dummy tests --- - Trap::init(); Timer::init(); SCHEDULER.init(); SCHEDULER.add(&IDLE_THREAD); + setup_root_server(&fdt); + SCHEDULER.schedule(); - loop { - let data = CONSOLE.lock().try_read(); - match data { - Some(ch) => { - debug!("Key: {}", ch as char); - if ch == b'q' { - break; - } - }, - None => continue, - } - } - - // --- end --- - error!("[rust_main] Should not reach here! Maybe scheduler is not working?"); Hardware::shutdown(true); }