sel4_shared_memory/
lib.rs

1//
2// Copyright 2024, Colias Group, LLC
3//
4// SPDX-License-Identifier: MIT OR Apache-2.0
5//
6
7#![no_std]
8#![cfg_attr(feature = "atomics", feature(cfg_target_has_atomic_equal_alignment))]
9#![cfg_attr(feature = "atomics", feature(core_intrinsics))]
10#![cfg_attr(feature = "atomics", allow(internal_features))]
11
12use sel4_abstract_ptr::{AbstractPtr, AbstractRef, access::ReadWrite, memory_type::MemoryType};
13
14pub use sel4_abstract_ptr::{access, map_field};
15
16mod ops;
17
18#[cfg(feature = "atomics")]
19mod atomic_ops;
20
21#[cfg(feature = "atomics")]
22pub use atomic_ops::Atomic;
23
24pub struct SharedMemory(());
25
26impl MemoryType for SharedMemory {}
27
28pub type SharedMemoryRef<'a, T, A = ReadWrite> = AbstractRef<'a, SharedMemory, T, A>;
29pub type SharedMemoryPtr<'a, T, A = ReadWrite> = AbstractPtr<'a, SharedMemory, T, A>;