blob: 29c09f57a13c1d704ef6924c3c238d2d3182c240 [file] [log] [blame]
Yinghai Lu580e0ad2010-02-16 18:40:35 -08001#ifndef _LINUX_EARLY_RES_H
2#define _LINUX_EARLY_RES_H
Yinghai Lua678c2b2010-02-10 01:20:24 -08003#ifdef __KERNEL__
4
Yinghai Lua678c2b2010-02-10 01:20:24 -08005extern void reserve_early(u64 start, u64 end, char *name);
6extern void reserve_early_overlap_ok(u64 start, u64 end, char *name);
7extern void free_early(u64 start, u64 end);
Yinghai Lufb90ef92010-02-24 18:36:53 -08008void free_early_partial(u64 start, u64 end);
Yinghai Lua678c2b2010-02-10 01:20:24 -08009extern void early_res_to_bootmem(u64 start, u64 end);
10
11void reserve_early_without_check(u64 start, u64 end, char *name);
12u64 find_early_area(u64 ei_start, u64 ei_last, u64 start, u64 end,
13 u64 size, u64 align);
Yinghai Luefdd0e82010-02-10 01:20:26 -080014u64 find_early_area_size(u64 ei_start, u64 ei_last, u64 start,
15 u64 *sizep, u64 align);
Yinghai Ludd645ce2010-02-10 01:20:30 -080016u64 find_fw_memmap_area(u64 start, u64 end, u64 size, u64 align);
Yinghai Lu580e0ad2010-02-16 18:40:35 -080017u64 get_max_mapped(void);
Yinghai Lua678c2b2010-02-10 01:20:24 -080018#include <linux/range.h>
19int get_free_all_memory_range(struct range **rangep, int nodeid);
20
21#endif /* __KERNEL__ */
22
Yinghai Lu580e0ad2010-02-16 18:40:35 -080023#endif /* _LINUX_EARLY_RES_H */