Date: Wed, 1 Nov 1995 10:00:29 +0200 (SAT) From: John Hay <jhay@mikom.csir.co.za> To: wollman@lcs.mit.edu (Garrett A. Wollman) Cc: current@FreeBSD.org Subject: Re: Time problems Message-ID: <199511010800.KAA18894@zibbi.mikom.csir.co.za> In-Reply-To: <9510311747.AA29686@halloran-eldar.lcs.mit.edu> from "Garrett A. Wollman" at Oct 31, 95 12:47:55 pm
next in thread | previous in thread | raw e-mail | index | archive | help
OK, I changed the values in calibrate_cyclecounter() like suggested and now my time stay much closer to reality. My CPU even probe as a 90MHz processor! > CPU: 90-MHz Pentium 735\\90 (Pentium-class CPU) > Origin = "GenuineIntel" Id = 0x525 Stepping=5 > Features=0x3bf<FPU,VME,PSE,MCE,CX8,APIC> Can we get some kernel config option to do this or will I have to change clock.c after every ctm? Or will this get to be the default? John -- John Hay -- John.Hay@csir.co.za > In talking to David Greenman about this problem, we found that one of > his machines which exhibits this problem suffers from (1). Other > people have suggested (2) for their motherboards. (David's > motherboard took about 12 seconds to perform a ten-second delay.) > > Here's one thing which you might try: > > In this function (in i386/isa/clock.c): > > ------------------------------------ > calibrate_cyclecounter(void) > { > /* > * Don't need volatile; should always use unsigned if 2's > * complement arithmetic is desired. > */ > unsigned long long count; > > __asm __volatile(".byte 0x0f, 0x30" : : "A"(0LL), "c" (0x10)); > DELAY(1000000); > __asm __volatile(".byte 0xf,0x31" : "=A" (count)); > /* > * XX lose if the clock rate is not nearly a multiple of 1000000. > */ > pentium_mhz = (count + 500000) / 1000000; > } > ------------------------------------ > > Change the occurrences of `1000000' to `10000' and `500000' to > `5000'. This will reduce the calibration time, which makes it more > likely that the error in your clock will be small enough to get > rounded off. If that doesn't work, then just #ifdef out the body of > the function, which will cause the 8254-alike to act as the reference > for timekeeping. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511010800.KAA18894>