Messages in this thread | | | From | Agust Karlsson <> | Subject | RE: Kernel reboot on loading (port 0xEF) | Date | Tue, 25 Jul 2000 16:18:49 +0200 |
| |
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/
| |