diff --git a/src/drivers/timer/mod.rs b/src/drivers/timer/mod.rs index 3a154d6..f4e776d 100644 --- a/src/drivers/timer/mod.rs +++ b/src/drivers/timer/mod.rs @@ -1,6 +1,6 @@ use super::Driver; use crate::interrupts::{InterruptDescriptor, InterruptHandler}; -use crate::local_per_cpu; +use crate::per_cpu_private; use crate::sync::OnceLock; use alloc::{collections::binary_heap::BinaryHeap, sync::Arc}; use core::{ @@ -308,6 +308,6 @@ pub fn schedule_preempt(when: Instant) { static SYS_TIMER: OnceLock> = OnceLock::new(); -local_per_cpu! { +per_cpu_private! { static WAKEUP_Q: BinaryHeap = BinaryHeap::new; } diff --git a/src/sched/current.rs b/src/sched/current.rs index 3bbeedc..fb18afc 100644 --- a/src/sched/current.rs +++ b/src/sched/current.rs @@ -1,5 +1,5 @@ use crate::{ - local_per_cpu, + per_cpu_private, process::{Task, owned::OwnedTask}, }; use alloc::{boxed::Box, sync::Arc}; @@ -10,7 +10,7 @@ use core::{ ptr, }; -local_per_cpu! { +per_cpu_private! { pub(super) static CUR_TASK_PTR: CurrentTaskPtr = CurrentTaskPtr::new; } diff --git a/src/sched/mod.rs b/src/sched/mod.rs index 2018134..17987fe 100644 --- a/src/sched/mod.rs +++ b/src/sched/mod.rs @@ -5,7 +5,7 @@ use crate::kernel::cpu_id::CpuId; use crate::process::owned::OwnedTask; use crate::{ arch::Arch, - local_per_cpu, per_cpu, + per_cpu_private, per_cpu_shared, process::{TASK_LIST, TaskDescriptor, TaskState}, }; use alloc::{boxed::Box, collections::btree_map::BTreeMap, sync::Arc}; @@ -60,7 +60,7 @@ impl CpuStat { } } -per_cpu! { +per_cpu_shared! { pub static CPU_STAT: CpuStat = CpuStat::default; } @@ -68,7 +68,7 @@ pub fn get_cpu_stat(cpu_id: CpuId) -> CpuStat { CPU_STAT.get_by_cpu(cpu_id.value()).to_usize() } -local_per_cpu! { +per_cpu_private! { static SCHED_STATE: SchedState = SchedState::new; } @@ -199,7 +199,7 @@ impl SchedState { None } - local_per_cpu! { + per_cpu_private! { static LAST_UPDATE: Option = none; } diff --git a/src/sync/per_cpu.rs b/src/sync/per_cpu.rs index 17be873..0f575b8 100644 --- a/src/sync/per_cpu.rs +++ b/src/sync/per_cpu.rs @@ -1,7 +1,7 @@ /// A declarative macro to define a static `PerCpu` variable and register it /// for automatic initialization. #[macro_export] -macro_rules! per_cpu { +macro_rules! per_cpu_shared { ($vis:vis static $name:ident: $type:ty = $initializer:expr;) => { $vis static $name: libkernel::sync::per_cpu::PerCpu<$type, $crate::arch::ArchImpl> = libkernel::sync::per_cpu::PerCpu::new($initializer); @@ -19,7 +19,7 @@ macro_rules! per_cpu { /// Wraps with a [`RefCell`] for convenience #[macro_export] -macro_rules! local_per_cpu { +macro_rules! per_cpu_private { ($vis:vis static $name:ident: $type:ty = $initializer:expr;) => { $vis static $name: libkernel::sync::per_cpu::PerCpu< core::cell::RefCell<$type>,