x86 0.8.0

Library to program x86 (amd64) hardware. Contains x86 specific data structure descriptions, data-tables, as well as convenience function to call assembly instructions typically not exposed in higher level languages.

Struct x86::bits64::task::TaskStateSegment [] [src]

pub struct TaskStateSegment {
    pub reserved: u32,
    pub rsp: [u64; 3],
    pub reserved2: u64,
    pub ist: [u64; 7],
    pub reserved3: u64,
    pub reserved4: u16,
    pub iomap_base: u16,

In 64-bit mode the TSS holds information that is not directly related to the task-switch mechanism, but is used for finding kernel level stack if interrupts arrive while in kernel mode.


reserved: u32 rsp: [u64; 3]

The full 64-bit canonical forms of the stack pointers (RSP) for privilege levels 0-2.

reserved2: u64 ist: [u64; 7]

The full 64-bit canonical forms of the interrupt stack table (IST) pointers.

reserved3: u64 reserved4: u16 iomap_base: u16

The 16-bit offset to the I/O permission bit map from the 64-bit TSS base.


impl TaskStateSegment

const fn new() -> TaskStateSegment

Trait Implementations

impl Debug for TaskStateSegment

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.