Lines Matching refs:seg
308 static int insert_memory_segment(struct memory_segment *seg) in insert_memory_segment() argument
312 if (seg->start + seg->size > VMEM_MAX_PHYS || in insert_memory_segment()
313 seg->start + seg->size < seg->start) in insert_memory_segment()
317 if (seg->start >= tmp->start + tmp->size) in insert_memory_segment()
319 if (seg->start + seg->size <= tmp->start) in insert_memory_segment()
323 list_add(&seg->list, &mem_segs); in insert_memory_segment()
330 static void remove_memory_segment(struct memory_segment *seg) in remove_memory_segment() argument
332 list_del(&seg->list); in remove_memory_segment()
335 static void __remove_shared_memory(struct memory_segment *seg) in __remove_shared_memory() argument
337 remove_memory_segment(seg); in __remove_shared_memory()
338 vmem_remove_range(seg->start, seg->size); in __remove_shared_memory()
343 struct memory_segment *seg; in vmem_remove_mapping() local
349 list_for_each_entry(seg, &mem_segs, list) { in vmem_remove_mapping()
350 if (seg->start == start && seg->size == size) in vmem_remove_mapping()
354 if (seg->start != start || seg->size != size) in vmem_remove_mapping()
358 __remove_shared_memory(seg); in vmem_remove_mapping()
359 kfree(seg); in vmem_remove_mapping()
367 struct memory_segment *seg; in vmem_add_mapping() local
372 seg = kzalloc(sizeof(*seg), GFP_KERNEL); in vmem_add_mapping()
373 if (!seg) in vmem_add_mapping()
375 seg->start = start; in vmem_add_mapping()
376 seg->size = size; in vmem_add_mapping()
378 ret = insert_memory_segment(seg); in vmem_add_mapping()
388 __remove_shared_memory(seg); in vmem_add_mapping()
390 kfree(seg); in vmem_add_mapping()
433 struct memory_segment *seg; in vmem_convert_memory_chunk() local
437 seg = kzalloc(sizeof(*seg), GFP_KERNEL); in vmem_convert_memory_chunk()
438 if (!seg) in vmem_convert_memory_chunk()
440 seg->start = reg->base; in vmem_convert_memory_chunk()
441 seg->size = reg->size; in vmem_convert_memory_chunk()
442 insert_memory_segment(seg); in vmem_convert_memory_chunk()