summaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_32.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-03-05 01:10:44 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-05 14:53:10 +0100
commitdc16ecf7fd1fad7436832121435d4926a81d469e (patch)
treef33060fc5aec6105c624ad660711f87bc8c074c9 /arch/x86/mm/init_32.c
parentx86: clean up old gcc warnings (diff)
downloadlinux-dc16ecf7fd1fad7436832121435d4926a81d469e.tar.xz
linux-dc16ecf7fd1fad7436832121435d4926a81d469e.zip
x86-32: use specific __vmalloc_start_set flag in __virt_addr_valid
Rather than relying on the ever-unreliable system_state, add a specific __vmalloc_start_set flag to indicate whether the vmalloc area has meaningful boundaries yet, and use that in x86-32's __phys_addr and __virt_addr_valid. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/init_32.c')
-rw-r--r--arch/x86/mm/init_32.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 5e5126e0d544..d57dfffb0213 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -59,6 +59,8 @@ unsigned long highstart_pfn, highend_pfn;
static noinline int do_test_wp_bit(void);
+bool __read_mostly __vmalloc_start_set = false;
+
static __init void *alloc_low_page(void)
{
unsigned long pfn = e820_table_end++;
@@ -757,6 +759,8 @@ void __init initmem_init(unsigned long start_pfn,
#ifdef CONFIG_FLATMEM
max_mapnr = num_physpages;
#endif
+ __vmalloc_start_set = true;
+
printk(KERN_NOTICE "%ldMB LOWMEM available.\n",
pages_to_mb(max_low_pfn));