Home
last modified time | relevance | path

Searched refs:vma (Results 1 – 2 of 2) sorted by relevance

/DragonOS-0.1.8/kernel/src/mm/
Ducontext.rs162 for vma in self.mappings.vmas.iter() { in try_clone()
165 let vma_guard: SpinLockGuard<'_, VMA> = vma.lock(); in try_clone()
486 for vma in self.mappings.iter_vmas() { in unmap_all()
487 vma.unmap(&mut self.user_mapper.utable, &mut flusher); in unmap_all()
742 pub fn insert_vma(&mut self, vma: Arc<LockedVMA>) { in insert_vma()
743 let region = vma.lock().region.clone(); in insert_vma()
748 self.vmas.insert(vma); in insert_vma()
761 let vma: Arc<LockedVMA> = self in remove_vma() localVariable
763 .drain_filter(|vma| vma.lock().region == *region) in remove_vma()
767 return Some(vma); in remove_vma()
[all …]
/DragonOS-0.1.8/docs/kernel/memory_management/
Dmmio.md28 4. 创建VMA,并将VMA标记为`VM_IO|VM_DONTCOPY`。MMIO的vma只绑定在`initial_mm`下,且不会被拷贝。
31 一旦MMIO地址空间分配完成,它就像普通的vma一样,可以使用mmap系列函数进行操作。
188 | mmio_create(size,vm_flags,res_vaddr,res_length) | 创建一块根据size对齐后的大小的mmio区域,并将其vma绑定到initial_mm |