Commit 0b70068e authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Paolo Bonzini

mm: export symbol dependencies of is_zero_pfn()

In order to make the static inline function is_zero_pfn() callable by
modules, export its symbol dependencies 'zero_pfn' and (for s390 and
mips) 'zero_page_mask'.

We need this for KVM, as CONFIG_KVM is a tristate for all supported
architectures except ARM and arm64, and testing a pfn whether it refers
to the zero page is required to correctly distinguish the zero page
from other special RAM ranges that may also have the PG_reserved bit
set, but need to be treated as MMIO memory.
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 02a68d05
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
*/ */
unsigned long empty_zero_page, zero_page_mask; unsigned long empty_zero_page, zero_page_mask;
EXPORT_SYMBOL_GPL(empty_zero_page); EXPORT_SYMBOL_GPL(empty_zero_page);
EXPORT_SYMBOL(zero_page_mask);
/* /*
* Not static inline because used by IP27 special magic initialization code * Not static inline because used by IP27 special magic initialization code
......
...@@ -43,6 +43,7 @@ pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__((__aligned__(PAGE_SIZE))); ...@@ -43,6 +43,7 @@ pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__((__aligned__(PAGE_SIZE)));
unsigned long empty_zero_page, zero_page_mask; unsigned long empty_zero_page, zero_page_mask;
EXPORT_SYMBOL(empty_zero_page); EXPORT_SYMBOL(empty_zero_page);
EXPORT_SYMBOL(zero_page_mask);
static void __init setup_zero_pages(void) static void __init setup_zero_pages(void)
{ {
......
...@@ -118,6 +118,8 @@ __setup("norandmaps", disable_randmaps); ...@@ -118,6 +118,8 @@ __setup("norandmaps", disable_randmaps);
unsigned long zero_pfn __read_mostly; unsigned long zero_pfn __read_mostly;
unsigned long highest_memmap_pfn __read_mostly; unsigned long highest_memmap_pfn __read_mostly;
EXPORT_SYMBOL(zero_pfn);
/* /*
* CONFIG_MMU architectures set up ZERO_PAGE in their paging_init() * CONFIG_MMU architectures set up ZERO_PAGE in their paging_init()
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment