blob: 19ae14ba69780c38defd3fbcfe7fdcb05859f9c0 [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 Lu27de7942010-08-25 13:39:15 -07007void memblock_x86_to_bootmem(u64 start, u64 end);
Yinghai Lufb74fb62010-08-25 13:39:15 -07008
Yinghai Lu9dc5d562010-08-25 13:39:15 -07009void memblock_x86_reserve_range(u64 start, u64 end, char *name);
10void memblock_x86_free_range(u64 start, u64 end);
Yinghai Lu4d5cf862010-08-25 13:39:16 -070011struct range;
Yinghai Lu1d931262010-10-05 16:15:15 -070012int __get_free_all_memory_range(struct range **range, int nodeid,
13 unsigned long start_pfn, unsigned long end_pfn);
Yinghai Lu4d5cf862010-08-25 13:39:16 -070014int get_free_all_memory_range(struct range **rangep, int nodeid);
Yinghai Lu9dc5d562010-08-25 13:39:15 -070015
Yinghai Lu88ba0882010-08-25 13:39:16 -070016void memblock_x86_register_active_regions(int nid, unsigned long start_pfn,
17 unsigned long last_pfn);
18u64 memblock_x86_hole_size(u64 start, u64 end);
Yinghai Lu6bcc8172010-08-25 13:39:16 -070019u64 memblock_x86_find_in_range_node(int nid, u64 start, u64 end, u64 size, u64 align);
Yinghai Lub52c17c2010-08-25 13:39:16 -070020u64 memblock_x86_free_memory_in_range(u64 addr, u64 limit);
Yinghai Lue82d42b2010-08-25 13:39:17 -070021u64 memblock_x86_memory_in_range(u64 addr, u64 limit);
Yinghai Lu88ba0882010-08-25 13:39:16 -070022
Yinghai Lufb74fb62010-08-25 13:39:15 -070023#endif