Lines Matching full:translations

683 	struct ofw_map	translations[sz/(4*sizeof(cell_t))]; /*>= 4 cells per */  in moea64_add_ofw_mappings()  local
691 bzero(translations, sz); in moea64_add_ofw_mappings()
694 if (OF_getencprop(mmu, "translations", trans_cells, sz) == -1) in moea64_add_ofw_mappings()
695 panic("moea64_bootstrap: can't get ofw translations"); in moea64_add_ofw_mappings()
697 CTR0(KTR_PMAP, "moea64_add_ofw_mappings: translations"); in moea64_add_ofw_mappings()
700 translations[j].om_va = trans_cells[i++]; in moea64_add_ofw_mappings()
701 translations[j].om_len = trans_cells[i++]; in moea64_add_ofw_mappings()
702 translations[j].om_pa = trans_cells[i++]; in moea64_add_ofw_mappings()
704 translations[j].om_pa <<= 32; in moea64_add_ofw_mappings()
705 translations[j].om_pa |= trans_cells[i++]; in moea64_add_ofw_mappings()
707 translations[j].om_mode = trans_cells[i++]; in moea64_add_ofw_mappings()
709 KASSERT(i == sz, ("Translations map has incorrect cell count (%d/%zd)", in moea64_add_ofw_mappings()
713 qsort(translations, sz, sizeof (*translations), om_cmp); in moea64_add_ofw_mappings()
716 pa_base = translations[i].om_pa; in moea64_add_ofw_mappings()
718 if ((translations[i].om_pa >> 32) != 0) in moea64_add_ofw_mappings()
719 panic("OFW translations above 32-bit boundary!"); in moea64_add_ofw_mappings()
724 if (translations[i].om_va % PAGE_SIZE) in moea64_add_ofw_mappings()
728 pa_base, translations[i].om_va, translations[i].om_len); in moea64_add_ofw_mappings()
733 for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) { in moea64_add_ofw_mappings()
736 translations[i].om_va == PHYS_TO_DMAP(pa_base) && in moea64_add_ofw_mappings()
743 translations[i].om_va + off); in moea64_add_ofw_mappings()
748 moea64_kenter(translations[i].om_va + off, in moea64_add_ofw_mappings()
1150 (sz = OF_getproplen(mmu, "translations")) == -1) in moea64_late_bootstrap()
1153 panic("moea64_bootstrap: too many ofw translations"); in moea64_late_bootstrap()