Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: timekeeping problems on -current ?



On Sun, 13 Feb 2011 16:16:46 +0100
Rados?aw Kujawa <radoslaw.kujawa%c0ff33.net@localhost> wrote:

> I don't remember seeing this problem on my A3000 with 060.

True. Maybe somebody wants to remove the 060 board from his A3000 and
test with the onboard 68030/25? This should be comparable.

I don't feel like that at the moment... :)


> diff 1019 us, new divisor 333/1024 us
> 
> If the equation delaydivisor = (1024 * 8) / CPUMHz is right, then value
> around 330 seems to be fine for a 25MHz 68030...

Yes.


> But then, why doesn't
> in-kernel delay() work reliably? I've looked at locore.s and it does need
> only properly set delaydivisor.

And the delaydivisor is correct. So it should work. Perhaps there is
something special with the ACA630.


> Userland functions like sleep(), nanosleep(), gettimeofday() seem to work
> fine (though, I don't know how are these implemented, maybe that doesn't
> matter).

AFAIK they use the CIA-based timecounter, while delay() is running a
busy-loop with the CPU using the delaydivisor.

Maybe the CPU gets faster after calculating the delaydivisor? ;)
You could try to recalculate the delaydivisor at a later point during
configure, and see if it is still the same.

I cannot explain it. You have the hardware to debug.

-- 
Frank Wille


Home | Main Index | Thread Index | Old Index