#[repr(C)]
pub struct TrapContext { user_register: [usize; 32], user_sstatus: Sstatus, user_sepc: usize, kernel_stack: usize, kernel_satp: usize, }
Expand description

The TrapContext struct is used to save and restore the context of a thread when an exception or interrupt occurs. It contains the values of all the general-purpose registers of the thread, the sstatus register, the sepc register, the address of the kernel stack, and the satp register value that refers to the kernel page table.

Fields§

§user_register: [usize; 32]§user_sstatus: Sstatus§user_sepc: usize§kernel_stack: usize§kernel_satp: usize

Implementations§

source§

impl TrapContext

source

pub fn user_status(&self) -> Sstatus

source

pub fn set_user_status(&mut self, user_sstatus: Sstatus)

source

pub fn user_sepc(&self) -> usize

source

pub fn set_user_sepc(&mut self, user_sepc: usize)

source

pub fn user_register(&self, index: usize) -> usize

source

pub fn set_user_register(&mut self, index: usize, value: usize)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.