Port-amigappc archive

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

Re: amigappc test kernel for CSPPC and BPPC

Radoslaw Kujawa wrote:

> [..mftb..]
> I didn't understand is why upper part of timebase is read twice, then
> compared, then everything is looped if it's different. I googled for
> some other implementations, and everybody is doing it that way. [...]
> I dug out really outdated (dated 1997) "PowerPC Microprocessor Family:
> The Programming Environments For 32-Bit Microprocessors". Section
> "2.2.1 Reading the Time Base" states that: "Because of the possibility
> of a carry from TBL to TBU occurring between reads of the TBL and TBU
> (...) comparison and loop are necessary to ensure that a consistent
> pair of values has been obtained".

Exactly. :)

> Why is this information absent from newer documents (rhetorical
> question)? Maybe it was needed only on older CPUs, maybe IBM already
> forgot about 32-bit CPUs.

Maybe because it should be clear that you cannot safely read hardware time
counter registers with multiple read operations?

It would be the same with the Amiga CIA timers, which have a low and a

> Yes, after all, problem was with my tree. Checking out everything again
> and then merging by hand fixed it, now kernel boots fine. 


Frank Wille

Home | Main Index | Thread Index | Old Index