Hi, Recently We are testing stable kernel 3.10 on an ARM board. It failed to boot if we enabled CONFIG_SPARSEMEM config. Through the analysis, we found that mem_init() assumes the pages of different sections are continuous. But the truth is the pages of different sections are not continuous when CONFIG_SPARSEMEM is enabled. So now we have two ways to boot up when we enabled CONFIG_SPARSEMEM on an arm board. 1. In mem_init() and show_mem() compare pfn instead of page just like the patch in attachement. 2. Enable CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER when enabled CONFIG_SPARSEMEM. QUESTION: I want to know why CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER depends on x86_64 ? Whether we can enable it on an ARM board ? Or any other better solution ? Best regards!