On Wed, Apr 16, 2008 at 03:32:22PM +0200, Kevin D. Kissell wrote: > arch/mips/kernel/setup.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c > index f8a535a..a6a0d62 100644 > --- a/arch/mips/kernel/setup.c > +++ b/arch/mips/kernel/setup.c > @@ -336,6 +336,10 @@ static void __init bootmem_init(void) > #endif > max_low_pfn = PFN_DOWN(HIGHMEM_START); > } > + /* > + * Propagate final value of max_low_pfn to max_pfn > + */ > + max_pfn = max_low_pfn; That will be incorrect for systems with highmem. So I think the right fix is to replace all references to max_pfn in vpe.c with max_low_pfn. It still won't play nicely with esotheric configurations such as discontig memory ... Ralf