MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / test_varea_map_range

Function test_varea_map_range

examples/utest/testcases/mm/test_aspace_api.h:195–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195static void test_varea_map_range(void)
196{
197 /**
198 * @brief rt_varea_map_range
199 * Requirements: complete the page table entry
200 */
201 const size_t buf_sz = 4 * ARCH_PAGE_SIZE;
202 rt_varea_t varea = _create_varea(buf_sz);
203 void *page = rt_pages_alloc(rt_page_bits(buf_sz));
204 uassert_true(!!page);
205 uassert_true(!rt_varea_map_range(varea, varea->start, page + PV_OFFSET, buf_sz));
206 for (size_t i = 0; i < buf_sz; i += ARCH_PAGE_SIZE)
207 {
208 uassert_true(rt_kmem_v2p(varea->start + i) == (page + i + PV_OFFSET));
209 }
210
211 uassert_true(rt_pages_free(page, rt_page_bits(buf_sz)));
212 uassert_true(!rt_aspace_unmap(&rt_kernel_space, varea->start));
213}
214
215/**
216 * @brief rt_varea_unmap_page

Callers 1

varea_map_tcFunction · 0.85

Calls 7

_create_vareaFunction · 0.85
rt_pages_allocFunction · 0.85
rt_page_bitsFunction · 0.85
rt_varea_map_rangeFunction · 0.85
rt_kmem_v2pFunction · 0.85
rt_pages_freeFunction · 0.85
rt_aspace_unmapFunction · 0.85

Tested by

no test coverage detected