diff options
author | grehan <grehan@FreeBSD.org> | 2005-02-04 01:41:38 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2005-02-04 01:41:38 +0000 |
commit | 2ba5735817a8eab58bbf763ea3d2810b87db236f (patch) | |
tree | ecb40905a634f7ef146434d4583f7616a78d3add /sys/powerpc | |
parent | 9b25a73faa1c8950f6a1eb6fbbc4578ff38a64aa (diff) | |
download | FreeBSD-src-2ba5735817a8eab58bbf763ea3d2810b87db236f.zip FreeBSD-src-2ba5735817a8eab58bbf763ea3d2810b87db236f.tar.gz |
- add wall_cmos_clock and adjkerntz variables, required by msdosfs
- support adjkerntz sysctl to silence NTP, though it's a null
implementation at the moment.
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/clock.c | 21 | ||||
-rw-r--r-- | sys/powerpc/powerpc/clock.c | 21 |
2 files changed, 42 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) { diff --git a/sys/powerpc/powerpc/clock.c b/sys/powerpc/powerpc/clock.c index 438d862..8d738ec 100644 --- a/sys/powerpc/powerpc/clock.c +++ b/sys/powerpc/powerpc/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) { |