blob: 0cd3800f33b9dcf68e39a1288ebf7ccd442f3a97 [file] [log] [blame]
Yinghai Lufb74fb62010-08-25 13:39:15 -07001#ifndef _X86_MEMBLOCK_H
2#define _X86_MEMBLOCK_H
3
4#define ARCH_DISCARD_MEMBLOCK
5
6u64 memblock_x86_find_in_range_size(u64 start, u64 *sizep, u64 align);
Yinghai Lufb74fb62010-08-25 13:39:15 -07007
Yinghai Lu9dc5d562010-08-25 13:39:15 -07008void memblock_x86_reserve_range(u64 start, u64 end, char *name);
9void memblock_x86_free_range(u64 start, u64 end);
Yinghai Lu4d5cf862010-08-25 13:39:16 -070010struct range;
Yinghai Lu1d931262010-10-05 16:15:15 -070011int __get_free_all_memory_range(struct range **range, int nodeid,
12 unsigned long start_pfn, unsigned long end_pfn);
Yinghai Lu4d5cf862010-08-25 13:39:16 -070013int get_free_all_memory_range(struct range **rangep, int nodeid);
Yinghai Lu9dc5d562010-08-25 13:39:15 -070014
Yinghai Lu88ba0882010-08-25 13:39:16 -070015void memblock_x86_register_active_regions(int nid, unsigned long start_pfn,
16 unsigned long last_pfn);
17u64 memblock_x86_hole_size(u64 start, u64 end);
Yinghai Lu6bcc8172010-08-25 13:39:16 -070018u64 memblock_x86_find_in_range_node(int nid, u64 start, u64 end, u64 size, u64 align);
Yinghai Lub52c17c2010-08-25 13:39:16 -070019u64 memblock_x86_free_memory_in_range(u64 addr, u64 limit);
Yinghai Lue82d42b2010-08-25 13:39:17 -070020u64 memblock_x86_memory_in_range(u64 addr, u64 limit);
Maarten Lankhorst7d68dc32011-06-14 19:53:09 +020021bool memblock_x86_check_reserved_size(u64 *addrp, u64 *sizep, u64 align);
Yinghai Lu88ba0882010-08-25 13:39:16 -070022
Yinghai Lufb74fb62010-08-25 13:39:15 -070023#endif