[−][src]Struct riscv_sandbox::machine::simtx::Machine
The SIMT-X machine. To handle pthread
or omp
system calls, we detect them
using plt information, and emulate them.
Methods
impl Machine
[src]
pub fn new(
tpw: usize,
nb_warps: usize,
plt_addresses: HashMap<i32, String>
) -> Machine
[src]
tpw: usize,
nb_warps: usize,
plt_addresses: HashMap<i32, String>
) -> Machine
pub fn print_stats(&self)
[src]
Trait Implementations
impl IntegerMachine for Machine
[src]
type IntegerType = i32
fn cycle(&mut self, mem: &mut dyn Memory)
[src]
fn get_i_register(&self, id: usize) -> i32
[src]
fn set_i_register(&mut self, _id: usize, _value: i32)
[src]
fn get_pc(&self) -> i32
[src]
fn set_pc(&mut self, value: i32)
[src]
fn get_privilege(&self) -> u8
[src]
fn set_privilege(&mut self, _value: u8)
[src]
fn get_csr_field(&self, _field: CsrField) -> i32
[src]
fn set_csr_field(&mut self, _field: CsrField, _value: i32)
[src]
fn finished(&self) -> bool
[src]
fn get_csr(&self, id: CsrId) -> Option<Self::IntegerType>
[src]
fn set_csr(&mut self, id: CsrId, value: Self::IntegerType) -> Option<()>
[src]
fn raise_exception(
&mut self,
is_interrupt: bool,
code: i32,
info: Self::IntegerType,
pc: Self::IntegerType
)
[src]
&mut self,
is_interrupt: bool,
code: i32,
info: Self::IntegerType,
pc: Self::IntegerType
)
Auto Trait Implementations
impl Send for Machine
impl Sync for Machine
impl Unpin for Machine
impl UnwindSafe for Machine
impl RefUnwindSafe for Machine
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
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> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,