Skip to main content

AxMmHal

Trait AxMmHal 

Source
pub trait AxMmHal {
    // Required methods
    fn alloc_frame() -> Option<HostPhysAddr>;
    fn dealloc_frame(paddr: HostPhysAddr);
    fn phys_to_virt(paddr: HostPhysAddr) -> HostVirtAddr;
    fn virt_to_phys(vaddr: HostVirtAddr) -> HostPhysAddr;
}
Expand description

Hardware abstraction layer for memory management.

Required Methods§

Source

fn alloc_frame() -> Option<HostPhysAddr>

Allocates a frame and returns its host physical address. The

§Returns
  • Option<HostPhysAddr> - Some containing the physical address of the allocated frame, or None if allocation fails.
Source

fn dealloc_frame(paddr: HostPhysAddr)

Deallocates a frame given its physical address.

§Parameters
  • paddr - The physical address of the frame to deallocate.
Source

fn phys_to_virt(paddr: HostPhysAddr) -> HostVirtAddr

Converts a host physical address to a host virtual address.

§Parameters
  • paddr - The physical address to convert.
§Returns
  • HostVirtAddr - The corresponding virtual address.
Source

fn virt_to_phys(vaddr: HostVirtAddr) -> HostPhysAddr

Converts a host virtual address to a host physical address.

§Parameters
  • vaddr - The virtual address to convert.
§Returns
  • HostPhysAddr - The corresponding physical address.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§