2022-01-22 06:01:16 +00:00
|
|
|
// #![allow(clippy::print_literal)]
|
2022-08-01 11:09:05 +00:00
|
|
|
use super::{gdt, interrupts};
|
2022-07-31 10:22:39 +00:00
|
|
|
use crate::{logger, serial_println, TERM};
|
2022-01-17 01:42:11 +00:00
|
|
|
|
2022-01-22 06:01:16 +00:00
|
|
|
/// x86_64 initialization
|
2021-11-16 06:09:27 +00:00
|
|
|
pub fn init() {
|
2022-07-31 06:54:01 +00:00
|
|
|
// use crate::{network::socket::SimpleSock, relib::network::socket::Socket};
|
2022-03-11 19:51:47 +00:00
|
|
|
|
2022-07-31 06:54:01 +00:00
|
|
|
// let mut log_socket_id = SimpleSock::new();
|
|
|
|
// log_socket_id.register_protocol("Logger".to_string());
|
2022-03-11 19:51:47 +00:00
|
|
|
|
2022-01-17 01:42:11 +00:00
|
|
|
let result = logger::init();
|
|
|
|
match result {
|
2022-03-11 21:14:35 +00:00
|
|
|
Ok(_) => {
|
2022-07-31 06:54:01 +00:00
|
|
|
info!("Logger initialized");
|
2022-03-11 21:14:35 +00:00
|
|
|
}
|
2022-07-31 06:54:01 +00:00
|
|
|
Err(err) => serial_println!("{}", err),
|
2022-01-17 01:42:11 +00:00
|
|
|
}
|
2022-04-11 22:23:11 +00:00
|
|
|
|
2022-07-31 10:22:39 +00:00
|
|
|
let mut term = TERM.lock();
|
|
|
|
// term.initialize();
|
|
|
|
term.set_dirty(true);
|
|
|
|
term.draw_term();
|
|
|
|
drop(term);
|
|
|
|
|
2021-11-28 20:50:14 +00:00
|
|
|
gdt::init();
|
2022-01-27 01:43:03 +00:00
|
|
|
|
2021-11-28 20:50:14 +00:00
|
|
|
interrupts::init_idt();
|
|
|
|
unsafe { interrupts::PICS.lock().initialize() };
|
|
|
|
x86_64::instructions::interrupts::enable();
|
2021-11-16 06:09:27 +00:00
|
|
|
}
|