summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/aim
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r--sys/powerpc/aim/clock.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/powerpc/aim/clock.c b/sys/powerpc/aim/clock.c
index 438d862..8d738ec 100644
--- a/sys/powerpc/aim/clock.c
+++ b/sys/powerpc/aim/clock.c
@@ -82,6 +82,16 @@ static u_long ticks_per_sec = 12500000;
static long ticks_per_intr;
static volatile u_long lasttb;
+static int sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS);
+
+int wall_cmos_clock; /* wall CMOS clock assumed if != 0 */
+SYSCTL_INT(_machdep, CPU_WALLCLOCK, wall_cmos_clock,
+ CTLFLAG_RW, &wall_cmos_clock, 0, "");
+
+int adjkerntz; /* local offset from GMT in seconds */
+SYSCTL_PROC(_machdep, CPU_ADJKERNTZ, adjkerntz, CTLTYPE_INT|CTLFLAG_RW,
+ &adjkerntz, 0, sysctl_machdep_adjkerntz, "I", "");
+
#define SECDAY 86400
#define DIFF19041970 2082844800
@@ -97,6 +107,17 @@ static struct timecounter decr_timecounter = {
"decrementer" /* name */
};
+static int
+sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS)
+{
+ int error;
+
+ error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req);
+ if (!error && req->newptr)
+ resettodr();
+ return (error);
+}
+
void
inittodr(time_t base)
{
OpenPOWER on IntegriCloud