mirror of
https://github.com/panpaul/tiny_os
synced 2024-09-20 01:35:19 +08:00
chore: entry: store N_CPUS
This commit is contained in:
parent
5d5c18592f
commit
32e21b3468
@ -4,16 +4,21 @@ use crate::plat::timer::{Timer, TimerOps};
|
||||
use crate::plat::trap::{Trap, TrapOps};
|
||||
use crate::scheduler::SCHEDULER;
|
||||
use core::cell::Cell;
|
||||
use core::sync::atomic::{AtomicUsize, Ordering};
|
||||
use fdt::Fdt;
|
||||
use log::{debug, error, info, warn};
|
||||
|
||||
#[thread_local]
|
||||
pub static HART_ID: Cell<usize> = Cell::new(0);
|
||||
|
||||
pub static N_CPUS: AtomicUsize = AtomicUsize::new(1);
|
||||
|
||||
pub fn rust_main() -> ! {
|
||||
let fdt_addr = crate::arch::FDT.load(core::sync::atomic::Ordering::Acquire);
|
||||
let fdt_addr = crate::arch::FDT.load(Ordering::Acquire);
|
||||
let fdt = unsafe { Fdt::from_ptr(fdt_addr).unwrap() };
|
||||
|
||||
N_CPUS.store(fdt.cpus().count(), Ordering::Release);
|
||||
|
||||
setup_console(&fdt);
|
||||
info!("Kernel Started");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user