Modules§
Structs§
- The type we store SFT raw pointer as. It basically just double word sized atomic integer. This type provides an abstraction so we can access SFT easily.
Traits§
- SFTMap manages the SFT table, and mapping between addresses with indices in the table. The trait allows us to have multiple implementations of the SFT table.
Functions§
Type Aliases§
- We store raw pointer as a double word using atomics. We use portable_atomic. It provides non locking atomic operations where possible, and use a locking operation as the fallback. Rust only provides AtomicU128 for some platforms, and do not provide the type on x86_64-linux, as some earlier x86_64 CPUs do not have 128 bits atomic instructions. The crate portable_atomic works around the problem with a runtime detection to see if 128 bits atomic instructions are available.
- The raw pointer for SFT. We expect a space to provide this to SFT map.