Comment 15 for bug 241307

Revision history for this message
Martin-Éric Racine (q-funk) wrote : Re: kernel oops during bootup in LTSP

(16.27.24) wwx: When you comment out some initialization parts in a20.c, then 2.6.23 boots.
(16.27.58) wwx: In later kernels, a20.c changed some more, so simply commenting out some lines won't help anymore.
(16.30.02) wwx: Look at the a20.c file, in function int enable_a20(void).

int enable_a20(void)
{
<------>int loops = A20_ENABLE_LOOPS;

#if defined(CONFIG_X86_ELAN)
<------>/* Elan croaks if we try to touch the KBC */
<------>enable_a20_fast();
<------>while (!a20_test_long())
<------><------>;
<------>return 0;
#elif defined(CONFIG_X86_VOYAGER)
<------>/* On Voyager, a20_test() is unsafe? */
<------>enable_a20_kbc();
<------>return 0;
#else
<------>while (loops--) {
<------><------>/* First, check to see if A20 is already enabled
<------><------> (legacy free, etc.) */
//<----><------>if (a20_test_short())
//<----><------><------>return 0;

<------><------>/* Next, try the BIOS (INT 0x15, AX=0x2401) */
<------><------>enable_a20_bios();
<------><------>if (a20_test_short())
<------><------><------>return 0;

<------><------>/* Try enabling A20 through the keyboard controller */
//<----><------>empty_8042();
//OK//<><------>if (a20_test_short())
//OK//<><------><------>return 0; /* BIOS worked, but with delayed reaction */

//<----><------>enable_a20_kbc();
//<----><------>if (a20_test_long())
//<----><------><------>return 0;
<------>}

<------>return -1;
#endif
}