Skip to main content

MmioRaw

Struct MmioRaw 

Source
pub struct MmioRaw<T: ?Sized> { /* private fields */ }
Expand description

Raw representation of an MMIO region.

MmioRaw<T> is equivalent to T __iomem * in C.

By itself, the existence of an instance of this structure does not provide any guarantees that the represented MMIO region does exist or is properly mapped.

Instead, the bus specific MMIO implementation must convert this raw representation into an Mmio instance providing the actual memory accessors. Only by the conversion into an Mmio structure any guarantees are given.

Implementations§

Source§

impl<T> MmioRaw<T>

Source

pub fn new(addr: usize) -> Self

Create a MmioRaw from address.

Source§

impl<const SIZE: usize> MmioRaw<Region<SIZE>>

Source

pub fn new_region(addr: usize, size: usize) -> Result<Self>

Create a MmioRaw representing a I/O region with given size.

The size is checked against the minimum size specified via const generics.

Source§

impl<T: ?Sized + KnownSize> MmioRaw<T>

Source

pub fn addr(&self) -> usize

Returns the base address of the MMIO region.

Source

pub fn size(&self) -> usize

Returns the size of the MMIO region.

Trait Implementations§

Source§

impl<T: ?Sized> Clone for MmioRaw<T>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: ?Sized> Copy for MmioRaw<T>

Source§

impl<T: ?Sized> Send for MmioRaw<T>

Source§

impl<T: ?Sized> Sync for MmioRaw<T>

Auto Trait Implementations§

§

impl<T> Freeze for MmioRaw<T>
where T: ?Sized,

§

impl<T> RefUnwindSafe for MmioRaw<T>
where T: RefUnwindSafe + ?Sized,

§

impl<T> Unpin for MmioRaw<T>
where T: ?Sized,

§

impl<T> UnsafeUnpin for MmioRaw<T>
where T: ?Sized,

§

impl<T> UnwindSafe for MmioRaw<T>
where T: RefUnwindSafe + ?Sized,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Init<T> for T

Source§

unsafe fn __init(self, slot: *mut T) -> Result<(), Infallible>

Initializes slot. Read more
Source§

fn chain<F>(self, f: F) -> ChainInit<Self, F, T, E>
where F: FnOnce(&mut T) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

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

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> KnownSize for T

Source§

const MIN_SIZE: usize = const MIN_SIZE: usize = size_of::<T>();

Minimum size of this type known at compile-time.
Source§

const MIN_ALIGN: Alignment = const MIN_ALIGN: Alignment = Alignment::of::<T>();

Minimum alignment of this type known at compile-time.
Source§

fn size(_: *const T) -> usize

Get the size of an object of this type in bytes, with the metadata of the given pointer.
Source§

impl<T> PinInit<T> for T

Source§

unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>

Initializes slot. Read more
Source§

fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>
where F: FnOnce(Pin<&mut T>) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U, const N: u32> TryIntoBounded<T, N> for U
where T: Integer, U: TryInto<T>,

Source§

fn try_into_bounded(self) -> Option<Bounded<T, N>>

Attempts to convert self into a Bounded using N bits. Read more