working apic interrupts

This commit is contained in:
Zoe
2024-01-23 00:18:33 -06:00
parent 7b5f42f76a
commit 00037311c6
15 changed files with 378 additions and 69 deletions

View File

@@ -1,6 +1,6 @@
use alloc::{borrow::ToOwned, format, string::String, vec::Vec};
use alloc::{borrow::ToOwned, string::String, vec::Vec};
use crate::drivers::{fs::vfs::VfsFileSystem, serial::write_serial};
use crate::drivers::fs::vfs::VfsFileSystem;
#[repr(C)]
#[derive(Clone, Copy, Debug)]
@@ -20,6 +20,13 @@ pub fn print_stack_trace(max_frames: usize, rbp: u64) {
let instruction_pointer = unsafe { (*stackframe).rip };
if instruction_pointer == 0x0 {
unsafe {
stackframe = (*stackframe).back;
};
continue;
}
crate::print!(" {:#X} ", instruction_pointer);
let instrcution_info = get_function_name(instruction_pointer);