summaryrefslogtreecommitdiffstats
path: root/sys/pc98/cbus/pcrtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pc98/cbus/pcrtc.c')
-rw-r--r--sys/pc98/cbus/pcrtc.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/sys/pc98/cbus/pcrtc.c b/sys/pc98/cbus/pcrtc.c
index 557afe8..8e2dc97 100644
--- a/sys/pc98/cbus/pcrtc.c
+++ b/sys/pc98/cbus/pcrtc.c
@@ -140,6 +140,8 @@ static void setup_8254_mixed_mode(void);
int adjkerntz; /* local offset from GMT in seconds */
int clkintr_pending;
int disable_rtc_set; /* disable resettodr() if != 0 */
+int pscnt = 1;
+int psdiv = 1;
int statclock_disable;
#ifndef TIMER_FREQ
#ifdef PC98
@@ -441,7 +443,13 @@ static void
rtcintr(struct clockframe frame)
{
while (rtcin(RTC_INTR) & RTCIR_PERIOD) {
- statclock(&frame);
+ if (profprocs != 0) {
+ if (--pscnt == 0)
+ pscnt = psdiv;
+ profclock(&frame);
+ }
+ if (pscnt == psdiv)
+ statclock(&frame);
#ifdef SMP
forward_statclock();
#endif
@@ -1518,7 +1526,7 @@ setup_8254_mixed_mode()
#endif
void
-setstatclockrate(int newhz)
+cpu_startprofclock(void)
{
#ifndef PC98
if (newhz == RTC_PROFRATE)
@@ -1529,6 +1537,11 @@ setstatclockrate(int newhz)
#endif
}
+void
+cpu_stopprofclock(void)
+{
+}
+
static int
sysctl_machdep_i8254_freq(SYSCTL_HANDLER_ARGS)
{
OpenPOWER on IntegriCloud