2.5.54 works, but since the bug in 2.5.55/.56 is dependent on
kernel size, and since I couldn't find anything in patch-2.5.55
to explain the change in behaviour, I suspected that the bug has
been around a bit longer: I just didn't manage to trigger it.
mem=nopentium made no difference for the other machine: it still
managed to boot the same kernel the 486 failed to boot.
However, with the patch to one_page_table_init() that Brian Gerst
posted earlier today (included below), my 486 boots 2.5.56 Ok.
/Mikael
diff -urN linux-2.5.56/arch/i386/mm/init.c linux/arch/i386/mm/init.c
--- linux-2.5.56/arch/i386/mm/init.c Sun Jan 12 00:16:22 2003
+++ linux/arch/i386/mm/init.c Sun Jan 12 01:48:28 2003
@@ -71,12 +71,16 @@
*/
static pte_t * __init one_page_table_init(pmd_t *pmd)
{
- pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
- set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE));
- if (page_table != pte_offset_kernel(pmd, 0))
- BUG();
+ if (pmd_none(*pmd)) {
+ pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
+ set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE));
+ if (page_table != pte_offset_kernel(pmd, 0))
+ BUG();
- return page_table;
+ return page_table;
+ }
+
+ return pte_offset_kernel(pmd, 0);
}
/*
-
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/