Line data Source code
1 1 : /** 2 : * @file mm/model_allocator.h 3 : * 4 : * @brief Memory management functions for simulation models 5 : * 6 : * Memory management functions for simulation models 7 : * 8 : * SPDX-FileCopyrightText: 2008-2021 HPDCS Group <rootsim@googlegroups.com> 9 : * SPDX-License-Identifier: GPL-3.0-only 10 : */ 11 : #pragma once 12 : 13 : #include <datatypes/array.h> 14 : #include <mm/buddy/buddy.h> 15 : 16 0 : extern void model_allocator_lp_init(void); 17 0 : extern void model_allocator_lp_fini(void); 18 0 : extern void model_allocator_checkpoint_take(array_count_t ref_i); 19 0 : extern void model_allocator_checkpoint_next_force_full(void); 20 0 : extern array_count_t model_allocator_checkpoint_restore(array_count_t ref_i); 21 0 : extern array_count_t model_allocator_fossil_lp_collect(array_count_t tgt_ref_i); 22 : 23 0 : extern void __write_mem(void *ptr, size_t siz); 24 : 25 0 : extern void *malloc_mt(size_t req_size); 26 0 : extern void *calloc_mt(size_t nmemb, size_t req_size); 27 0 : extern void free_mt(void *ptr); 28 0 : extern void *realloc_mt(void *ptr, size_t req_size);