RE: Kernel reboot on loading (port 0xEF)

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Tue Jul 25 2000 - 10:06:45 EST


On Tue, 25 Jul 2000, Agust Karlsson wrote:
[SNIPPED...]

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

If A20 doesn't work, you are doing a jump to 0x0000:0000, instead
of a jump to 0x100000 during the boot. This will surely cause a reboot
after the code stumbles around, executing interrupt-table addresses
as code.

Just write 0xD1 out port 0x64. This tells the controller that you
have a control write for the next command. Put 0xffff into the
cx register and loop in place. For the time being, don't bother
to read the kerboard status. This wait a bit. Then write 0xDF out port
0x60. This should turn on A20 eventually. Put 0xffff into the cx register
and loop in place. This will give plenty of time to enable A20.

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