Lines Matching refs:mem_start
2409 static void __init *make_room(unsigned long *mem_start, unsigned long *mem_end, in make_room() argument
2414 *mem_start = _ALIGN(*mem_start, align); in make_room()
2415 while ((*mem_start + needed) > *mem_end) { in make_room()
2433 ret = (void *)*mem_start; in make_room()
2434 *mem_start += needed; in make_room()
2439 #define dt_push_token(token, mem_start, mem_end) do { \ argument
2440 void *room = make_room(mem_start, mem_end, 4, 4); \
2465 unsigned long *mem_start, in scan_dt_build_strings() argument
2478 namep = make_room(mem_start, mem_end, MAX_PROPERTY_NAME, 1); in scan_dt_build_strings()
2481 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2487 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2494 *mem_start = (unsigned long)namep; in scan_dt_build_strings()
2498 *mem_start = (unsigned long)namep + prom_strlen(namep) + 1; in scan_dt_build_strings()
2499 dt_string_end = *mem_start; in scan_dt_build_strings()
2507 scan_dt_build_strings(child, mem_start, mem_end); in scan_dt_build_strings()
2512 static void __init scan_dt_build_struct(phandle node, unsigned long *mem_start, in scan_dt_build_struct() argument
2522 dt_push_token(OF_DT_BEGIN_NODE, mem_start, mem_end); in scan_dt_build_struct()
2525 namep = (char *)*mem_start; in scan_dt_build_struct()
2526 room = *mem_end - *mem_start; in scan_dt_build_struct()
2533 if (l >= *mem_end - *mem_start) in scan_dt_build_struct()
2534 namep = make_room(mem_start, mem_end, l+1, 1); in scan_dt_build_struct()
2550 *mem_start = _ALIGN((unsigned long)lp + 1, 4); in scan_dt_build_struct()
2589 dt_push_token(OF_DT_PROP, mem_start, mem_end); in scan_dt_build_struct()
2590 dt_push_token(l, mem_start, mem_end); in scan_dt_build_struct()
2591 dt_push_token(soff, mem_start, mem_end); in scan_dt_build_struct()
2594 valp = make_room(mem_start, mem_end, l, 4); in scan_dt_build_struct()
2596 *mem_start = _ALIGN(*mem_start, 4); in scan_dt_build_struct()
2608 dt_push_token(OF_DT_PROP, mem_start, mem_end); in scan_dt_build_struct()
2609 dt_push_token(4, mem_start, mem_end); in scan_dt_build_struct()
2610 dt_push_token(soff, mem_start, mem_end); in scan_dt_build_struct()
2611 valp = make_room(mem_start, mem_end, 4, 4); in scan_dt_build_struct()
2619 scan_dt_build_struct(child, mem_start, mem_end); in scan_dt_build_struct()
2623 dt_push_token(OF_DT_END_NODE, mem_start, mem_end); in scan_dt_build_struct()
2629 unsigned long mem_start, mem_end, room; in flatten_device_tree() local
2644 mem_start = (unsigned long)alloc_up(room, PAGE_SIZE); in flatten_device_tree()
2645 if (mem_start == 0) in flatten_device_tree()
2647 mem_end = mem_start + room; in flatten_device_tree()
2655 mem_start = _ALIGN(mem_start, 4); in flatten_device_tree()
2656 hdr = make_room(&mem_start, &mem_end, in flatten_device_tree()
2659 rsvmap = make_room(&mem_start, &mem_end, sizeof(mem_reserve_map), 8); in flatten_device_tree()
2662 mem_start = PAGE_ALIGN(mem_start); in flatten_device_tree()
2663 dt_string_start = mem_start; in flatten_device_tree()
2664 mem_start += 4; /* hole */ in flatten_device_tree()
2667 namep = make_room(&mem_start, &mem_end, 16, 1); in flatten_device_tree()
2669 mem_start = (unsigned long)namep + prom_strlen(namep) + 1; in flatten_device_tree()
2673 scan_dt_build_strings(root, &mem_start, &mem_end); in flatten_device_tree()
2674 dt_string_end = mem_start; in flatten_device_tree()
2677 mem_start = PAGE_ALIGN(mem_start); in flatten_device_tree()
2678 dt_struct_start = mem_start; in flatten_device_tree()
2680 scan_dt_build_struct(root, &mem_start, &mem_end); in flatten_device_tree()
2681 dt_push_token(OF_DT_END, &mem_start, &mem_end); in flatten_device_tree()
2682 dt_struct_end = PAGE_ALIGN(mem_start); in flatten_device_tree()