Lines Matching refs:mem_start
2480 static void __init *make_room(unsigned long *mem_start, unsigned long *mem_end, in make_room() argument
2485 *mem_start = ALIGN(*mem_start, align); in make_room()
2486 while ((*mem_start + needed) > *mem_end) { in make_room()
2504 ret = (void *)*mem_start; in make_room()
2505 *mem_start += needed; in make_room()
2510 #define dt_push_token(token, mem_start, mem_end) do { \ argument
2511 void *room = make_room(mem_start, mem_end, 4, 4); \
2536 unsigned long *mem_start, in scan_dt_build_strings() argument
2549 namep = make_room(mem_start, mem_end, MAX_PROPERTY_NAME, 1); in scan_dt_build_strings()
2552 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2558 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2565 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2569 *mem_start = (unsigned long)namep + prom_strlen(namep) + 1; in scan_dt_build_strings()
2570 dt_string_end = *mem_start; in scan_dt_build_strings()
2578 scan_dt_build_strings(child, mem_start, mem_end); in scan_dt_build_strings()
2583 static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, in scan_dt_build_struct() argument
2593 dt_push_token(OF_DT_BEGIN_NODE, mem_start, mem_end); in scan_dt_build_struct()
2596 namep = (char *)*mem_start; in scan_dt_build_struct()
2597 room = *mem_end - *mem_start; in scan_dt_build_struct()
2604 if (l >= *mem_end - *mem_start) in scan_dt_build_struct()
2605 namep = make_room(mem_start, mem_end, l+1, 1); in scan_dt_build_struct()
2621 *mem_start = ALIGN((unsigned long)lp + 1, 4); in scan_dt_build_struct()
2660 dt_push_token(OF_DT_PROP, mem_start, mem_end); in scan_dt_build_struct()
2661 dt_push_token(l, mem_start, mem_end); in scan_dt_build_struct()
2662 dt_push_token(soff, mem_start, mem_end); in scan_dt_build_struct()
2665 valp = make_room(mem_start, mem_end, l, 4); in scan_dt_build_struct()
2667 *mem_start = ALIGN(*mem_start, 4); in scan_dt_build_struct()
2679 dt_push_token(OF_DT_PROP, mem_start, mem_end); in scan_dt_build_struct()
2680 dt_push_token(4, mem_start, mem_end); in scan_dt_build_struct()
2681 dt_push_token(soff, mem_start, mem_end); in scan_dt_build_struct()
2682 valp = make_room(mem_start, mem_end, 4, 4); in scan_dt_build_struct()
2690 scan_dt_build_struct(child, mem_start, mem_end); in scan_dt_build_struct()
2694 dt_push_token(OF_DT_END_NODE, mem_start, mem_end); in scan_dt_build_struct()
2700 unsigned long mem_start, mem_end, room; in flatten_device_tree() local
2715 mem_start = (unsigned long)alloc_up(room, PAGE_SIZE); in flatten_device_tree()
2716 if (mem_start == 0) in flatten_device_tree()
2718 mem_end = mem_start + room; in flatten_device_tree()
2726 mem_start = ALIGN(mem_start, 4); in flatten_device_tree()
2727 hdr = make_room(&mem_start, &mem_end, in flatten_device_tree()
2730 rsvmap = make_room(&mem_start, &mem_end, sizeof(mem_reserve_map), 8); in flatten_device_tree()
2733 mem_start = PAGE_ALIGN(mem_start); in flatten_device_tree()
2734 dt_string_start = mem_start; in flatten_device_tree()
2735 mem_start += 4; /* hole */ in flatten_device_tree()
2738 namep = make_room(&mem_start, &mem_end, 16, 1); in flatten_device_tree()
2740 mem_start = (unsigned long)namep + prom_strlen(namep) + 1; in flatten_device_tree()
2744 scan_dt_build_strings(root, &mem_start, &mem_end); in flatten_device_tree()
2745 dt_string_end = mem_start; in flatten_device_tree()
2748 mem_start = PAGE_ALIGN(mem_start); in flatten_device_tree()
2749 dt_struct_start = mem_start; in flatten_device_tree()
2751 scan_dt_build_struct(root, &mem_start, &mem_end); in flatten_device_tree()
2752 dt_push_token(OF_DT_END, &mem_start, &mem_end); in flatten_device_tree()
2753 dt_struct_end = PAGE_ALIGN(mem_start); in flatten_device_tree()