svn commit: r274739 - head/sys/mips/conf

Dag-Erling Smørgrav des at des.no
Tue Nov 25 08:52:52 UTC 2014


Mark R V Murray <mark at grondar.org> writes:
> How two consecutive calls to get_cyclecount() can repeatedly return
> such massive numbers is an indication that something has gone badly
> wrong.

No, wait.  I looked at the code.  The most likely explanation is that it
is falling through to this:

        binuptime(&bt);
        return ((uint64_t)bt.sec << 56 | bt.frac >> 8);

so the top 8 bits are seconds (meaning that get_cyclecount wraps around
every 256 seconds) and the bottom 64 are the base 2 fractional part.  At
first glance, Ian's number seem to be identical from one run to the
next, but they're not - there seems to be a small amount of variation.
But I'm still very suspicious of at91_st0, which is constant, and
nexus0, at91_aic0 and at91_pmc0, which are constant *and* identical.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-arch mailing list