Lines Matching refs:mr

186 static int __meminit save_mr(struct map_range *mr, int nr_range,  in save_mr()  argument
193 mr[nr_range].start = start_pfn<<PAGE_SHIFT; in save_mr()
194 mr[nr_range].end = end_pfn<<PAGE_SHIFT; in save_mr()
195 mr[nr_range].page_size_mask = page_size_mask; in save_mr()
206 static void __init_refok adjust_range_page_size_mask(struct map_range *mr, in adjust_range_page_size_mask() argument
213 !(mr[i].page_size_mask & (1<<PG_LEVEL_2M))) { in adjust_range_page_size_mask()
214 unsigned long start = round_down(mr[i].start, PMD_SIZE); in adjust_range_page_size_mask()
215 unsigned long end = round_up(mr[i].end, PMD_SIZE); in adjust_range_page_size_mask()
223 mr[i].page_size_mask |= 1<<PG_LEVEL_2M; in adjust_range_page_size_mask()
226 !(mr[i].page_size_mask & (1<<PG_LEVEL_1G))) { in adjust_range_page_size_mask()
227 unsigned long start = round_down(mr[i].start, PUD_SIZE); in adjust_range_page_size_mask()
228 unsigned long end = round_up(mr[i].end, PUD_SIZE); in adjust_range_page_size_mask()
231 mr[i].page_size_mask |= 1<<PG_LEVEL_1G; in adjust_range_page_size_mask()
236 static const char *page_size_string(struct map_range *mr) in page_size_string() argument
243 if (mr->page_size_mask & (1<<PG_LEVEL_1G)) in page_size_string()
252 mr->page_size_mask & (1<<PG_LEVEL_2M)) in page_size_string()
255 if (mr->page_size_mask & (1<<PG_LEVEL_2M)) in page_size_string()
261 static int __meminit split_mem_range(struct map_range *mr, int nr_range, in split_mem_range() argument
290 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0); in split_mem_range()
305 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, in split_mem_range()
315 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, in split_mem_range()
325 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, in split_mem_range()
334 nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0); in split_mem_range()
337 adjust_range_page_size_mask(mr, nr_range); in split_mem_range()
342 if (mr[i].end != mr[i+1].start || in split_mem_range()
343 mr[i].page_size_mask != mr[i+1].page_size_mask) in split_mem_range()
346 old_start = mr[i].start; in split_mem_range()
347 memmove(&mr[i], &mr[i+1], in split_mem_range()
349 mr[i--].start = old_start; in split_mem_range()
355 mr[i].start, mr[i].end - 1, in split_mem_range()
356 page_size_string(&mr[i])); in split_mem_range()
397 struct map_range mr[NR_RANGE_MR]; in init_memory_mapping() local
404 memset(mr, 0, sizeof(mr)); in init_memory_mapping()
405 nr_range = split_mem_range(mr, 0, start, end); in init_memory_mapping()
408 ret = kernel_physical_mapping_init(mr[i].start, mr[i].end, in init_memory_mapping()
409 mr[i].page_size_mask); in init_memory_mapping()