[OpenBIOS] milliseconds isn't unique.

BALATON Zoltan balaton at eik.bme.hu
Mon Jun 9 01:43:19 CEST 2014


On Sun, 8 Jun 2014, Mark Cave-Ayland wrote:
> On 08/06/14 13:02, BALATON Zoltan wrote:
>>>> The interrupt routine is probably do-able in about 20 lines or less of
>>>> PPC asm but it's beyond my current PPC-fu. It would be a good project
>>>> for you though, and would probably fix the incorrect timing CIF
>>>> milliseconds with -M mac99 :)
>>> 
>>> There is no reason at all to use the decrementer and interrupts, with
>>> all the problems inherent in that; just use the timebase, it's what
>>> it's for.  The decrementer and timebase tick at the same frequency.
>> 
>> That's what I thought and the current code already does that only using
>> the wrong TBFREQ value. This could be easily fixed the same way as is
>> done in arch/ppc/qemu/init.c:223:
>
> Part of the motivation for the previous timer changes was to ensure that we 
> only drop into C for the minimum time required for the architecture-specific 
> code.
>
> Currently that code was based on accessing a counter updated via interrupt, 
> and given that this is the way it works on all other architectures then it 
> makes more sense to do things this way. I appreciate that the accessing the 
> timebase register directly is the more PPC way to do this, however there are 
> other features such as alarms that aren't yet implemented in OpenBIOS which 
> would require Forth routines to be invoked under timer interrupt control, and 
> so if we're changing this I'd like to do it in a way that doesn't rule out 
> this option later.

I leave this to someone else. Apart from the message I see no negative 
effects so far so it's not a priority for me. (Nothing seems to use the 
milliseconds callback.)

Regards,
BALATON Zoltan



More information about the OpenBIOS mailing list