Re: 2.2.0pre1 OOPS on boot.

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 30 Dec 1998 20:54:20 +0000 (GMT)


> The above is essentially what we have now, but I added a "i486+" entry
> which is apparently what you were looking for. Ok?

That should cover all but the buggy tsc's - seperate patch anyway. Yep
sounds fine. I've also got the run time modified do_gettimeofday working
now.

It does the follwoing

do_gettimeofday() is the rdtsc code in full, inlining the asm core

do_slowgettimeoffset() is the slow one in full, inlining the asm core

During boot up if you have no tsc or if the tsc is know buggy the
following is executed

/*
* The extra jump has basically no measurable cost compared to all
* the I/O cycles we are about to do if its a slow timer
*/

static void have_no_tsc(void)

unsigned char *x=(unsigned char *)do_gettimeofday();
u32 data=(u32)do_slow_gettimeofday; /* Aim at */
data-=(u32)do_gettimeofday; /* We are here */
data-=2; /* End relative */

*x++=0xEB; /* JMP relative imm8 */
*x++=(u8)data; /* imm8 */
}

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