Re: 2.5.55/.56 instant reboot problem on 486

Linus Torvalds (torvalds@transmeta.com)
Sat, 11 Jan 2003 20:17:19 -0800 (PST)


On Sun, 12 Jan 2003, Mikael Pettersson wrote:
>
> My '94 vintage 486 has problems booting 2.5.55 and 2.5.56.

Should I take it that 2.5.54 works? Or you haven't tested?

> After doing a binary search with "for(;;);" statements
> (printk doesn't work this early) I found that the reboot
> occurs in arch/i386/mm/init.c:kernel_physical_mapping_init():
> (start_kernel() -> setup_arch() -> paging_init() ->
> pagetable_init() -> kernel_physical_mapping_init())

Ho humm.. Sounds like the non-PSE case is broken. Which should probably
mean that even newer CPU's should show the same thing if we boot with
"mem=nopentium". Can you verify that with your other machine that
otherwise boots the same kernel fine?

> The problem is apparently related to the size of the kernel.
> With gcc-2.95.3 and my normal config for this machine,
> size vmlinux is
>
> text data bss dec hex filename
> 1330953 109008 125656 1565617 17e3b1 vmlinux
>
> and the kernel reboots. If I alter the size by changing some
> irrelevant config option (like disabling INPUT_MOUSEDEV or
> enabling KALLSYMS), the reboot problem doesn't occur.

That's bizarre. Especially the fact that a _smaller_ kernel has problems,
but a biger one does not.
>
> With gcc-3.2 the bug disappears, but only because gcc-3.2
> generates a much larger code segment. If I remove some
> driver & fs config options, the vmlinux size becomes almost
> the same as above, and the reboot bug appears again.
>
> The same kernel that fails on the 486 boots Ok on my newer
> test boxes, so the problem is either 486-specific, related
> to the actual memory size, or the BIOS memory size reporting
> method (the 486 uses int 15 0x88); here's what 2.5.54 says:
>
> BIOS-provided physical RAM map:
> BIOS-88: 0000000000000000 - 000000000009f000 (usable)
> BIOS-88: 0000000000100000 - 0000000001c00000 (usable)

That looks like a perfectly fine memory map, even if 28MB or memory sounds
a bit strange.

Linus

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