Home
last modified time | relevance | path

Searched refs:anon_vma (Results 1 – 6 of 6) sorted by relevance

/DragonOS-0.1.2/kernel/src/mm/
Dvma.c184 struct anon_vma_t *anon_vma = (struct anon_vma_t *)kmalloc(sizeof(struct anon_vma_t), 0); in __anon_vma_create_alloc() local
185 if (unlikely(anon_vma == NULL)) in __anon_vma_create_alloc()
187 memset(anon_vma, 0, sizeof(struct anon_vma_t)); in __anon_vma_create_alloc()
189 list_init(&anon_vma->vma_list); in __anon_vma_create_alloc()
190 semaphore_init(&anon_vma->sem, 1); in __anon_vma_create_alloc()
199 page->anon_vma = anon_vma; in __anon_vma_create_alloc()
203 page->anon_vma = anon_vma; in __anon_vma_create_alloc()
205 anon_vma->page = page; in __anon_vma_create_alloc()
207 return anon_vma; in __anon_vma_create_alloc()
217 int __anon_vma_add(struct anon_vma_t *anon_vma, struct vm_area_struct *vma) in __anon_vma_add() argument
[all …]
Dinternal.h51 int __anon_vma_free(struct anon_vma_t *anon_vma);
60 int __anon_vma_add(struct anon_vma_t *anon_vma, struct vm_area_struct *vma);
Dmm-types.h108 struct anon_vma_t *anon_vma; // 本页对应的anon_vma member
130 struct anon_vma_t * anon_vma; // 属于的anon_vma member
Dmmap.c372 if (unlikely(vma->anon_vma == NULL || vma->anon_vma->page == NULL)) in mm_map_vma()
375 pg = vma->anon_vma->page; in mm_map_vma()
380 if (unlikely(pg->anon_vma == NULL)) // 若页面不存在anon_vma,则为页面创建anon_vma in mm_map_vma()
383 if (unlikely(pg->anon_vma == NULL)) in mm_map_vma()
389 __anon_vma_add(pg->anon_vma, vma); in mm_map_vma()
521 struct anon_vma_t *anon = vma->anon_vma; in mm_unmap_vma()
567 if (vma->anon_vma != NULL) in mm_unmap()
Dmm.c277 page->anon_vma = NULL; in page_init()
/DragonOS-0.1.2/docs/kernel/memory_management/
Dmmio.md37   该函数会对MMIO的VMA的映射做出特殊处理。即:创建`Page`结构体以及对应的`anon_vma`. 然后会将对应的物理地址,填写到页表之中。