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;
8#[cfg(any(target_arch = "x86_64", target_arch = "riscv64"))]
9mod cpu_entry;
10mod error;
11mod identity;
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#[doc(hidden)]
26pub use register::current_cpu_index;
27#[cfg(kernel_tls)]
28#[doc(hidden)]
29pub use register::install_kernel_tls;
30#[cfg(kernel_tls)]
31pub use register::kernel_tls;
32#[doc(hidden)]
33pub use register::{
34 current_context_unpinned, install_bootstrap_context, install_cpu_area,
35 is_permanent_boot_context,
36};
37pub use switch::{PreparedContextSwitch, PreviousContextBinding, prepare_context_switch};
38#[doc(hidden)]
39pub use symbol::{cpu_area_template_base, cpu_area_template_size};
40pub use thread::*;
41
42#[cfg(feature = "host-test")]
44#[doc(hidden)]
45pub mod host_test {
46 pub use crate::register::host_test::{
47 RegisterReadCounts, register_read_counts, reset_register_read_counts,
48 };
49}