Searched refs:vma (Results 1 – 2 of 2) sorted by relevance
162 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() localVariable763 .drain_filter(|vma| vma.lock().region == *region) in remove_vma()767 return Some(vma); in remove_vma()[all …]
28 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 |