1#![doc = include_str!("../README.md")]
2#![cfg_attr(not(any(test, feature = "host-test")), no_std)]
3
4#[cfg(feature = "host-test")]
5extern crate std;
6
7mod area;
8mod error;
9mod identity;
10#[cfg(target_arch = "loongarch64")]
11pub mod loongarch64;
12mod pin;
13mod preempt;
14mod register;
15mod switch;
16mod symbol;
17mod thread;
18
19pub use area::*;
20pub use error::*;
21pub use identity::*;
22pub use pin::*;
23pub use preempt::*;
24pub use register::current_context;
25#[cfg(feature = "tls")]
26#[doc(hidden)]
27pub use register::install_kernel_tls;
28#[cfg(feature = "tls")]
29pub use register::kernel_tls;
30#[doc(hidden)]
31pub use register::{
32 current_context_unpinned, install_bootstrap_context, install_cpu_area,
33 is_permanent_boot_context,
34};
35pub use switch::{PreparedContextSwitch, PreviousContextBinding, prepare_context_switch};
36#[doc(hidden)]
37pub use symbol::{cpu_area_template_base, cpu_area_template_size};
38pub use thread::*;
39
40#[cfg(feature = "host-test")]
42#[doc(hidden)]
43pub mod host_test {
44 pub use crate::register::host_test::{
45 RegisterReadCounts, register_read_counts, reset_register_read_counts,
46 };
47}