On Sat, Dec 10, 2022 at 03:14:37PM +0100, Mark Kettenis wrote: > > Date: Fri, 9 Dec 2022 16:27:59 -0600 > > From: Scott Cheloha <scottchel...@gmail.com> > > > > The UltraSPARC IIe's %TICK register has a variable frequency. See > > section 2.3 in this document here: > > > > https://web.archive.org/web/20221028065731/https://www.oracle.com/technetwork/server-storage/sun-sparc-enterprise/documentation/ultrasparc-iie-2516664.pdf > > > > Timecounters need to have a constant frequency, so we should not > > install tick_timecounter if the implementation is an UltraSPARC IIe > > ("Hummingbird"). > > > > As far as I know this issue is unique to the IIe. I can't find any > > reference to a varying %TICK frequency in the documentation for the > > IIi or the UltraSPARC III. > > > > miod@ confirmed that the problem is real. > > > > ok? > > I don't think so. > > IIRC, UltraSPARC IIi and UltraSPARC IIIi also have a potentially > varying %tick frequency.
Where would this be written down? And how do we know that later revisions have a fixed %tick frequency? > Those chips implement %sys_tick though and > since we give the associated timecounter a higher quality, it wins. Gotcha. > With your diff UltraSPARC IIe will end up without a timecounter. That > would bad isn't it? We have a stick_timecounter in dev/psycho.c that uses stick(). Is that sufficient?