Trait virtio_drivers::Hal
source · [−]pub trait Hal {
fn dma_alloc(pages: usize) -> PhysAddr;
fn dma_dealloc(paddr: PhysAddr, pages: usize) -> i32;
fn phys_to_virt(paddr: PhysAddr) -> VirtAddr;
fn virt_to_phys(vaddr: VirtAddr) -> PhysAddr;
}Expand description
The interface which a particular hardware implementation must implement.
Required Methods
Allocates the given number of contiguous physical pages of DMA memory for virtio use.
sourcefn dma_dealloc(paddr: PhysAddr, pages: usize) -> i32
fn dma_dealloc(paddr: PhysAddr, pages: usize) -> i32
Deallocates the given contiguous physical DMA memory pages.
sourcefn phys_to_virt(paddr: PhysAddr) -> VirtAddr
fn phys_to_virt(paddr: PhysAddr) -> VirtAddr
Converts a physical address used for virtio to a virtual address which the program can access.
sourcefn virt_to_phys(vaddr: VirtAddr) -> PhysAddr
fn virt_to_phys(vaddr: VirtAddr) -> PhysAddr
Converts a virtual address which the program can access to the corresponding physical address to use for virtio.