diff options
| author | Andy Whitcroft <apw@shadowen.org> | 2005-06-23 03:07:57 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:45:05 -0400 |
| commit | 05b79bdcb48c18cd9b580c39e3efb9a1ab078151 (patch) | |
| tree | 1767aaa7a4621ff4cf1a85c2078229de54272f30 /arch/i386/mm/init.c | |
| parent | d41dee369bff3b9dcb6328d4d822926c28cc2594 (diff) | |
[PATCH] sparsemem memory model for i386
Provide the architecture specific implementation for SPARSEMEM for i386 SMP
and NUMA systems.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Martin Bligh <mbligh@aracnet.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/mm/init.c')
| -rw-r--r-- | arch/i386/mm/init.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c index 666ca79fb50a..48ebfab77a3c 100644 --- a/arch/i386/mm/init.c +++ b/arch/i386/mm/init.c | |||
| @@ -276,7 +276,9 @@ void __init one_highpage_init(struct page *page, int pfn, int bad_ppro) | |||
| 276 | SetPageReserved(page); | 276 | SetPageReserved(page); |
| 277 | } | 277 | } |
| 278 | 278 | ||
| 279 | #ifndef CONFIG_DISCONTIGMEM | 279 | #ifdef CONFIG_NUMA |
| 280 | extern void set_highmem_pages_init(int); | ||
| 281 | #else | ||
| 280 | static void __init set_highmem_pages_init(int bad_ppro) | 282 | static void __init set_highmem_pages_init(int bad_ppro) |
| 281 | { | 283 | { |
| 282 | int pfn; | 284 | int pfn; |
| @@ -284,9 +286,7 @@ static void __init set_highmem_pages_init(int bad_ppro) | |||
| 284 | one_highpage_init(pfn_to_page(pfn), pfn, bad_ppro); | 286 | one_highpage_init(pfn_to_page(pfn), pfn, bad_ppro); |
| 285 | totalram_pages += totalhigh_pages; | 287 | totalram_pages += totalhigh_pages; |
| 286 | } | 288 | } |
| 287 | #else | 289 | #endif /* CONFIG_FLATMEM */ |
| 288 | extern void set_highmem_pages_init(int); | ||
| 289 | #endif /* !CONFIG_DISCONTIGMEM */ | ||
| 290 | 290 | ||
| 291 | #else | 291 | #else |
| 292 | #define kmap_init() do { } while (0) | 292 | #define kmap_init() do { } while (0) |
| @@ -297,10 +297,10 @@ extern void set_highmem_pages_init(int); | |||
| 297 | unsigned long long __PAGE_KERNEL = _PAGE_KERNEL; | 297 | unsigned long long __PAGE_KERNEL = _PAGE_KERNEL; |
| 298 | unsigned long long __PAGE_KERNEL_EXEC = _PAGE_KERNEL_EXEC; | 298 | unsigned long long __PAGE_KERNEL_EXEC = _PAGE_KERNEL_EXEC; |
| 299 | 299 | ||
| 300 | #ifndef CONFIG_DISCONTIGMEM | 300 | #ifdef CONFIG_NUMA |
| 301 | #define remap_numa_kva() do {} while (0) | ||
| 302 | #else | ||
| 303 | extern void __init remap_numa_kva(void); | 301 | extern void __init remap_numa_kva(void); |
| 302 | #else | ||
| 303 | #define remap_numa_kva() do {} while (0) | ||
| 304 | #endif | 304 | #endif |
| 305 | 305 | ||
| 306 | static void __init pagetable_init (void) | 306 | static void __init pagetable_init (void) |
| @@ -525,7 +525,7 @@ static void __init set_max_mapnr_init(void) | |||
| 525 | #else | 525 | #else |
| 526 | num_physpages = max_low_pfn; | 526 | num_physpages = max_low_pfn; |
| 527 | #endif | 527 | #endif |
| 528 | #ifndef CONFIG_DISCONTIGMEM | 528 | #ifdef CONFIG_FLATMEM |
| 529 | max_mapnr = num_physpages; | 529 | max_mapnr = num_physpages; |
| 530 | #endif | 530 | #endif |
| 531 | } | 531 | } |
| @@ -539,7 +539,7 @@ void __init mem_init(void) | |||
| 539 | int tmp; | 539 | int tmp; |
| 540 | int bad_ppro; | 540 | int bad_ppro; |
| 541 | 541 | ||
| 542 | #ifndef CONFIG_DISCONTIGMEM | 542 | #ifdef CONFIG_FLATMEM |
| 543 | if (!mem_map) | 543 | if (!mem_map) |
| 544 | BUG(); | 544 | BUG(); |
| 545 | #endif | 545 | #endif |
