pub struct DmiHart<'a, D> { /* private fields */ }Expand description
A DMI debugger with specific hart selected.
Implementations§
Source§impl<D: Dmi> DmiHart<'_, D>
impl<D: Dmi> DmiHart<'_, D>
Sourcepub fn set_dmcontrol(&mut self, value: u32) -> Result<()>
pub fn set_dmcontrol(&mut self, value: u32) -> Result<()>
Write to dmcontrol without affecting hart selection.
Sourcepub fn set_halt_request(&mut self, active: bool) -> Result<()>
pub fn set_halt_request(&mut self, active: bool) -> Result<()>
Set the halt request bit.
Sourcepub fn set_resume_request(&mut self, active: bool) -> Result<()>
pub fn set_resume_request(&mut self, active: bool) -> Result<()>
Set the resume request bit.
Sourcepub fn wait_resume(&mut self) -> Result<()>
pub fn wait_resume(&mut self) -> Result<()>
Wait for the hart to resume.
Methods from Deref<Target = DmiDebugger<D>>§
Sourcepub fn hartsel_mask(&mut self) -> Result<u32>
pub fn hartsel_mask(&mut self) -> Result<u32>
Obtain bits valid in hartsel as a bitmask.
Sourcepub fn select_hart(&mut self, hartid: u32) -> Result<DmiHart<'_, D>>
pub fn select_hart(&mut self, hartid: u32) -> Result<DmiHart<'_, D>>
Selects a hart to debug.
Trait Implementations§
Auto Trait Implementations§
impl<'a, D> Freeze for DmiHart<'a, D>
impl<'a, D> RefUnwindSafe for DmiHart<'a, D>where
D: RefUnwindSafe,
impl<'a, D> Send for DmiHart<'a, D>where
D: Send,
impl<'a, D> Sync for DmiHart<'a, D>where
D: Sync,
impl<'a, D> Unpin for DmiHart<'a, D>
impl<'a, D> !UnwindSafe for DmiHart<'a, D>
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
§impl<R> Rng for Rwhere
R: TryRng<Error = Infallible> + ?Sized,
impl<R> Rng for Rwhere
R: TryRng<Error = Infallible> + ?Sized,
§impl<R> TryRng for R
impl<R> TryRng for R
§type Error = <<R as Deref>::Target as TryRng>::Error
type Error = <<R as Deref>::Target as TryRng>::Error
The type returned in the event of a RNG error. Read more
§fn try_next_u32(&mut self) -> Result<u32, <R as TryRng>::Error>
fn try_next_u32(&mut self) -> Result<u32, <R as TryRng>::Error>
Return the next random
u32.§fn try_next_u64(&mut self) -> Result<u64, <R as TryRng>::Error>
fn try_next_u64(&mut self) -> Result<u64, <R as TryRng>::Error>
Return the next random
u64.§fn try_fill_bytes(&mut self, dst: &mut [u8]) -> Result<(), <R as TryRng>::Error>
fn try_fill_bytes(&mut self, dst: &mut [u8]) -> Result<(), <R as TryRng>::Error>
Fill
dst entirely with random data.