[Freemint-list] Broken udelay() for m68000

Miro Kropáček miro.kropacek at gmail.com
Sun Oct 15 14:18:10 MSD 2017


>
> So there are 2 possibles scenarios:
>
> 1) Make udelay() a library call for 680x0, like ColdFire. But that will add
> extra delays, which may be unwanted. Assuming that the library function is
> *dynamically* routed to an internal kernel function, and not a static
> library implementation. I have some doubts on the last point.
>
> 2) Inside inline udelay(), replace #ifdef by runtime CPU tests. I'm unsure
> how to test that from kernel modules.
>
Well, the third would be to replace mdelay() calls with something like the
Tgettimeofday() calls (or equivalent) as most of them need 5+ ms accuracy
only.


> The current code can't be reliable if 68000 kernel modules are used on
> higher CPU.
>
I'm actually quite sceptical whether 030 vs 060 doesn't cause similar
discrepancies. A loop could be finished on 060 faster by a magnitude
against 030.

-- 
MiKRO / Mystic Bytes
http://mikro.atari.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.atariforge.org/pipermail/freemint-list/attachments/20171015/13136ad3/attachment.html 


More information about the Freemint-list mailing list