| 193 | } |
| 194 | |
| 195 | static 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 |
no test coverage detected