Re: Anybody got 2.4.0 running on a 386 ?

Petr Vandrovec
2001-01-10T16:18:02Z

On 10 Jan 01 at 17:00, Robert Kaiser wrote:
> > not really. Could you write a small function that just reads the kernel
> > image from the first symbol to the last one, and see whether it crashes?
> > (read it into a volatile variable to make sure GCC reads it.)
>
> I tried this: Reading the entire image never caused any crashes.
>
> However, I did have some (rare) instances of the kernel booting
> successfully. Then it would fail again, booting the very same image
> that had worked before.
>
> I am beginning to suspect that I may be dealing with flaky hardware.
> (I'm working from home today and I only have access to one of my 386
> specimen here).
>
> I guess I'll better shut up until I can double check on
> some other 386 boards tomorrow....

Could you try to remove 'inb $0x92,%al','orb $02,%al','outb %al,$0x92'
from arch/i386/boot/setup.S ? Maybe it causes something to your A20.
For example A20 through KBC and bit 1 of port 0x92 are wired together
with XOR, and port 0x92 acts immediately, while KBC acts with delay.
So test for a20 succeeds, as KBC did not turned its A20 yet, but then
after KBC gets done its job, it dies... (eventually overwritting kernel
itself; do you use zImage or bzImage? with bzImage at odd megabyte it should
die almost immediately)

But it is pure speculation. Value of %ax after a20_wait loop finishes
could be interesting too - is it zero (no loop), one (0ffff:210 contained
0), or something higher (we had to wait for KBC)?

You can also try loading with loadlin from DOS with XMS manager,
instead of through LILO, as if you'll load DOS=HIGH, it will enable A20
for you. And temporary remove whole A20 game from boot.S.
Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz