Subject: CVS commit: syssrc/sys/arch/sgimips/sgimips
To: None <source-changes@netbsd.org>
From: Rafal Boni <rafal@netbsd.org>
List: source-changes
Date: 05/03/2002 04:13:56
Module Name:	syssrc
Committed By:	rafal
Date:		Fri May  3 01:13:56 UTC 2002

Modified Files:
	syssrc/sys/arch/sgimips/sgimips: clock.c ip22.c ip32.c machdep.c

Log Message:
Fix up clock interrupt accounting for the sgimips port -- make sure
to schedule clock interrupts at a fixed interval, rather scheduling
the next one based on the time of the arrival/servicing of the previous
clock interrupt.  Also, pick up a trick from the sbmips port to convert
a division in ip22_clkread to a multiplication, since those are much
cheaper -- the details of that are described in Simon's commit (see
Message-Id: <20020306073437.1D2A8B004@cvs.netbsd.org>).  Thanks to
Jason Thorpe and Dominic Sweetman's "See MIPS Run" (where I found
mention of this very subject while looking for something totally un-
related! 8-) for the clue about the source of the timekeeping problems.

For the IP32, where we have no clock-calibration code yet, use the CPU
frequency provided by ARCS instead; it beats a hard-coded value!

As an added bonus, most of the CPU-clock related stuff is now collected
together in cpu_info_store, rather than as a collection of unorganized
global variables.


To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 syssrc/sys/arch/sgimips/sgimips/clock.c
cvs rdiff -r1.10 -r1.11 syssrc/sys/arch/sgimips/sgimips/ip22.c
cvs rdiff -r1.8 -r1.9 syssrc/sys/arch/sgimips/sgimips/ip32.c
cvs rdiff -r1.35 -r1.36 syssrc/sys/arch/sgimips/sgimips/machdep.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.