Skip to content

Commit bd2f06e

Browse files
committed
[MM] Fixup MM
1. Fixup some LOG_D args. 2. Stop installing page when `rt_aspace_map_phy` fail. Signed-off-by: GuEe-GUI <2991707448@qq.com>
1 parent 2fb53c8 commit bd2f06e

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

components/mm/mm_aspace.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,7 @@ static rt_varea_t _varea_create(void *start, rt_size_t size)
641641
}
642642

643643
#define _IS_OVERFLOW(start, length) ((length) > (0ul - (uintptr_t)(start)))
644-
#define _IS_OVERSIZE(start, length, limit_s, limit_sz) (((length) + (rt_size_t)((char *)(start) - (char *)(limit_start))) > (limit_size))
644+
#define _IS_OVERSIZE(start, length, limit_s, limit_sz) (((length) + (rt_size_t)((char *)(start) - (char *)(limit_s))) > (limit_sz))
645645

646646
static inline int _not_in_range(rt_size_t flags, void *start, rt_size_t length,
647647
void *limit_start, rt_size_t limit_size)

components/mm/mm_memblock.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,14 @@ static rt_err_t _memblock_add_range(struct rt_memblock *memblock,
162162
rt_err_t rt_memblock_add_memory(const char *name, rt_size_t start, rt_size_t end, mmblk_flag_t flags)
163163
{
164164
LOG_D("add physical address range [0x%.*lx-0x%.*lx) with flag 0x%x" \
165-
" to overall memory regions\n", MIN_BIT, base, MIN_BIT, base + size, flag);
165+
" to overall memory regions", MIN_BIT, start, MIN_BIT, end, flags);
166166

167167
return _memblock_add_range(&mmblk_memory, name, start, end, flags);
168168
}
169169

170170
rt_err_t rt_memblock_reserve_memory(const char *name, rt_size_t start, rt_size_t end, mmblk_flag_t flags)
171171
{
172-
LOG_D("add physical address range %s [0x%.*lx-0x%.*lx) to reserved memory regions\n",
172+
LOG_D("add physical address range %s [0x%.*lx-0x%.*lx) to reserved memory regions",
173173
name, MIN_BIT, start, MIN_BIT, end);
174174

175175
return _memblock_add_range(&mmblk_reserved, name, start, end, flags);
@@ -389,7 +389,10 @@ void rt_memblock_setup_memory_environment(void)
389389
.map_size = reg.end - reg.start,
390390
.prefer = (void *)reg.start};
391391

392-
rt_aspace_map_phy(&rt_kernel_space, &hint, MMU_MAP_K_RWCB, (reg.start + PV_OFFSET) >> MM_PAGE_SHIFT, &err);
392+
if (rt_aspace_map_phy(&rt_kernel_space, &hint, MMU_MAP_K_RWCB,
393+
(reg.start + PV_OFFSET) >> MM_PAGE_SHIFT, &err))
394+
continue;
395+
393396
rt_page_install(reg);
394397
mem += reg.end - reg.start;
395398
}

components/mm/mm_page.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1168,7 +1168,7 @@ void rt_page_init(rt_region_t reg)
11681168
shadow.start = reg.start & ~shadow_mask;
11691169
shadow.end = CEIL(reg.end, shadow_mask + 1);
11701170
LOG_D("[Init page] start: 0x%lx, end: 0x%lx, total: 0x%lx", reg.start,
1171-
reg.end, page_nr);
1171+
reg.end, ((reg.end - reg.start) >> ARCH_PAGE_SHIFT));
11721172

11731173
int err;
11741174

0 commit comments

Comments
 (0)