This patch prevents memory hotplug from marking pages of the memmap that only reference holes in the physical address space as private. Some architectures (including ARM) attempt to free these unneeded parts of the memmap, and attempting to free a private page will throw bad_page warnings and tie up the memory indefinitely. This patch also allows early_pfn_valid to be architecture specific and defines it for ARM. The definition for ARM takes into account memory banks and the holes in physical memory. CRs-Fixed: 247010 Change-Id: Iad88d427b1b923a808b026c22d2899fa0483cb9e Signed-off-by: jesset@codeaurora.org (cherry picked from commit 0b610c773ad6281a3d217fbbe894b2476e9e71dd) Conflicts: arch/arm/mm/init.c