Lines Matching refs:start
43 sysmem.bank[i].start, sysmem.bank[i].end, in sysmem_dump()
44 (sysmem.bank[i].end - sysmem.bank[i].start) >> 10); in sysmem_dump()
50 static inline struct meminfo * __init find_bank(unsigned long start) in find_bank() argument
56 if (sysmem.bank[i].start <= start) in find_bank()
88 int __init add_sysmem_bank(unsigned long start, unsigned long end) in add_sysmem_bank() argument
95 if (start == end || in add_sysmem_bank()
96 (start < end) != (PAGE_ALIGN(start) < (end & PAGE_MASK))) { in add_sysmem_bank()
98 start, end - start); in add_sysmem_bank()
102 start = PAGE_ALIGN(start); in add_sysmem_bank()
104 sz = end - start; in add_sysmem_bank()
106 it = find_bank(start); in add_sysmem_bank()
109 bank_sz = it->end - it->start; in add_sysmem_bank()
111 if (it && bank_sz >= start - it->start) { in add_sysmem_bank()
112 if (end - it->start > bank_sz) in add_sysmem_bank()
123 it->start - start <= sz) { in add_sysmem_bank()
124 it->start = start; in add_sysmem_bank()
125 if (it->end - it->start < sz) in add_sysmem_bank()
132 start, end - start); in add_sysmem_bank()
135 it->start = start; in add_sysmem_bank()
140 sz = it->end - it->start; in add_sysmem_bank()
142 if (sysmem.bank[i].start - it->start <= sz) { in add_sysmem_bank()
143 if (sz < sysmem.bank[i].end - it->start) in add_sysmem_bank()
170 int __init mem_reserve(unsigned long start, unsigned long end, int must_exist) in mem_reserve() argument
177 start = start & PAGE_MASK; in mem_reserve()
179 sz = end - start; in mem_reserve()
183 it = find_bank(start); in mem_reserve()
186 bank_sz = it->end - it->start; in mem_reserve()
188 if ((!it || end - it->start > bank_sz) && must_exist) { in mem_reserve()
190 start, end); in mem_reserve()
194 if (it && start - it->start <= bank_sz) { in mem_reserve()
195 if (start == it->start) { in mem_reserve()
196 if (end - it->start < bank_sz) { in mem_reserve()
197 it->start = end; in mem_reserve()
203 it->end = start; in mem_reserve()
204 if (end - it->start < bank_sz) in mem_reserve()
206 it->start + bank_sz); in mem_reserve()
215 if (it->end - start <= sz) { in mem_reserve()
219 if (it->start - start < sz) in mem_reserve()
220 it->start = end; in mem_reserve()
258 pfn = PAGE_ALIGN(sysmem.bank[i].start) >> PAGE_SHIFT; in bootmem_init()
279 if (sysmem.bank[i].end - sysmem.bank[i].start >= bootmap_size) { in bootmem_init()
280 bootmap_start = sysmem.bank[i].start; in bootmem_init()
298 if (sysmem.bank[i].start >> PAGE_SHIFT < max_low_pfn) { in bootmem_init()
301 free_bootmem(sysmem.bank[i].start, in bootmem_init()
302 end - sysmem.bank[i].start); in bootmem_init()
370 void free_initrd_mem(unsigned long start, unsigned long end) in free_initrd_mem() argument
373 free_reserved_area((void *)start, (void *)end, -1, "initrd"); in free_initrd_mem()