Files
RedBear-OS/src/percpu.rs
T
2024-01-17 13:52:01 -07:00

18 lines
662 B
Rust

use crate::{context::switch::ContextSwitchPercpu, LogicalCpuId};
/// The percpu block, that stored all percpu variables.
pub struct PercpuBlock {
/// A unique immutable number that identifies the current CPU - used for scheduling
pub cpu_id: LogicalCpuId,
/// Context management
pub switch_internals: ContextSwitchPercpu,
// TODO: Put mailbox queues here, e.g. for TLB shootdown? Just be sure to 128-byte align it
// first to avoid cache invalidation.
#[cfg(feature = "profiling")]
pub profiling: Option<&'static crate::profiling::RingBuffer>,
}
// PercpuBlock::current() is implemented somewhere in the arch-specific modules