[−][src]Struct sunrise_libkern::TLS
Thread Local Storage region.
The kernel allocates one for every thread, and makes a register point (indirectly) to it so that the userspace can access it at any time.
- x86_32: Stored at
fs:0x00..fs:0x200
. - x86_64: Stored at
gs:0x00..gs:0x200
.
Fields
ptr_self: *mut TLS
Pointer pointing to this TLS region (i.e pointing to itself). Set by the kernel.
x86 uses the segmentation for accessing the TLS, and it has no way to translate fs:0x0
to an address in the flat segmentation model that every other segment uses.
This pointer serves as a translation.
_reserved0: [u8; 8]
reserved or unknown.
ipc_command_buffer: IpcBuffer
Buffer used for IPC. Kernel reads, interprets, and copies data from/to it.
_reserved1: [u8; 232]
reserved or unknown.
ptr_thread_context: usize
User controlled pointer to thread context. Not observed by the kernel.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,