use super::InterruptType; use crate::io::qemu; use core::fmt::Write; use x86_64::structures::idt::{InterruptStackFrame, PageFaultErrorCode}; use x86_64::structures::port; pub extern "x86-interrupt" fn timer_handler(stack_frame: &mut InterruptStackFrame) { write!(crate::io::vga_text::OStream::new(), "Timer"); if let Some(apic) = unsafe { super::apic::get_local_apic() } { apic.end_of_interrupt() } } pub extern "x86-interrupt" fn keyboard_handler(stack_frame: &mut InterruptStackFrame) { let code: u8 = unsafe { port::PortRead::read_from_port(0x60) }; write!(crate::io::vga_text::OStream::new(), "{}", code); if let Some(apic) = unsafe { super::apic::get_local_apic() } { apic.end_of_interrupt() } }