pub struct BasicRv64SystemInstructionHandler<Reg> { /* private fields */ }Expand description
Basic system instruction handler that does nothing on ebreak and returns an error on ecall.
Trait Implementations§
Source§impl<Reg: Clone> Clone for BasicRv64SystemInstructionHandler<Reg>
impl<Reg: Clone> Clone for BasicRv64SystemInstructionHandler<Reg>
Source§fn clone(&self) -> BasicRv64SystemInstructionHandler<Reg>
fn clone(&self) -> BasicRv64SystemInstructionHandler<Reg>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<Reg: Debug> Debug for BasicRv64SystemInstructionHandler<Reg>
impl<Reg: Debug> Debug for BasicRv64SystemInstructionHandler<Reg>
Source§impl<Reg> Default for BasicRv64SystemInstructionHandler<Reg>
impl<Reg> Default for BasicRv64SystemInstructionHandler<Reg>
Source§impl<Reg, Memory, PC, CustomError> Rv64SystemInstructionHandler<Reg, Memory, PC, CustomError> for BasicRv64SystemInstructionHandler<Rv64Instruction<Reg>>where
Reg: Register<Type = u64>,
[(); Reg::N]:,
Memory: VirtualMemory,
PC: ProgramCounter<Reg::Type, Memory, CustomError>,
CustomError: Display,
impl<Reg, Memory, PC, CustomError> Rv64SystemInstructionHandler<Reg, Memory, PC, CustomError> for BasicRv64SystemInstructionHandler<Rv64Instruction<Reg>>where
Reg: Register<Type = u64>,
[(); Reg::N]:,
Memory: VirtualMemory,
PC: ProgramCounter<Reg::Type, Memory, CustomError>,
CustomError: Display,
Source§fn handle_ecall(
&mut self,
_regs: &mut Registers<Reg>,
_memory: &mut Memory,
program_counter: &mut PC,
) -> Result<ControlFlow<()>, ExecutionError<Rv64Instruction<Reg>, CustomError>>
fn handle_ecall( &mut self, _regs: &mut Registers<Reg>, _memory: &mut Memory, program_counter: &mut PC, ) -> Result<ControlFlow<()>, ExecutionError<Rv64Instruction<Reg>, CustomError>>
Handle an
ecall instruction. Read moreSource§fn handle_ebreak(
&mut self,
_regs: &mut Registers<Reg>,
_memory: &mut Memory,
_pc: Reg::Type,
_instruction: Rv64Instruction<Reg>,
)
fn handle_ebreak( &mut self, _regs: &mut Registers<Reg>, _memory: &mut Memory, _pc: Reg::Type, _instruction: Rv64Instruction<Reg>, )
Handle an
ebreak instruction. Read moreimpl<Reg: Copy> Copy for BasicRv64SystemInstructionHandler<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for BasicRv64SystemInstructionHandler<Reg>
impl<Reg> RefUnwindSafe for BasicRv64SystemInstructionHandler<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for BasicRv64SystemInstructionHandler<Reg>where
Reg: Send,
impl<Reg> Sync for BasicRv64SystemInstructionHandler<Reg>where
Reg: Sync,
impl<Reg> Unpin for BasicRv64SystemInstructionHandler<Reg>where
Reg: Unpin,
impl<Reg> UnwindSafe for BasicRv64SystemInstructionHandler<Reg>where
Reg: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more