aboutsummaryrefslogtreecommitdiffstats
path: root/src/framework/mem/dmm_memory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/framework/mem/dmm_memory.h')
-rw-r--r--src/framework/mem/dmm_memory.h55
1 files changed, 50 insertions, 5 deletions
diff --git a/src/framework/mem/dmm_memory.h b/src/framework/mem/dmm_memory.h
index 2fac118..b304fb8 100644
--- a/src/framework/mem/dmm_memory.h
+++ b/src/framework/mem/dmm_memory.h
@@ -19,16 +19,41 @@
#include <stdarg.h>
#include "dmm_share.h"
#include "dmm_segment.h"
+#include "dmm_ring.h"
-int dmm_mem_main_init ();
-int dmm_mem_main_exit ();
-
-int dmm_mem_app_init ();
-int dmm_mem_app_exit ();
+#define DMM_MEMORY_MODULE "DMM_MEMORY_MODULE"
extern struct dmm_segment *main_seg;
extern struct dmm_segment *base_seg;
+inline static void
+dmm_lock_map ()
+{
+ dmm_seg_lock (base_seg);
+}
+
+inline static void
+dmm_unlock_map ()
+{
+ dmm_seg_unlock (base_seg);
+}
+
+inline static int
+dmm_unmap (void *mem)
+{
+ return dmm_mem_unmap (base_seg, mem);
+}
+
+inline static void *
+dmm_locked_map (size_t size, const char name[DMM_MEM_NAME_SIZE])
+{
+ void *mem;
+ dmm_lock_map ();
+ mem = dmm_mem_map (base_seg, size, name);
+ dmm_unlock_map ();
+ return mem;
+}
+
inline static void *
dmm_map (size_t size, const char name[DMM_MEM_NAME_SIZE])
{
@@ -75,4 +100,24 @@ dmm_lookupv (const char *name_fmt, ...)
return dmm_mem_lookup (base_seg, name);
}
+int dmm_mem_main_init ();
+int dmm_mem_main_exit ();
+int dmm_mem_app_init ();
+int dmm_mem_app_exit ();
+
+struct dmm_ring *dmm_create_ring (int num, int flag,
+ const char name[DMM_MEM_NAME_SIZE]);
+
+struct dmm_ring *dmm_attach_ring (const char name[DMM_MEM_NAME_SIZE]);
+
+struct dmm_ring *dmm_malloc_ring (int num, int flag);
+
+struct dmm_ring *dmm_create_pool (size_t elt_size, int num, int flag,
+ const char name[DMM_MEM_NAME_SIZE]);
+
+struct dmm_ring *dmm_attach_pool (const char name[DMM_MEM_NAME_SIZE]);
+
+/* allocate pool from heap */
+struct dmm_ring *dmm_malloc_pool (size_t elt_size, int num, int flag);
+
#endif /* _DMM_MEMORY_H_ */