Skip to main content

TrapStorageProvider

Trait TrapStorageProvider 

Source
pub unsafe trait TrapStorageProvider {
    // Required method
    fn take() -> TrapStorage;
}
Expand description

Supplies descriptor storage once for each initialized CPU.

§Safety

Returned objects must be initialized, uniquely owned by the current CPU, pinned, and mapped until CPU shutdown. The stack must be exclusive to that CPU and large enough for its double-fault diagnostic path. Repeated calls must fail before handing out an already installed object. In userspace builds the provider must export __CPU_LOCAL_TSS_OFFSET, the absolute offset of this same TSS from the kernel GS base, for pre-stack entry code.

Required Methods§

Source

fn take() -> TrapStorage

Transfers this CPU’s fresh storage to its descriptor initialization.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§