This patch cleans up the srat.c file with respects to the 2 hot-add paths available. It creates Kconfig options to represent the desired functionality and implements their usage. The current code already saves the information need (NUMA locality of hot-add memory ranges) for MEMORY_HOTPLUG in the RESERVE_MEMORY path. I amend the memory parsing code to support the needs of both and save the nodes_add data for use at runtime. Built against 2.6.18-rc2 Signed-off-by: Keith Mannthey