[][src]Struct sunrise_bootstrap::gdt::i386::TssStruct

#[repr(C, packed)]pub struct TssStruct {
    _reserved1: u16,
    link: u16,
    esp0: u32,
    _reserved2: u16,
    ss0: u16,
    esp1: u32,
    _reserved3: u16,
    ss1: u16,
    esp2: u32,
    _reserved4: u16,
    ss2: u16,
    cr3: u32,
    eip: u32,
    eflags: u32,
    eax: u32,
    ecx: u32,
    edx: u32,
    ebx: u32,
    esp: u32,
    ebp: u32,
    esi: u32,
    edi: u32,
    _reserved5: u16,
    es: u16,
    _reserved6: u16,
    cs: u16,
    _reserved7: u16,
    ss: u16,
    _reserved8: u16,
    ds: u16,
    _reserved9: u16,
    fs: u16,
    _reserveda: u16,
    gs: u16,
    _reservedb: u16,
    ldt_selector: u16,
    iopboffset: u16,
    _reservedc: u16,
}

The Task State Segment (TSS) is a special data structure for x86 processors which holds information about a task. The TSS is primarily suited for hardware multitasking, where each individual process has its own TSS. (see OSDEV)

Fields

_reserved1: u16link: u16esp0: u32_reserved2: u16ss0: u16esp1: u32_reserved3: u16ss1: u16esp2: u32_reserved4: u16ss2: u16cr3: u32eip: u32eflags: u32eax: u32ecx: u32edx: u32ebx: u32esp: u32ebp: u32esi: u32edi: u32_reserved5: u16es: u16_reserved6: u16cs: u16_reserved7: u16ss: u16_reserved8: u16ds: u16_reserved9: u16fs: u16_reserveda: u16gs: u16_reservedb: u16ldt_selector: u16iopboffset: u16_reservedc: u16

Implementations

impl TssStruct[src]

pub fn new(
    cr3: u32,
    sp0: (SegmentSelector, usize),
    sp1: (SegmentSelector, usize),
    sp2: (SegmentSelector, usize),
    ldt: SegmentSelector
) -> TssStruct
[src]

Trait Implementations

impl Clone for TssStruct[src]

impl Copy for TssStruct[src]

impl Debug for TssStruct[src]

impl Default for TssStruct[src]

Auto Trait Implementations

impl RefUnwindSafe for TssStruct

impl Send for TssStruct

impl Sync for TssStruct

impl Unpin for TssStruct

impl UnwindSafe for TssStruct

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.