Lines Matching defs:mm

155 	mmap_region_t *mm = mmap;
160 while (mm->size) {
162 (void *)mm->base_va, mm->base_pa,
163 mm->size, mm->attr);
164 ++mm;
170 void mmap_add(const mmap_region_t *mm)
172 const mmap_region_t *mm_cursor = mm;
184 mmap_region_t *mm = mmap;
185 const mmap_region_t *mm_last = mm + ARRAY_SIZE(mmap) - 1U;
208 for (mm = mmap; mm->size; ++mm) {
210 uintptr_t mm_end_va = mm->base_va + mm->size - 1U;
217 ((base_va >= mm->base_va) && (end_va <= mm_end_va)) ||
218 ((mm->base_va >= base_va) && (mm_end_va <= end_va));
226 assert((mm->base_va - mm->base_pa) ==
228 assert((base_va != mm->base_va) || (size != mm->size));
237 mm->base_pa + mm->size - 1;
239 bool separated_pa = (end_pa < mm->base_pa) ||
241 bool separated_va = (end_va < mm->base_va) ||
248 mm = mmap; /* Restore pointer to the start of the array */
253 while ((mm->base_va < base_va) && (mm->size != 0U)) {
254 ++mm;
268 while ((mm->base_va == base_va) && (mm->size > size)) {
269 ++mm;
273 (void)memmove(mm + 1, mm, (uintptr_t)mm_last - (uintptr_t)mm);
278 mm->base_pa = base_pa;
279 mm->base_va = base_va;
280 mm->size = size;
281 mm->attr = attr;
344 static unsigned int mmap_region_attr(const mmap_region_t *mm, uintptr_t base_va,
365 for ( ; ; ++mm) {
367 if (mm->size == 0U) {
371 if (mm->base_va > (base_va + size - 1U)) {
375 if ((mm->base_va + mm->size - 1U) < base_va) {
379 if ((ret == 0U) && (mm->attr == *attr)) {
383 if ((mm->base_va > base_va) ||
384 ((mm->base_va + mm->size - 1U) <
389 *attr = mm->attr;
394 static mmap_region_t *init_xlation_table_inner(mmap_region_t *mm,
413 if (mm->base_va + mm->size <= base_va) {
415 ++mm;
425 if (mm->base_va >= base_va + level_size) {
428 } else if ((mm->base_va <= base_va) &&
429 (mm->base_va + mm->size) >=
432 unsigned int attr = mm->attr;
433 unsigned int r = mmap_region_attr(mm, base_va,
438 base_va - mm->base_va + mm->base_pa,
454 == ((mm->attr & MT_NS) == 0U));
468 desc |= (mm->attr & MT_NS) != 0U ?
472 mm = init_xlation_table_inner(mm, base_va,
484 } while ((mm->size != 0U) && ((base_va & level_index_mask) != 0U));
486 return mm;