From 6296f8bbf15e991e9655ef435c61b560839d7e6d Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Sat, 10 Feb 2007 01:43:11 -0800 Subject: [PATCH] --- yaml --- r: 47411 b: refs/heads/master c: 09ae1f585e9def652cdb1d0484611d4f4dc2d5fd h: refs/heads/master i: 47409: 4da80bacf5322e8f2e155e3f32f7460b4f63c501 47407: a24f6894ce01c9f17a6ca13e2ebd1a92ce0918e2 v: v3 --- [refs] | 2 +- trunk/arch/ia64/Kconfig | 4 ++-- trunk/arch/ia64/mm/contig.c | 4 +++- trunk/arch/ia64/mm/discontig.c | 6 ++++++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index bedc2870879a..47b25888faad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4b51d66989218aad731a721b5b28c79bf5388c09 +refs/heads/master: 09ae1f585e9def652cdb1d0484611d4f4dc2d5fd diff --git a/trunk/arch/ia64/Kconfig b/trunk/arch/ia64/Kconfig index 549ead597934..db185f34e341 100644 --- a/trunk/arch/ia64/Kconfig +++ b/trunk/arch/ia64/Kconfig @@ -25,8 +25,8 @@ config 64BIT default y config ZONE_DMA - bool - default y + def_bool y + depends on !IA64_SGI_SN2 config MMU bool diff --git a/trunk/arch/ia64/mm/contig.c b/trunk/arch/ia64/mm/contig.c index 63e6d49c5813..ca4d41e5f177 100644 --- a/trunk/arch/ia64/mm/contig.c +++ b/trunk/arch/ia64/mm/contig.c @@ -259,9 +259,11 @@ paging_init (void) num_physpages = 0; efi_memmap_walk(count_pages, &num_physpages); - max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT; memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); +#ifdef CONFIG_ZONE_DMA + max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT; max_zone_pfns[ZONE_DMA] = max_dma; +#endif max_zone_pfns[ZONE_NORMAL] = max_low_pfn; #ifdef CONFIG_VIRTUAL_MEM_MAP diff --git a/trunk/arch/ia64/mm/discontig.c b/trunk/arch/ia64/mm/discontig.c index 6eae596c509d..16835108bb5b 100644 --- a/trunk/arch/ia64/mm/discontig.c +++ b/trunk/arch/ia64/mm/discontig.c @@ -37,7 +37,9 @@ struct early_node_data { unsigned long pernode_size; struct bootmem_data bootmem_data; unsigned long num_physpages; +#ifdef CONFIG_ZONE_DMA unsigned long num_dma_physpages; +#endif unsigned long min_pfn; unsigned long max_pfn; }; @@ -633,9 +635,11 @@ static __init int count_node_pages(unsigned long start, unsigned long len, int n unsigned long end = start + len; mem_data[node].num_physpages += len >> PAGE_SHIFT; +#ifdef CONFIG_ZONE_DMA if (start <= __pa(MAX_DMA_ADDRESS)) mem_data[node].num_dma_physpages += (min(end, __pa(MAX_DMA_ADDRESS)) - start) >>PAGE_SHIFT; +#endif start = GRANULEROUNDDOWN(start); start = ORDERROUNDDOWN(start); end = GRANULEROUNDUP(end); @@ -688,7 +692,9 @@ void __init paging_init(void) } memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); +#ifdef CONFIG_ZONE_DMA max_zone_pfns[ZONE_DMA] = max_dma; +#endif max_zone_pfns[ZONE_NORMAL] = max_pfn; free_area_init_nodes(max_zone_pfns);