async works!

This commit is contained in:
2025-02-23 19:27:13 +00:00
parent efe3034ad0
commit 7ff33659fe
9 changed files with 73 additions and 91 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ extern "x86-interrupt" fn double_fault_handler(
}
extern "x86-interrupt" fn keyboard_interrupt_handler(_stack_frame: InterruptStackFrame) {
use pc_keyboard::{layouts, HandleControl, Keyboard, ScancodeSet1};
use pc_keyboard::{HandleControl, Keyboard, ScancodeSet1, layouts};
// use pc_keyboard::DecodedKey;
use spin::Mutex;
use x86_64::instructions::port::Port;
+1 -1
View File
@@ -6,7 +6,7 @@ extern crate alloc;
use core::arch::asm;
use limine::BaseRevision;
use libk::alloc::init_heap;
use libk::kalloc::init_heap;
use libk::prelude::*;
use x86_64::VirtAddr;
+4 -3
View File
@@ -4,9 +4,10 @@
extern crate alloc;
use libk::{
io,
io::{self, keyboard},
prelude::*,
scheduling::task::{Executor, Task},
// scheduling::task::{Executor, Task},
};
#[unsafe(no_mangle)]
@@ -46,8 +47,8 @@ extern "C" fn kmain() -> ! {
);
let mut executor = Executor::new();
executor.spawn(Task::new(io::keyboard::print_keypresses()));
executor.try_run();
executor.spawn(Task::new(keyboard::print_keypresses()));
executor.run();
loop {}
}