lkml.org 
[lkml]   [2003]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
Subject2.5.64bk5: X86_PC + HIGHMEM boot failure
	Under linux-2.5.64bk5, CONFIG_X86_PC sets CONFIG_NUMA,
which sets CONFIG_DISCONTIGMEM. This causes the version of
set_max_mapnr_init in arch/i386/mm/discontig.c to be compiled
in (instead of the one from arch/i386/mm/init.c):

void __init set_max_mapnr_init(void)
{
#ifdef CONFIG_HIGHMEM
highmem_start_page = NODE_DATA(0)->node_zones[ZONE_HIGHMEM].zone_mem_ma\p;
printk ("AJR discontig.c: highmem_start_page set to %p.\n", highmem_sta\rt_page);
num_physpages = highend_pfn;
#else
num_physpages = max_low_pfn;
#endif
}


The discontig.c version sets highmem_start_page to NULL
on my 768MB computer that is compiled with CONFIG_HIGHMEM4G, which
a kernel BUG() as soon as something that needs a lowmem page does
a sanity check. (In my case, it happens to occur at
arch/i386/mm/pageattr.c line 99 during some kind ACPI initialization,
although I don't think that is particularly imporantant.)

I am not sure what is the "right" fix for this problem,
because I don't understand if
NODE_DATA(0)->node_zones[ZONE_HIGHMEM].zone_mem_map should ever
be NULL (for example, in my case, when running a highmem kernel
on a computer with no highmem pages).

Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.066 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site