- void add_active_range(unsigned int nid, unsigned long start_pfn, unsigned long end_pfn);
- The node ID the range resides on
- The start PFN of the available physical memory
- The end PFN of the available physical memory
These ranges are stored in an early_node_map and later used by free_area_init_nodes to calculate zone sizes and holes. If the range spans a memory hole, it is up to the architecture to ensure the memory is not freed by the bootmem allocator. If possible the range being registered will be merged with existing ranges.