|
@@ -674,10 +674,10 @@ void __init zone_sizes_init(void)
|
|
|
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
|
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
|
|
|
|
|
|
|
#ifdef CONFIG_ZONE_DMA
|
|
#ifdef CONFIG_ZONE_DMA
|
|
|
- max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN;
|
|
|
|
|
|
|
+ max_zone_pfns[ZONE_DMA] = min(MAX_DMA_PFN, max_low_pfn);
|
|
|
#endif
|
|
#endif
|
|
|
#ifdef CONFIG_ZONE_DMA32
|
|
#ifdef CONFIG_ZONE_DMA32
|
|
|
- max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
|
|
|
|
|
|
|
+ max_zone_pfns[ZONE_DMA32] = min(MAX_DMA32_PFN, max_low_pfn);
|
|
|
#endif
|
|
#endif
|
|
|
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
|
|
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
|
|
|
#ifdef CONFIG_HIGHMEM
|
|
#ifdef CONFIG_HIGHMEM
|