pub struct BusPort {
offset: Address,
address_mask: Address,
data_width: u8,
subdevice: Rc<RefCell<Bus>>,
}
Expand description
An adapter for limiting the access requests of a device (eg. CPU) on a Bus
to the address
and data widths of the device
Fields§
§offset: Address
§address_mask: Address
§data_width: u8
§subdevice: Rc<RefCell<Bus>>
Implementations§
Trait Implementations§
source§impl Addressable for BusPort
impl Addressable for BusPort
fn size(&self) -> usize
fn read( &mut self, clock: Instant, addr: Address, data: &mut [u8] ) -> Result<(), Error>
fn write( &mut self, clock: Instant, addr: Address, data: &[u8] ) -> Result<(), Error>
fn read_u8(&mut self, clock: Instant, addr: Address) -> Result<u8, Error>
fn read_beu16(&mut self, clock: Instant, addr: Address) -> Result<u16, Error>
fn read_leu16(&mut self, clock: Instant, addr: Address) -> Result<u16, Error>
fn read_beu32(&mut self, clock: Instant, addr: Address) -> Result<u32, Error>
fn read_leu32(&mut self, clock: Instant, addr: Address) -> Result<u32, Error>
fn write_u8( &mut self, clock: Instant, addr: Address, value: u8 ) -> Result<(), Error>
fn write_beu16( &mut self, clock: Instant, addr: Address, value: u16 ) -> Result<(), Error>
fn write_leu16( &mut self, clock: Instant, addr: Address, value: u16 ) -> Result<(), Error>
fn write_beu32( &mut self, clock: Instant, addr: Address, value: u32 ) -> Result<(), Error>
fn write_leu32( &mut self, clock: Instant, addr: Address, value: u32 ) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for BusPort
impl !RefUnwindSafe for BusPort
impl !Send for BusPort
impl !Sync for BusPort
impl Unpin for BusPort
impl !UnwindSafe for BusPort
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, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
source§fn into_address(self) -> T
fn into_address(self) -> T
Translate the given address into an address of type
T