Skip to main content

ax_percpu/
lib.rs

1#![cfg_attr(target_os = "none", no_std)]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![doc = include_str!("../README.md")]
4
5extern crate ax_percpu_macros;
6
7cfg_if::cfg_if! {
8    if #[cfg(feature = "sp-naive")] {
9        #[path = "naive.rs"]
10        mod imp;
11    } else if #[cfg(feature = "custom-base")] {
12        #[path = "custom/mod.rs"]
13        mod imp;
14    }else{
15        mod imp;
16    }
17}
18
19pub use ax_percpu_macros::def_percpu;
20
21pub use self::imp::*;
22
23#[doc(hidden)]
24pub mod __priv {
25    #[cfg(feature = "preempt")]
26    pub use ax_kernel_guard::NoPreempt as NoPreemptGuard;
27}
28
29cfg_if::cfg_if! {
30    if #[cfg(doc)] {
31        /// Example per-CPU data for documentation only.
32        #[cfg_attr(docsrs, doc(cfg(doc)))]
33        #[def_percpu]
34        pub static EXAMPLE_PERCPU_DATA: usize = 0;
35    }
36}