[fix][memheap] fix memheap warning
This commit is contained in:
parent
d1e7c32099
commit
ee5bc44d74
@ -117,18 +117,18 @@ static void blk_set_prev_used(mmheap_blk_t *blk)
|
||||
|
||||
static inline mmheap_blk_t *blk_from_ptr(const void *ptr)
|
||||
{
|
||||
return (mmheap_blk_t *)((uint32_t)ptr - MMHEAP_BLK_START_OFFSET);
|
||||
return (mmheap_blk_t *)((uint32_t)(uintptr_t)ptr - MMHEAP_BLK_START_OFFSET);
|
||||
}
|
||||
|
||||
static inline void *blk_to_ptr(const mmheap_blk_t *blk)
|
||||
{
|
||||
return (void *)((uint32_t)blk + MMHEAP_BLK_START_OFFSET);
|
||||
return (void *)((uint32_t)(uintptr_t)blk + MMHEAP_BLK_START_OFFSET);
|
||||
}
|
||||
|
||||
/* Return location of next block after block of given size. */
|
||||
static inline mmheap_blk_t *offset_to_blk(const void *ptr, int diff)
|
||||
{
|
||||
return (mmheap_blk_t *)((uint32_t)ptr + diff);
|
||||
return (mmheap_blk_t *)(uintptr_t)((uint32_t)(uintptr_t)ptr + diff);
|
||||
}
|
||||
|
||||
/* Return location of previous block. */
|
||||
@ -187,7 +187,7 @@ static inline size_t align_down(size_t x, size_t align)
|
||||
|
||||
static inline void *align_ptr(const void *ptr, size_t align)
|
||||
{
|
||||
return (void *)(((uint32_t)ptr + (align - 1)) & ~(align - 1));
|
||||
return (void *)(((uint32_t)(uintptr_t)ptr + (align - 1)) & ~(align - 1));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -610,15 +610,15 @@ void *mmheap_aligned_alloc(size_t size, size_t align)
|
||||
|
||||
ptr = blk_to_ptr(blk);
|
||||
aligned = align_ptr(ptr, align);
|
||||
gap = (size_t)((uint32_t)aligned - (uint32_t)ptr);
|
||||
gap = (size_t)((uint32_t)(uintptr_t)aligned - (uint32_t)(uintptr_t)ptr);
|
||||
|
||||
if (gap && gap < gap_minimum) {
|
||||
gap_remain = gap_minimum - gap;
|
||||
offset = gap_remain > align ? gap_remain : align;
|
||||
next_aligned = (void *)((uint32_t)aligned + offset);
|
||||
next_aligned = (void *)((uint32_t)(uintptr_t)aligned + offset);
|
||||
|
||||
aligned = align_ptr(next_aligned, align);
|
||||
gap = (size_t)((uint32_t)aligned - (uint32_t)ptr);
|
||||
gap = (size_t)((uint32_t)(uintptr_t)aligned - (uint32_t)(uintptr_t)ptr);
|
||||
}
|
||||
|
||||
if (gap) {
|
||||
@ -702,7 +702,7 @@ int mmheap_pool_add(void *pool_start, size_t pool_size)
|
||||
|
||||
size_aligned = align_down(pool_size - 2 * MMHEAP_BLK_HEADER_OVERHEAD, MMHEAP_ALIGN_SIZE);
|
||||
|
||||
if (((uint32_t)pool_start % MMHEAP_ALIGN_SIZE) != 0u) {
|
||||
if (((uint32_t)(uintptr_t)pool_start % MMHEAP_ALIGN_SIZE) != 0u) {
|
||||
return MEMHEAP_STATUS_INVALID_ADDR;
|
||||
}
|
||||
|
||||
@ -716,7 +716,7 @@ int mmheap_pool_add(void *pool_start, size_t pool_size)
|
||||
** so that the prev_phys_block field falls outside of the pool -
|
||||
** it will never be used.
|
||||
*/
|
||||
curr_blk = offset_to_blk(pool_start, -MMHEAP_BLK_HEADER_OVERHEAD);
|
||||
curr_blk = offset_to_blk(pool_start, -(int)MMHEAP_BLK_HEADER_OVERHEAD);
|
||||
blk_set_size(curr_blk, size_aligned);
|
||||
blk_set_free(curr_blk);
|
||||
blk_set_prev_used(curr_blk);
|
||||
@ -742,7 +742,7 @@ int mmheap_pool_rmv(void *pool_start)
|
||||
return MEMHEAP_STATUS_ALREADY_NOT_EXIST;
|
||||
}
|
||||
|
||||
blk = offset_to_blk(pool_start, -MMHEAP_BLK_HEADER_OVERHEAD);
|
||||
blk = offset_to_blk(pool_start, -(int)MMHEAP_BLK_HEADER_OVERHEAD);
|
||||
mapping_insert(blk_size(blk), &fl, &sl);
|
||||
remove_free_block(blk, fl, sl);
|
||||
|
||||
@ -756,7 +756,7 @@ int mmheap_pool_check(void *pool_start, mmheap_info_t *info)
|
||||
|
||||
memset(info, 0, sizeof(mmheap_info_t));
|
||||
|
||||
blk = offset_to_blk(pool_start, -MMHEAP_BLK_HEADER_OVERHEAD);
|
||||
blk = offset_to_blk(pool_start, -(int)MMHEAP_BLK_HEADER_OVERHEAD);
|
||||
|
||||
while (blk && !blk_is_last(blk)) {
|
||||
if (blk_is_free(blk)) {
|
||||
|
@ -100,7 +100,7 @@ typedef struct mmheap_blk_st {
|
||||
#define MMHEAP_BLK_SIZE_MAX (1 << MMHEAP_FL_INDEX_MAX)
|
||||
|
||||
#define MMHEAP_BLK_HEADER_OVERHEAD (sizeof(size_t))
|
||||
#define MMHEAP_BLK_START_OFFSET (((uint32_t) & (((mmheap_blk_t *)0)->size)) + sizeof(size_t))
|
||||
#define MMHEAP_BLK_START_OFFSET (((uint32_t)(uintptr_t) & (((mmheap_blk_t *)0)->size)) + sizeof(size_t))
|
||||
|
||||
#define MMHEAP_POOL_MAX 3
|
||||
|
||||
|
@ -86,7 +86,7 @@ void *ATTR_TCM_SECTION arch_memcpy_fast(void *pdst, const void *psrc, uint32_t n
|
||||
uint8_t *dst = (uint8_t *)pdst;
|
||||
uint8_t *src = (uint8_t *)psrc;
|
||||
|
||||
if (((uint32_t)dst & 0x3) == 0 && ((uint32_t)src & 0x3) == 0) {
|
||||
if (((uint32_t)(uintptr_t)dst & 0x3) == 0 && ((uint32_t)(uintptr_t)src & 0x3) == 0) {
|
||||
arch_memcpy4((uint32_t *)dst, (const uint32_t *)src, n >> 2);
|
||||
left = n % 4;
|
||||
done = n - left;
|
||||
|
Reference in New Issue
Block a user