pub struct VirtIOHal;Expand description
virtio-drivers 0.12.0 库使用的 HAL 实现
Implementations§
Trait Implementations§
Source§impl Hal for VirtIOHal
impl Hal for VirtIOHal
Source§fn dma_alloc(
pages: usize,
_direction: BufferDirection,
) -> (PhysAddr, NonNull<u8>)
fn dma_alloc( pages: usize, _direction: BufferDirection, ) -> (PhysAddr, NonNull<u8>)
分配并清零指定数量的连续物理页用于DMA
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
释放之前分配的DMA内存
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>
将MMIO物理地址转换为虚拟地址
共享内存区域给设备,并返回设备可访问的物理地址
取消共享内存区域,并在必要时将数据复制回原始缓冲区