RE: Kernel reboot on loading (port 0xEF)

From: Agust Karlsson (Gusti@pallas.dk)
Date: Tue Jul 25 2000 - 09:18:49 EST


Hi Dick and others on the list.

Well my SC400 does not have a floppy but only flash card and internal flash
disk.
I have dos (witch workes fine) on the internal disk and I boot with loadlin
from the flash card.
I can easely boot dos from the flash card as well.
I have compiled my kernel (2.2.5) as a 386 with math emulation and I use
no-387 on boot.
There is no PCI support, and as a matter of fact it is a small static
kernel.
I have put in some code in setup.S to check if A20 gate handler workes, but
it seems that nomatter witch metod I use (or all) it doesn't get turned on.
But either way it puzzels me why it reboots.

Cheers
Gusti

> On Tue, 25 Jul 2000, Agust Karlsson wrote:
>
> > Hi Dick.
> > Reading from port 0xEE yields 0xff and nothing seems to happen, but
> actually
> > it is an alternative method to propagate the A20 signal.
> > But if you read from port 0xEF (in the bios debugger) the Elan SC400
> > reboots.
> > That is why I'm wondering if the kernel reads that port somewhere, maybe
> as
> > a part of checking what ports are available ?
> >
>
> I am pretty sure it doesn't. There is no PCI on the SC400 so make sure
> you compile the kernel without PCI support. This will prevent any
> possible probes of PCI ports that may be aliased because of incomplete
> decodes. I can boot Linux-2.2.15 on my SC400 from a floppy. It, of course,
> fails to mount the root file system because there isn't any. However,
> to get up that far seems to show that it should go all the way.
>
> The math coprocessor uses 0xf0 to 0xff for reset/control. The SC400
> does not have a math coprocessor. This is why you need to pretend
> it's a '386 and enable math emulation. Somebody may have snuck in
> some FP math into your kernel version (it sometimes happens). If
> the traps in the kernel, with no handler, you have a double-fault
> which is fatal. FP math gets in when somebody does something like:
>
> int foo = (int) (3.141592654 * bar);
>
> .... where bar and 3.14... are constants so the programmer assumes that
> the compiler will do the math. Often it doesn't.
>
> Cheers,
> Dick Johnson
>
> Penguin : Linux version 2.2.15 on an i686 machine (797.90 BogoMips).
>
> "Memory is like gasoline. You use it up when you are running. Of
> course you get it all back when you reboot..."; Actual explanation
> obtained from the Micro$oft help desk.
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:19 EST