2010-08-25 20:39:15 +00:00
|
|
|
#ifndef _X86_MEMBLOCK_H
|
|
|
|
#define _X86_MEMBLOCK_H
|
|
|
|
|
|
|
|
#define ARCH_DISCARD_MEMBLOCK
|
|
|
|
|
|
|
|
u64 memblock_x86_find_in_range_size(u64 start, u64 *sizep, u64 align);
|
|
|
|
|
2010-08-25 20:39:15 +00:00
|
|
|
void memblock_x86_reserve_range(u64 start, u64 end, char *name);
|
|
|
|
void memblock_x86_free_range(u64 start, u64 end);
|
2010-08-25 20:39:16 +00:00
|
|
|
struct range;
|
2010-10-05 23:15:15 +00:00
|
|
|
int __get_free_all_memory_range(struct range **range, int nodeid,
|
|
|
|
unsigned long start_pfn, unsigned long end_pfn);
|
2010-08-25 20:39:16 +00:00
|
|
|
int get_free_all_memory_range(struct range **rangep, int nodeid);
|
2010-08-25 20:39:15 +00:00
|
|
|
|
2010-08-25 20:39:16 +00:00
|
|
|
void memblock_x86_register_active_regions(int nid, unsigned long start_pfn,
|
|
|
|
unsigned long last_pfn);
|
|
|
|
u64 memblock_x86_hole_size(u64 start, u64 end);
|
2010-08-25 20:39:16 +00:00
|
|
|
u64 memblock_x86_find_in_range_node(int nid, u64 start, u64 end, u64 size, u64 align);
|
2010-08-25 20:39:16 +00:00
|
|
|
u64 memblock_x86_free_memory_in_range(u64 addr, u64 limit);
|
2010-08-25 20:39:17 +00:00
|
|
|
u64 memblock_x86_memory_in_range(u64 addr, u64 limit);
|
2011-06-14 17:53:09 +00:00
|
|
|
bool memblock_x86_check_reserved_size(u64 *addrp, u64 *sizep, u64 align);
|
2010-08-25 20:39:16 +00:00
|
|
|
|
2010-08-25 20:39:15 +00:00
|
|
|
#endif
|