pub struct Vm {
phys: PhysAllocator,
pages: Vec<Arc<VmPage>>,
stats: [VmStats; 2],
pagers: [Weak<Proc>; 2],
pages_deficit: [AtomicUsize; 2],
}Expand description
Implementation of Virtual Memory system.
Fields§
§phys: PhysAllocator§pages: Vec<Arc<VmPage>>§stats: [VmStats; 2]§pagers: [Weak<Proc>; 2]§pages_deficit: [AtomicUsize; 2]Implementations§
Source§impl Vm
impl Vm
Sourcepub fn new(
phys_avail: [u64; 61],
ma: Option<&MemAffinity>,
dmem: &Dmem,
) -> Result<Arc<Self>, VmError>
pub fn new( phys_avail: [u64; 61], ma: Option<&MemAffinity>, dmem: &Dmem, ) -> Result<Arc<Self>, VmError>
Sourcefn free_page(&self, page: &Arc<VmPage>, order: usize)
fn free_page(&self, page: &Arc<VmPage>, order: usize)
page must not have active lock on any fields.
See vm_phys_free_pages on the Orbis for a reference.
§Reference offsets
| Version | Offset |
|---|---|
| PS4 11.00 | 0x15FCB0 |
Sourcefn spawn_pagers(&mut self)
fn spawn_pagers(&mut self)
See kick_pagedaemons on the Orbis for a reference.
§Reference offsets
| Version | Offset |
|---|---|
| PS4 11.00 | 0x3E0E40 |
Sourcefn wake_pager(&self, _: usize)
fn wake_pager(&self, _: usize)
See pagedaemon_wakeup on the Orbis for a reference.
§Reference offsets
| Version | Offset |
|---|---|
| PS4 11.00 | 0x3E0690 |
Auto Trait Implementations§
impl !Freeze for Vm
impl !RefUnwindSafe for Vm
impl Send for Vm
impl Sync for Vm
impl Unpin for Vm
impl !UnwindSafe for Vm
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