Better user programs with a special std. Sleep and exit are calling scheduler instead of wfi.
This commit is contained in:
8
crates/os-std/Cargo.toml
Normal file
8
crates/os-std/Cargo.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "os-std"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
os-std-macros = { path = "../os-std-macros" }
|
||||
shared = { path = "../shared" }
|
||||
21
crates/os-std/src/lib.rs
Normal file
21
crates/os-std/src/lib.rs
Normal file
@@ -0,0 +1,21 @@
|
||||
#![no_std]
|
||||
|
||||
mod prelude;
|
||||
|
||||
pub use shared::syscall;
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! custom_std_setup {
|
||||
() => {
|
||||
#[panic_handler]
|
||||
fn panic(_panic_info: &core::panic::PanicInfo) -> ! {
|
||||
// TODO print
|
||||
loop {}
|
||||
}
|
||||
|
||||
#[unsafe(no_mangle)]
|
||||
pub extern "C" fn _start() {
|
||||
main()
|
||||
}
|
||||
};
|
||||
}
|
||||
1
crates/os-std/src/prelude.rs
Normal file
1
crates/os-std/src/prelude.rs
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
Reference in New Issue
Block a user