You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2021/07/04 21:53:54 UTC
[incubator-nuttx] 02/05: arch/sim: Remove host_malloc and
host_calloc
This is an automated email from the ASF dual-hosted git repository.
acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit f240b2e63182eaab3e50166478235824081a423f
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Jun 27 02:43:04 2021 +0800
arch/sim: Remove host_malloc and host_calloc
use host_realloc instead
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
arch/sim/src/sim/up_heap.c | 19 ++++++++++---------
arch/sim/src/sim/up_hostmemory.c | 30 ++++++++++--------------------
arch/sim/src/sim/up_internal.h | 5 ++---
3 files changed, 22 insertions(+), 32 deletions(-)
diff --git a/arch/sim/src/sim/up_heap.c b/arch/sim/src/sim/up_heap.c
index 5d3da3e..1963952 100644
--- a/arch/sim/src/sim/up_heap.c
+++ b/arch/sim/src/sim/up_heap.c
@@ -144,7 +144,7 @@ void mm_initialize(FAR struct mm_heap_s *heap, FAR const char *name,
{
FAR struct mm_heap_impl_s *impl;
- impl = host_malloc(sizeof(struct mm_heap_impl_s));
+ impl = host_memalign(sizeof(FAR void *), sizeof(*impl));
DEBUGASSERT(impl);
memset(impl, 0, sizeof(struct mm_heap_impl_s));
@@ -194,10 +194,7 @@ void mm_addregion(FAR struct mm_heap_s *heap, FAR void *heapstart,
FAR void *mm_malloc(FAR struct mm_heap_s *heap, size_t size)
{
- /* Firstly, free mm_delaylist */
-
- mm_free_delaylist(heap);
- return host_malloc(size);
+ return mm_realloc(heap, NULL, size);
}
/****************************************************************************
@@ -236,8 +233,6 @@ FAR void mm_free(FAR struct mm_heap_s *heap, FAR void *mem)
{
host_free(mem);
}
-
- return;
}
/****************************************************************************
@@ -280,8 +275,14 @@ FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
FAR void *mm_calloc(FAR struct mm_heap_s *heap, size_t n, size_t elem_size)
{
- mm_free_delaylist(heap);
- return host_calloc(n, elem_size);
+ size_t size = n * elem_size;
+
+ if (size < elem_size)
+ {
+ return NULL;
+ }
+
+ return mm_zalloc(heap, size);
}
/****************************************************************************
diff --git a/arch/sim/src/sim/up_hostmemory.c b/arch/sim/src/sim/up_hostmemory.c
index 03537be..88bc3d1 100644
--- a/arch/sim/src/sim/up_hostmemory.c
+++ b/arch/sim/src/sim/up_hostmemory.c
@@ -118,26 +118,6 @@ void host_free_shmem(void *mem)
munmap(mem, 0);
}
-void *host_malloc(size_t size)
-{
- return malloc(size);
-}
-
-void host_free(void *mem)
-{
- free(mem);
-}
-
-void *host_realloc(void *oldmem, size_t size)
-{
- return realloc(oldmem, size);
-}
-
-void *host_calloc(size_t n, size_t elem_size)
-{
- return calloc(n , elem_size);
-}
-
void *host_memalign(size_t alignment, size_t size)
{
void *p;
@@ -151,3 +131,13 @@ void *host_memalign(size_t alignment, size_t size)
return p;
}
+
+void host_free(void *mem)
+{
+ free(mem);
+}
+
+void *host_realloc(void *oldmem, size_t size)
+{
+ return realloc(oldmem, size);
+}
diff --git a/arch/sim/src/sim/up_internal.h b/arch/sim/src/sim/up_internal.h
index 43dbede..4ad4d0f 100644
--- a/arch/sim/src/sim/up_internal.h
+++ b/arch/sim/src/sim/up_internal.h
@@ -143,11 +143,10 @@ void host_abort(int status);
void *host_alloc_heap(size_t sz);
void *host_alloc_shmem(const char *name, size_t size, int master);
void host_free_shmem(void *mem);
-void *host_malloc(size_t size);
+
+void *host_memalign(size_t alignment, size_t size);
void host_free(void *mem);
void *host_realloc(void *oldmem, size_t size);
-void *host_calloc(size_t n, size_t elem_size);
-void *host_memalign(size_t alignment, size_t size);
/* up_hosttime.c ************************************************************/