diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-03-04 19:10:44 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-05 08:53:10 -0500 |
commit | dc16ecf7fd1fad7436832121435d4926a81d469e (patch) | |
tree | f33060fc5aec6105c624ad660711f87bc8c074c9 /arch/x86/mm/init_32.c | |
parent | a964e33c5d7c0ea46376d20c2f02edf01c9db251 (diff) |
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.c | 4 |
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; | |||
59 | 59 | ||
60 | static noinline int do_test_wp_bit(void); | 60 | static noinline int do_test_wp_bit(void); |
61 | 61 | ||
62 | bool __read_mostly __vmalloc_start_set = false; | ||
63 | |||
62 | static __init void *alloc_low_page(void) | 64 | static __init void *alloc_low_page(void) |
63 | { | 65 | { |
64 | unsigned long pfn = e820_table_end++; | 66 | unsigned long pfn = e820_table_end++; |
@@ -757,6 +759,8 @@ void __init initmem_init(unsigned long start_pfn, | |||
757 | #ifdef CONFIG_FLATMEM | 759 | #ifdef CONFIG_FLATMEM |
758 | max_mapnr = num_physpages; | 760 | max_mapnr = num_physpages; |
759 | #endif | 761 | #endif |
762 | __vmalloc_start_set = true; | ||
763 | |||
760 | printk(KERN_NOTICE "%ldMB LOWMEM available.\n", | 764 | printk(KERN_NOTICE "%ldMB LOWMEM available.\n", |
761 | pages_to_mb(max_low_pfn)); | 765 | pages_to_mb(max_low_pfn)); |
762 | 766 | ||