Wrote stack unwinder. NEEDTO: fix NoUnwindInfo

Probably incorrect PC was set.
This commit is contained in:
2025-03-05 22:21:38 +00:00
parent 8ee4af1a48
commit b26dc6de01
15 changed files with 435 additions and 175 deletions
+13 -4
View File
@@ -2,11 +2,10 @@
#![no_main]
extern crate alloc;
use foundry_os::arch::x86_64::drivers::ascii::screensize_chars;
use foundry_os::arch::x86_64::drivers::framebuffer::display::screensize_px;
use foundry_os::arch::x86_64::processing::async_io::task::{Executor, Task};
use foundry_os::prelude::*;
use foundry_os::util::shell::shell;
use foundry_os::{println, println_log};
#[unsafe(no_mangle)]
extern "C" fn kmain() -> ! {
@@ -16,14 +15,24 @@ extern "C" fn kmain() -> ! {
}
println_log!(" [ Kernel Initialised Successfully ] ");
// println!("TESTING :: Allocation");
// let somevec = vec![0; 1_000_000];
// println!("{:?}", somevec);
// println!("{}", somevec.len());
// println!("PASSED!");
test1();
let mut executor = Executor::new();
executor.spawn(Task::new(shell()));
executor.run()
}
fn test1() {
test2()
}
fn test2() {
panic!("Test");
}