Lines Matching refs:seg
272 static int insert_memory_segment(struct memory_segment *seg) in insert_memory_segment() argument
276 if (seg->start + seg->size > VMEM_MAX_PHYS || in insert_memory_segment()
277 seg->start + seg->size < seg->start) in insert_memory_segment()
281 if (seg->start >= tmp->start + tmp->size) in insert_memory_segment()
283 if (seg->start + seg->size <= tmp->start) in insert_memory_segment()
287 list_add(&seg->list, &mem_segs); in insert_memory_segment()
294 static void remove_memory_segment(struct memory_segment *seg) in remove_memory_segment() argument
296 list_del(&seg->list); in remove_memory_segment()
299 static void __remove_shared_memory(struct memory_segment *seg) in __remove_shared_memory() argument
301 remove_memory_segment(seg); in __remove_shared_memory()
302 vmem_remove_range(seg->start, seg->size); in __remove_shared_memory()
307 struct memory_segment *seg; in vmem_remove_mapping() local
313 list_for_each_entry(seg, &mem_segs, list) { in vmem_remove_mapping()
314 if (seg->start == start && seg->size == size) in vmem_remove_mapping()
318 if (seg->start != start || seg->size != size) in vmem_remove_mapping()
322 __remove_shared_memory(seg); in vmem_remove_mapping()
323 kfree(seg); in vmem_remove_mapping()
331 struct memory_segment *seg; in vmem_add_mapping() local
336 seg = kzalloc(sizeof(*seg), GFP_KERNEL); in vmem_add_mapping()
337 if (!seg) in vmem_add_mapping()
339 seg->start = start; in vmem_add_mapping()
340 seg->size = size; in vmem_add_mapping()
342 ret = insert_memory_segment(seg); in vmem_add_mapping()
352 __remove_shared_memory(seg); in vmem_add_mapping()
354 kfree(seg); in vmem_add_mapping()
401 struct memory_segment *seg; in vmem_convert_memory_chunk() local
405 seg = kzalloc(sizeof(*seg), GFP_KERNEL); in vmem_convert_memory_chunk()
406 if (!seg) in vmem_convert_memory_chunk()
408 seg->start = reg->base; in vmem_convert_memory_chunk()
409 seg->size = reg->size; in vmem_convert_memory_chunk()
410 insert_memory_segment(seg); in vmem_convert_memory_chunk()