This series enables memory hot remove on arm64, fixes a memblock removal ordering problem in generic __remove_memory(), enables sysfs memory probe interface on arm64. It also enables ZONE_DEVICE with struct vmem_altmap support. Testing: Tested hot remove on arm64 for all 4K, 16K, 64K page config options with all possible VA_BITS and PGTABLE_LEVELS combinations. Tested ZONE_DEVICE with ARM64_4K_PAGES through a dummy driver. Build tested on non arm64 platforms. I will appreciate if folks can test arch_remove_memory() re-ordering in __remove_memory() on other platforms. Dependency: V5 series in the thread (https://lkml.org/lkml/2019/2/14/1096) will make kernel linear mapping loose pgtable_page_ctor() init. When this happens the proposed functions free_pte|pmd|pud_table() in [PATCH 2/6] will have to stop calling pgtable_page_dtor(). Anshuman Khandual (5): arm64/mm: Enable sysfs based memory hot add interface arm64/mm: Enable memory hot remove arm64/mm: Enable struct page allocation from device memory mm/hotplug: Reorder arch_remove_memory() call in __remove_memory() arm64/mm: Enable ZONE_DEVICE Robin Murphy (1): mm/memremap: Rename and consolidate SECTION_SIZE arch/arm64/Kconfig | 13 +++ arch/arm64/include/asm/pgtable.h | 14 +++ arch/arm64/mm/mmu.c | 242 ++++++++++++++++++++++++++++++++++++++- include/linux/mmzone.h | 1 + kernel/memremap.c | 10 +- mm/hmm.c | 2 - mm/memory_hotplug.c | 3 +- 7 files changed, 271 insertions(+), 14 deletions(-) -- 2.7.4