Lines Matching refs:mem_start
2449 static void __init *make_room(unsigned long *mem_start, unsigned long *mem_end, in make_room() argument
2454 *mem_start = ALIGN(*mem_start, align); in make_room()
2455 while ((*mem_start + needed) > *mem_end) { in make_room()
2473 ret = (void *)*mem_start; in make_room()
2474 *mem_start += needed; in make_room()
2479 #define dt_push_token(token, mem_start, mem_end) do { \ argument
2480 void *room = make_room(mem_start, mem_end, 4, 4); \
2505 unsigned long *mem_start, in scan_dt_build_strings() argument
2518 namep = make_room(mem_start, mem_end, MAX_PROPERTY_NAME, 1); in scan_dt_build_strings()
2521 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2527 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2534 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2538 *mem_start = (unsigned long)namep + prom_strlen(namep) + 1; in scan_dt_build_strings()
2539 dt_string_end = *mem_start; in scan_dt_build_strings()
2547 scan_dt_build_strings(child, mem_start, mem_end); in scan_dt_build_strings()
2552 static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, in scan_dt_build_struct() argument
2562 dt_push_token(OF_DT_BEGIN_NODE, mem_start, mem_end); in scan_dt_build_struct()
2565 namep = (char *)*mem_start; in scan_dt_build_struct()
2566 room = *mem_end - *mem_start; in scan_dt_build_struct()
2573 if (l >= *mem_end - *mem_start) in scan_dt_build_struct()
2574 namep = make_room(mem_start, mem_end, l+1, 1); in scan_dt_build_struct()
2590 *mem_start = ALIGN((unsigned long)lp + 1, 4); in scan_dt_build_struct()
2629 dt_push_token(OF_DT_PROP, mem_start, mem_end); in scan_dt_build_struct()
2630 dt_push_token(l, mem_start, mem_end); in scan_dt_build_struct()
2631 dt_push_token(soff, mem_start, mem_end); in scan_dt_build_struct()
2634 valp = make_room(mem_start, mem_end, l, 4); in scan_dt_build_struct()
2636 *mem_start = ALIGN(*mem_start, 4); in scan_dt_build_struct()
2648 dt_push_token(OF_DT_PROP, mem_start, mem_end); in scan_dt_build_struct()
2649 dt_push_token(4, mem_start, mem_end); in scan_dt_build_struct()
2650 dt_push_token(soff, mem_start, mem_end); in scan_dt_build_struct()
2651 valp = make_room(mem_start, mem_end, 4, 4); in scan_dt_build_struct()
2659 scan_dt_build_struct(child, mem_start, mem_end); in scan_dt_build_struct()
2663 dt_push_token(OF_DT_END_NODE, mem_start, mem_end); in scan_dt_build_struct()
2669 unsigned long mem_start, mem_end, room; in flatten_device_tree() local
2684 mem_start = (unsigned long)alloc_up(room, PAGE_SIZE); in flatten_device_tree()
2685 if (mem_start == 0) in flatten_device_tree()
2687 mem_end = mem_start + room; in flatten_device_tree()
2695 mem_start = ALIGN(mem_start, 4); in flatten_device_tree()
2696 hdr = make_room(&mem_start, &mem_end, in flatten_device_tree()
2699 rsvmap = make_room(&mem_start, &mem_end, sizeof(mem_reserve_map), 8); in flatten_device_tree()
2702 mem_start = PAGE_ALIGN(mem_start); in flatten_device_tree()
2703 dt_string_start = mem_start; in flatten_device_tree()
2704 mem_start += 4; /* hole */ in flatten_device_tree()
2707 namep = make_room(&mem_start, &mem_end, 16, 1); in flatten_device_tree()
2709 mem_start = (unsigned long)namep + prom_strlen(namep) + 1; in flatten_device_tree()
2713 scan_dt_build_strings(root, &mem_start, &mem_end); in flatten_device_tree()
2714 dt_string_end = mem_start; in flatten_device_tree()
2717 mem_start = PAGE_ALIGN(mem_start); in flatten_device_tree()
2718 dt_struct_start = mem_start; in flatten_device_tree()
2720 scan_dt_build_struct(root, &mem_start, &mem_end); in flatten_device_tree()
2721 dt_push_token(OF_DT_END, &mem_start, &mem_end); in flatten_device_tree()
2722 dt_struct_end = PAGE_ALIGN(mem_start); in flatten_device_tree()