pub struct VmAddressRegion { /* private fields */ }
Expand description

Virtual Memory Address Regions

Implementations

Create a new root VMAR.

Create a kernel root VMAR.

Create a child VMAR at the offset.

Create a child VMAR with optional offset.

Map the vmo into this VMAR at given offset.

Map the vmo into this VMAR.

Map the vmo into this VMAR.

Unmaps all VMO mappings and destroys all sub-regions within the absolute range including addr and ending before exclusively at addr + len. Any sub-region that is in the range must be fully in the range (i.e. partial overlaps are an error). If a mapping is only partially in the range, the mapping is split and the requested portion is unmapped.

Change protections on a subset of the region of memory in the containing address space. If the requested range overlaps with a subregion, protect() will fail.

Unmap all mappings within the VMAR, and destroy all sub-regions of the region.

Unmap all mappings and destroy all sub-regions of VMAR.

Get physical address of the underlying page table.

Get start address of this VMAR.

Whether this VMAR is dead.

Whether this VMAR is alive.

Get flags of vaddr

return true if vmar contains vaddr, or return false.

Get information of this VmAddressRegion

Get VmarFlags of this VMAR.

Dump all mappings recursively.

Get base address of vdso.

Handle page fault happened on this VMAR.

The fault virtual address is vaddr and the reason is in flags.

Clone the entire address space and VMOs from source VMAR. (For Linux fork)

Returns statistics about memory used by a task.

Read from address space.

Return the actual number of bytes read.

Write to address space.

Return the actual number of bytes written.

Find mapping of vaddr

Trait Implementations

Formats the value using the given formatter. Read more

Get object’s KoID.

Get the name of the type of the kernel object.

Get object’s name.

Set object’s name.

Get the signal status.

Assert signal.

Deassert signal.

Change signal status: first clear then set indicated bits. Read more

Add callback for signal status changes. Read more

Attempt to find a child of the object with given KoID. Read more

Attempt to get the object’s peer. Read more

If the object is related to another (such as the other end of a channel, or the parent of a job), returns the KoID of that object, otherwise returns zero. Read more

Get object’s allowed signals.

Create VMObject from all LOAD segments of elf and map them to this VMAR. Return the first VMObject. Read more

Same as load_from_elf, but the vmo is an existing one instead of a lot of new ones.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Casts the value.

Casts the value.

Casts the value.

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.