[][src]Trait acpi::handler::AcpiHandler

pub trait AcpiHandler {
    fn map_physical_region<T>(
        &mut self,
        physical_address: usize,
        size: usize
    ) -> PhysicalMapping<T>;
fn unmap_physical_region<T>(&mut self, region: PhysicalMapping<T>); }

An implementation of this trait must be provided to allow acpi to access platform-specific functionality, such as mapping regions of physical memory. You are free to implement these however you please, as long as they conform to the documentation of each function.

Required methods

fn map_physical_region<T>(
    &mut self,
    physical_address: usize,
    size: usize
) -> PhysicalMapping<T>

Given a starting physical address and a size, map a region of physical memory that contains a T (but may be bigger than size_of::<T>()). The address doesn't have to be page-aligned, so the implementation may have to add padding to either end. The given size must be greater or equal to the size of a T. The virtual address the memory is mapped to does not matter, as long as it is accessible from acpi.

fn unmap_physical_region<T>(&mut self, region: PhysicalMapping<T>)

Unmap the given physical mapping. Safe because we consume the mapping, and so it can't be used after being passed to this function.

Loading content...

Implementors

Loading content...