pub struct HalImpl;
Implementations§
Trait Implementations§
Source§impl Hal for HalImpl
impl Hal for HalImpl
Source§fn dma_alloc(
pages: usize,
_direction: BufferDirection,
) -> (PhysAddr, NonNull<u8>)
fn dma_alloc( pages: usize, _direction: BufferDirection, ) -> (PhysAddr, NonNull<u8>)
Allocates and zeroes the given number of contiguous physical pages of DMA memory for VirtIO
use. Read more
Source§unsafe fn dma_dealloc(paddr: PhysAddr, _vaddr: NonNull<u8>, pages: usize) -> i32
unsafe fn dma_dealloc(paddr: PhysAddr, _vaddr: NonNull<u8>, pages: usize) -> i32
Deallocates the given contiguous physical DMA memory pages. Read more
Source§unsafe fn mmio_phys_to_virt(_paddr: PhysAddr, _size: usize) -> NonNull<u8>
unsafe fn mmio_phys_to_virt(_paddr: PhysAddr, _size: usize) -> NonNull<u8>
Converts a physical address used for MMIO to a virtual address which the driver can access. Read more
Shares the given memory range with the device, and returns the physical address that the
device can use to access it. Read more
Unshares the given memory range from the device and (if necessary) copies it back to the
original buffer. Read more