Lines Matching refs:start

51 rt_err_t rt_aspace_init(rt_aspace_t aspace, void *start, rt_size_t length, void *pgtbl)  in rt_aspace_init()  argument
58 aspace->start = start; in rt_aspace_init()
81 rt_aspace_t rt_aspace_create(void *start, rt_size_t length, void *pgtbl) in rt_aspace_create() argument
86 RT_ASSERT(length <= 0 - (rt_size_t)start); in rt_aspace_create()
92 err = rt_aspace_init(aspace, start, length, pgtbl); in rt_aspace_create()
97 start, length, pgtbl, err); in rt_aspace_create()
198 if ((char *)msg->fault_vaddr + store_sz > (char *)varea->start + varea->size) in rt_varea_map_with_msg()
245 static int _do_prefetch(rt_aspace_t aspace, rt_varea_t varea, void *start, in _do_prefetch() argument
251 char *end = (char *)start + size; in _do_prefetch()
252 char *vaddr = start; in _do_prefetch()
253 rt_size_t off = varea->offset + ((vaddr - (char *)varea->start) >> ARCH_PAGE_SHIFT); in _do_prefetch()
294 old_va = varea->start; in _expand_varea()
299 varea->start = new_va; in _expand_varea()
372 operand_start = operand->start; in _merge_surrounding()
443 operand_start = neighbour->start; in _try_expand_and_merge_okay()
459 static rt_varea_t _varea_create(void *start, rt_size_t size);
476 varea->start = alloc_va; in _insert_new_varea()
569 rt_hw_mmu_unmap(aspace, varea->start, varea->size); in _varea_uninstall_locked()
570 rt_hw_tlb_invalidate_range(aspace, varea->start, varea->size, ARCH_PAGE_SIZE); in _varea_uninstall_locked()
593 .limit_start = aspace->start, in _mm_aspace_map()
612 err = _do_prefetch(aspace, varea, varea->start, varea->size); in _mm_aspace_map()
631 static rt_varea_t _varea_create(void *start, rt_size_t size) in _varea_create() argument
637 varea->start = start; in _varea_create()
643 #define _IS_OVERFLOW(start, length) ((length) > (0ul - (uintptr_t)(start))) argument
644 #define _IS_OVERSIZE(start, length, limit_s, limit_sz) (((length) + (rt_size_t)((char *)(start) - (… argument
646 static inline int _not_in_range(rt_size_t flags, void *start, rt_size_t length, in _not_in_range() argument
650 int rc = (flags & MMF_MAP_FIXED || start != RT_NULL) in _not_in_range()
651 ? (_IS_OVERFLOW(start, length) || start < limit_start || in _not_in_range()
652 _IS_OVERSIZE(start, length, limit_start, limit_size)) in _not_in_range()
655 LOG_D("%s: [%p : %p] [%p : %p]", __func__, start, length, limit_start, limit_size); in _not_in_range()
659 static inline int _not_align(void *start, rt_size_t length, rt_size_t mask) in _not_align() argument
661 return (start != RT_NULL) && in _not_align()
662 (((uintptr_t)start & mask) || (length & mask)); in _not_align()
687 else if (_not_in_range(flags, *addr, length, aspace->start, aspace->size)) in rt_aspace_map()
719 _not_in_range(flags, *addr, length, aspace->start, aspace->size)) in rt_aspace_map_static()
732 varea->start = *addr; in rt_aspace_map_static()
747 *addr = varea->start; in rt_aspace_map_static()
769 else if (_not_in_range(hint->flags, hint->limit_start, hint->limit_range_size, aspace->start, in _mm_aspace_map_phy()
771 _not_in_range(hint->flags, hint->prefer, hint->map_size, aspace->start, in _mm_aspace_map_phy()
785 err = _do_named_map(aspace, varea, varea->start, varea->size, in _mm_aspace_map_phy()
846 varea->start = hint->prefer; in rt_aspace_map_phy_static()
849 …LOG_D("%s: start %p size %p phy at %p", __func__, varea->start, varea->size, pa_off << MM_PAGE_SHI… in rt_aspace_map_phy_static()
895 else if (_not_in_range(MMF_MAP_FIXED, addr, 1, aspace->start, aspace->size)) in rt_aspace_unmap()
898 aspace->start, (char *)aspace->start + aspace->size); in rt_aspace_unmap()
927 old_va = varea->start; in _shrink_varea()
932 varea->start = new_va; in _shrink_varea()
956 rela_offset = MM_PA_TO_OFF(subset_start - (char *)existed->start); in _split_varea()
966 existed->size = unmap_start - (char *)existed->start; in _split_varea()
986 char *ex_start = existed->start; in _remove_overlapped_varea()
1018 unmap_range.start = addr; in _unmap_range_locked()
1044 else if (_not_in_range(MMF_MAP_FIXED, addr, length, aspace->start, aspace->size)) in rt_aspace_unmap_range()
1047 aspace->start, (char *)aspace->start + aspace->size); in rt_aspace_unmap_range()
1081 aspace->start, aspace->size)) in rt_aspace_mremap_range()
1084 aspace->start, (char *)aspace->start + aspace->size); in rt_aspace_mremap_range()
1103 unmap_range.start = old_address; in rt_aspace_mremap_range()
1141 while (varea && varea->start < limit.end) in _ascending_search()
1143 char *candidate = (char *)varea->start + varea->size; in _ascending_search()
1152 if (candidate < (char *)nx_va->start) in _ascending_search()
1155 (char *)_lower(limit.end, (char *)nx_va->start - 1) - in _ascending_search()
1180 char *candidate = _align(limit.start, align_mask); in _find_head_and_asc_search()
1185 rt_size_t gap_size = (char *)varea->start - candidate; in _find_head_and_asc_search()
1192 candidate = _align((char *)former->start + former->size, align_mask); in _find_head_and_asc_search()
1193 gap_size = (char *)varea->start - candidate; in _find_head_and_asc_search()
1269 range.start = prefer; in _find_free()
1285 limit.end = (char *)varea->start - 1; in _find_free()
1316 varea->start, varea->size)) in rt_aspace_load_page()
1344 varea->start, varea->size)) in rt_varea_map_page()
1347 vaddr, ARCH_PAGE_SIZE, varea->start, varea->size); in rt_varea_map_page()
1384 varea->start, varea->size)) in rt_varea_map_range()
1387 vaddr, length, varea->start, varea->size); in rt_varea_map_range()
1418 varea->start, varea->size)) in rt_varea_unmap_range()
1421 vaddr, length, varea->start, varea->size); in rt_varea_unmap_range()
1450 err = rt_hw_mmu_control(aspace, varea->start, varea->size, cmd); in rt_aspace_control()
1453 rt_hw_tlb_invalidate_range(aspace, varea->start, varea->size, ARCH_PAGE_SIZE); in rt_aspace_control()
1486 rt_kprintf("[%p - %p] %s\n", varea->start, (char *)varea->start + varea->size, in _dump()
1491 rt_kprintf("[%p - %p] phy-map\n", varea->start, (char *)varea->start + varea->size); in _dump()
1530 pa = rt_hw_mmu_v2p(src, (void *)src_varea->start); in _dup_varea()
1534 .limit_start = dst->start, in _dup_varea()
1535 .prefer = src_varea->start, in _dup_varea()
1542 src_varea->start, src_varea->size); in _dup_varea()
1551 va = src_varea->start; in _dup_varea()
1558 src_varea->start, src_varea->size); in _dup_varea()
1562 if (va != (void *)src_varea->start) in _dup_varea()
1586 …=0x%lx, mem_obj=%p)", VAREA_NAME(varea), varea->attr, varea->flag, varea->start, varea->size, vare… in _dump_varea()
1596 dst_varea = _aspace_bst_search(dst, src_varea->start); in _compare_varea()
1601 char *vend = src_varea->start + src_varea->size; in _compare_varea()
1602 for (char *i = src_varea->start; i < vend; i += ARCH_PAGE_SIZE) in _compare_varea()