Booting big kernels on IBM ThinkPad 770X

Christian Lademann (cal@zls.de)
Wed, 2 Dec 1998 17:42:28 +0100


There is this problem with booting big kernel images on IBM ThinkPads:
the ThinkPad boot-cycles before "Uncompressing linux ...".
There are already two solutions for this problem:

o Create a zImage instead of a bzImage
o Boot from DOS with LOADLIN

I think, I've found a third one:
According to the Technical Reference Manual there is a special
control port that, among other things, controls the ability of setting
the A20-gate in real mode, which is initially disabled. It is bit 1 of
the System Control Port A (0x92).

I inserted a call to the following routine in setup.S just before setting A20
and now my bzImage boots!

!
! enables a20-handling on ThinkPads while in real mode
!
ThinkPad_SCP_A:
in al,#0x92 ! read "System Control Port A"
or al,#0x02 ! Set "Alternate Gate A20" - Bit
out #0x92,al ! write "System Control Port A"
ret

Now, I'm not an assembler programmer at all. Maybe someone could take a closer
look into that.

Christian Lademann. <cal@zls.de>

PS. Please forward answers to the list to me as well.

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