pub struct RelaxedMmio<const SIZE: usize = 0>(/* private fields */);Expand description
Mmio wrapper using relaxed accessors.
This type provides an implementation of Io that uses relaxed I/O MMIO operands instead of
the regular ones.
See Mmio::relaxed for a usage example.
Trait Implementations§
Source§impl<const SIZE: usize> Io for RelaxedMmio<SIZE>
impl<const SIZE: usize> Io for RelaxedMmio<SIZE>
Source§fn io_addr<U>(&self, offset: usize) -> Result<usize>
fn io_addr<U>(&self, offset: usize) -> Result<usize>
Returns the absolute I/O address for a given
offset,
performing runtime bound checks.Source§fn try_read8(&self, offset: usize) -> Result<u8>
fn try_read8(&self, offset: usize) -> Result<u8>
Fallible 8-bit read with runtime bounds check.
Source§fn try_read16(&self, offset: usize) -> Result<u16>
fn try_read16(&self, offset: usize) -> Result<u16>
Fallible 16-bit read with runtime bounds check.
Source§fn try_read32(&self, offset: usize) -> Result<u32>
fn try_read32(&self, offset: usize) -> Result<u32>
Fallible 32-bit read with runtime bounds check.
Source§fn try_read64(&self, offset: usize) -> Result<u64>
fn try_read64(&self, offset: usize) -> Result<u64>
Fallible 64-bit read with runtime bounds check.
Source§fn try_write8(&self, value: u8, offset: usize) -> Result
fn try_write8(&self, value: u8, offset: usize) -> Result
Fallible 8-bit write with runtime bounds check.
Source§fn try_write16(&self, value: u16, offset: usize) -> Result
fn try_write16(&self, value: u16, offset: usize) -> Result
Fallible 16-bit write with runtime bounds check.
Source§fn try_write32(&self, value: u32, offset: usize) -> Result
fn try_write32(&self, value: u32, offset: usize) -> Result
Fallible 32-bit write with runtime bounds check.
Source§fn try_write64(&self, value: u64, offset: usize) -> Result
fn try_write64(&self, value: u64, offset: usize) -> Result
Fallible 64-bit write with runtime bounds check.
Source§fn write8(&self, value: u8, offset: usize)
fn write8(&self, value: u8, offset: usize)
Infallible 8-bit write with compile-time bounds check.
Source§fn write16(&self, value: u16, offset: usize)
fn write16(&self, value: u16, offset: usize)
Infallible 16-bit write with compile-time bounds check.
Source§fn write32(&self, value: u32, offset: usize)
fn write32(&self, value: u32, offset: usize)
Infallible 32-bit write with compile-time bounds check.
Source§fn write64(&self, value: u64, offset: usize)
fn write64(&self, value: u64, offset: usize)
Infallible 64-bit write with compile-time bounds check.
Source§fn try_read<T, L>(&self, location: L) -> Result<T>
fn try_read<T, L>(&self, location: L) -> Result<T>
Generic fallible read with runtime bounds check. Read more
Source§fn try_write<T, L>(&self, location: L, value: T) -> Result
fn try_write<T, L>(&self, location: L, value: T) -> Result
Generic fallible write with runtime bounds check. Read more
Source§fn try_write_reg<T, L, V>(&self, value: V) -> Result
fn try_write_reg<T, L, V>(&self, value: V) -> Result
Generic fallible write of a fully-located register value. Read more
Source§fn try_update<T, L, F>(&self, location: L, f: F) -> Result
fn try_update<T, L, F>(&self, location: L, f: F) -> Result
Generic fallible update with runtime bounds check. Read more
Source§fn read<T, L>(&self, location: L) -> T
fn read<T, L>(&self, location: L) -> T
Generic infallible read with compile-time bounds check. Read more
Source§fn write<T, L>(&self, location: L, value: T)
fn write<T, L>(&self, location: L, value: T)
Generic infallible write with compile-time bounds check. Read more
Source§fn write_reg<T, L, V>(&self, value: V)where
L: IoLoc<T>,
V: LocatedRegister<Location = L, Value = T>,
Self: IoKnownSize + IoCapable<L::IoType>,
fn write_reg<T, L, V>(&self, value: V)where
L: IoLoc<T>,
V: LocatedRegister<Location = L, Value = T>,
Self: IoKnownSize + IoCapable<L::IoType>,
Generic infallible write of a fully-located register value. Read more
Source§impl<const SIZE: usize> IoKnownSize for RelaxedMmio<SIZE>
impl<const SIZE: usize> IoKnownSize for RelaxedMmio<SIZE>
Auto Trait Implementations§
impl<const SIZE: usize> Freeze for RelaxedMmio<SIZE>
impl<const SIZE: usize> RefUnwindSafe for RelaxedMmio<SIZE>
impl<const SIZE: usize> Send for RelaxedMmio<SIZE>
impl<const SIZE: usize> Sync for RelaxedMmio<SIZE>
impl<const SIZE: usize> Unpin for RelaxedMmio<SIZE>
impl<const SIZE: usize> UnsafeUnpin for RelaxedMmio<SIZE>
impl<const SIZE: usize> UnwindSafe for RelaxedMmio<SIZE>
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
Source§impl<T> PinInit<T> for T
impl<T> PinInit<T> for T
Source§unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
Initializes
slot. Read more