Struct kernel::object::memory_object::MemoryObject
source · pub struct MemoryObject {
pub id: KernelObjectId,
pub owner: KernelObjectId,
pub virtual_address: Option<VAddr>,
pub physical_address: PAddr,
pub size: usize,
pub flags: Flags,
}
Fields§
§id: KernelObjectId
§owner: KernelObjectId
§virtual_address: Option<VAddr>
The virtual address to map this MemoryObject at. If this is None
, the mapping task can choose to map it
at any virtual address it chooses.
physical_address: PAddr
§size: usize
Size of this MemoryObject in bytes.
flags: Flags
Implementations§
source§impl MemoryObject
impl MemoryObject
pub fn new( owner: KernelObjectId, virtual_address: Option<VAddr>, physical_address: PAddr, size: usize, flags: Flags ) -> Arc<MemoryObject>
pub fn from_boot_info( owner: KernelObjectId, segment: &Segment ) -> Arc<MemoryObject>
Trait Implementations§
source§impl KernelObject for MemoryObject
impl KernelObject for MemoryObject
fn id(&self) -> KernelObjectId
Auto Trait Implementations§
impl RefUnwindSafe for MemoryObject
impl Send for MemoryObject
impl Sync for MemoryObject
impl Unpin for MemoryObject
impl UnwindSafe for MemoryObject
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can then be
further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<dyn Any>
. Rc<dyn Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Anydyn Any
. This is needed since Rust cannot
generate &Anydyn Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Anydyn Any
. This is needed since Rust cannot
generate &mut dyn Any
’s vtable from &mut Trait
’s.