Re: 2.4.2-ac6 hangs on boot w/AMD Elan SC520 dev board

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 28 Feb 2001 11:45:40 +0000 (GMT)


> memory map that hangs (added debugging to setup.S to determine E820 map):
> hand-copied physical RAM map:
> bios-e820: 000000000009f400 @ 0000000000000000 (usable)
> bios-e820: 0000000000000c00 @ 000000000009f400 (reserved)
> bios-e820: 0000000003f00000 @ 0000000000100000 (usable)
> bios-e820: 0000000003f00000 @ 0000000000100000 (usable)
> bios-e820: 0000000000100000 @ 00000000fff00000 (reserved)
> (at this point, it appears to be in an infinite printk loop <?>)
>
> I didn't spend much time looking into the printk loop, but it seems to
> end up there, even if CONFIG_DEBUG_BUGVERBOSE is not defined, as if the
> ".byte 0x0f,0x0b" is causing the loop to begin.
>
> Any ideas/suggestions/comments?

Having been over the code the problem is indeed the bios reporting overlapping
/duplicated ranges. That will cause a crash in mm/bootmem when we try and free
the range twice.

I suspect you need to add some code to take the E820 map and remove any
overlaps from it, favouring ROM over RAM if the types disagree (for safety),
and filter them before you register them with the bootmem in
arch/i386/kernel/setup.c

-
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/