linux/arch/powerpc/mm
Mel Gorman 6391af174a [PATCH] mm: use symbolic names instead of indices for zone initialisation
Arch-independent zone-sizing is using indices instead of symbolic names to
offset within an array related to zones (max_zone_pfns).  The unintended
impact is that ZONE_DMA and ZONE_NORMAL is initialised on powerpc instead
of ZONE_DMA and ZONE_HIGHMEM when CONFIG_HIGHMEM is set.  As a result, the
the machine fails to boot but will boot with CONFIG_HIGHMEM turned off.

The following patch properly initialises the max_zone_pfns[] array and uses
symbolic names instead of indices in each architecture using
arch-independent zone-sizing.  Two users have successfully booted their
powerpcs with it (one an ibook G4).  It has also been boot tested on x86,
x86_64, ppc64 and ia64.  Please merge for 2.6.19-rc2.

Credit to Benjamin Herrenschmidt for identifying the bug and rolling the
first fix.  Additional credit to Johannes Berg and Andreas Schwab for
reporting the problem and testing on powerpc.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-11 11:14:14 -07:00
..
4xx_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
44x_mmu.c [POWERPC] Fix powerpc 44x_mmu build 2006-08-25 13:41:41 +10:00
fault.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
fsl_booke_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_low_32.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_low_64.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_native_64.c [POWERPC] powerpc: Initialise ppc_md htab pointers earlier 2006-06-28 11:59:47 +10:00
hash_utils_64.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hugetlbpage.c [POWERPC] hugepage BUG fix 2006-08-24 10:07:23 +10:00
imalloc.c [PATCH] sem2mutex: misc static one-file mutexes 2006-03-26 08:56:55 -08:00
init_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
init_64.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
lmb.c [POWERPC] Fix mem= handling when the memory limit is > RMO size 2006-07-26 01:28:24 +10:00
Makefile
mem.c [PATCH] mm: use symbolic names instead of indices for zone initialisation 2006-10-11 11:14:14 -07:00
mmap.c
mmu_context_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmu_context_64.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmu_decl.h
numa.c [PATCH] mm: use symbolic names instead of indices for zone initialisation 2006-10-11 11:14:14 -07:00
pgtable_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pgtable_64.c [POWERPC] fix ioremap for a combined kernel 2006-09-25 13:36:31 +10:00
ppc_mmu_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
slb.c [POWERPC] Implement SLB shadow buffer 2006-08-08 17:08:56 +10:00
slb_low.S [POWERPC] implement BEGIN/END_FW_FTR_SECTION 2006-10-03 16:50:21 +10:00
stab.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tlb_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tlb_64.c [POWERPC] Fix a compiler warning in mm/tlb_64.c 2006-07-13 18:43:25 +10:00