diff options
author | Christian Cunningham <cc@localhost> | 2022-08-26 19:49:13 -0700 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-08-26 19:49:13 -0700 |
commit | 2b61ad947c64d76875311e6af08c87a5592055b3 (patch) | |
tree | 81b8ce619cb78986ec8bec13177c05b477ccb6e6 /src/kernel.rs | |
parent | a04cf2dbb8d2e890405fbf0a1022aaad3015b1e8 (diff) |
SpinLocks
Diffstat (limited to 'src/kernel.rs')
-rw-r--r-- | src/kernel.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/kernel.rs b/src/kernel.rs index 8c7ab58..4017b5a 100644 --- a/src/kernel.rs +++ b/src/kernel.rs @@ -26,6 +26,8 @@ mod util; use crate::lib::console::console; use crate::util::mem::alloc::allocator; use crate::util::mem::{format, Box, String}; +use core::sync::atomic::AtomicBool; +use core::sync::atomic::Ordering; /// # Initialization Code /// @@ -48,6 +50,7 @@ unsafe fn kernel_init() -> ! { util::mem::mmu_init(); console().init().unwrap(); allocator().init().unwrap(); + INITIALIZED_BOOL.store(true, Ordering::Release); kernel_main() } @@ -133,10 +136,13 @@ fn run_verbose() { #[no_mangle] /// # SVC Handler -pub fn svc_handler(code: u32) { +pub fn svc(code: u32) { match code { _ => { serial_println!("Unhandled Service Call!"); } } } + +/// # Static for other cores +pub static INITIALIZED_BOOL: AtomicBool = AtomicBool::new(false); |