summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-10-22 16:35:18 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2012-10-24 11:52:21 -0700
commit6ede1fd3cb404c0016de6ac529df46d561bd558b (patch)
treec5537b527a5a065fff2bd9b33d003561a0d87206 /include
parent94777fc51b3ad85ff9f705ddf7cdd0eb3bbad5a6 (diff)
downloadlinux-6ede1fd3cb404c0016de6ac529df46d561bd558b.tar.gz
linux-6ede1fd3cb404c0016de6ac529df46d561bd558b.tar.xz
x86, mm: Trim memory in memblock to be page aligned
We will not map partial pages, so need to make sure memblock allocation will not allocate those bytes out. Also we will use for_each_mem_pfn_range() to loop to map memory range to keep them consistent. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Link: http://lkml.kernel.org/r/CAE9FiQVZirvaBMFYRfXMmWEcHbKSicQEHz4VAwUv0xFCk51ZNw@mail.gmail.com Acked-by: Jacob Shin <jacob.shin@amd.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: <stable@vger.kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/memblock.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 569d67d4243e..d452ee191066 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -57,6 +57,7 @@ int memblock_add(phys_addr_t base, phys_addr_t size);
int memblock_remove(phys_addr_t base, phys_addr_t size);
int memblock_free(phys_addr_t base, phys_addr_t size);
int memblock_reserve(phys_addr_t base, phys_addr_t size);
+void memblock_trim_memory(phys_addr_t align);
#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
void __next_mem_pfn_range(int *idx, int nid, unsigned long *out_start_pfn,